What Are Containers Used For
Containers have been around since the early 2000s and architected into Linux in 2007. Due to containers' pocket-sized footprint and portability, the same hardware can support an exponentially larger number of containers than virtual machines, dramatically reducing infrastructure costs and enabling more apps to deploy faster. Simply due to usability issues, containers didn't garner enough interest until Docker came into picture around 2013.
- Linux containers contain applications in isolated style to keep them isolated from the host system they run on.
- Containers allow a developer to package up an awarding with all of the artifacts it needs, such as libraries and other dependencies, and transport it all out as ane package.
- Containers provide a consistent feel, equally developers and arrangement administrators move code from development environments into production in a fast and replicable style.
- Containers don't need to replicate an unabridged operating system, only the individual components they need to operate. This gives a significant operation boost and reduces the size of the application. They also operate much faster, every bit unlike traditional virtualization the process is essentially running natively on its host.
- Containers have also sparked an involvement in microservice architecture, a design pattern for developing applications in which circuitous applications are cleaved downward into smaller, composable services that piece of work together. Each component is developed separately and the application is then simply the sum of its constituent components. Each service can live inside of a container and can exist scaled independently of the rest of the application, as the need arises.
- A flake near Docker platform: Information technology'south a tool/utility designed to make it easier to create, deploy and run applications by using containers. It is designed to benefit both developers and system administrators, making information technology a role of many DevOps toolchains. For developers, information technology means that they can focus on writing lawmaking without worrying about the system it volition be running on. Containers allow developers to package up an awarding with all of the artifacts information technology needs, such every bit libraries and other dependencies, and ship information technology all out as 1 package. Developers tin can residuum assured that the application volition run on any other Linux motorcar regardless of whatever customized settings that machine might take that could differ from the machine used for writing and testing the code. For operations staff, Docker gives flexibility and potentially reduces the number of systems needed because of its small footprint and lower overhead.
- Docker is different from standard virtualization; it is operating system-level virtualization. Unlike hypervisor virtualization, in which virtual machines run on physical hardware via an intermediation layer (hypervisor), containers instead run user space on top of an operating organization'due south kernel. That makes them very lightweight and fast.
- Benefits of containers:
- Isolating applications and operating systems through containers.
- Providing nearly native performance as container manages resource allotment of resources in real-time.
- Controlling network interfaces and applying resource inside containers.
- Limitations of containers:
- All containers are running inside the host system'south kernel and not with a different kernel.
- Merely allows Linux "invitee" operating systems.
- A container is not a full virtualization stack like Xen, KVM or libvirt.
- Security depends on the host system; hence, containers are not secure.
- Risks of containers:
- Container breakout: If any container breaks out, information technology can allow unauthorized access beyond containers, hosts or data centers etc., thus affecting all the containers hosted on the host Bone.
- There could DDoS and cross-site scripting attacks on public-facing containers hosted applications.
- A container being forced to use up system resources in an attempt to slow or crash other containers.
- If any of the compromised containers attempt to download additional malware, or scan internal systems for weaknesses or sensitive data, this tin affect all the hosted containers, using unsecure applications to flood the network and affect other container.
Now we know what containers are and why nosotros need them. Deploying many containers does crave sophisticated management, though. Luckily, there is a solution that simplifies this: Kubernetes. In my next post, I'll discuss what Kubernetes has to offer.
What Are Containers Used For,
Source: https://containerjournal.com/topics/container-ecosystems/what-are-containers-and-why-do-we-need-them/
Posted by: johnsoncrivair.blogspot.com
0 Response to "What Are Containers Used For"
Post a Comment