The benefit of containers

Customers often ask these questions when it comes to containers:

  • Why do we need containers when we have instances?
  • Don't instances already provide us with a level of isolation from the underlying hardware?

While the preceding questions are valid, several benefits accrue from using a system such as Docker. One of the key benefits of Docker is that it allows you to fully utilize your virtual machine resources by hosting multiple applications (on distinct ports) in the same instance.

Docker uses certain features of the Linux kernel, namely kernel namespaces and groups, to achieve complete isolation between each Docker process, as indicated in the following architecture diagram:

Container layer in application infrastructure

As shown in the preceding diagram, it's possible to run two or more applications that require different versions of the Java runtime on the same machine, as each Docker container has its version of Java and the associated libraries installed. In turn, the container layer in the application infrastructure makes it easier to decompose your applications into microservices that can run side by side on the same instance. Containers have the following benefits:

  • Portable runtime application environment: Containers provide platform-independent capabilities, where you build your application once and deploy it anywhere regardless of the underlying operating system.
  • Faster development and deployment cyclesModify the application and run it anywhere with quick boot time, typically within seconds. 
  • Package dependencies and application in a single artifact: Package the code, library, and dependencies together to run the application in any operating system.
  • Run different application versions: Applications with different dependencies run simultaneously in a single server.
  • Everything can be automated: Container management and deployment is done through scripting, which helps to save cost and human error.
  • Better resource utilization: Containers provides efficient scaling and high availability with multiple copies of the same microservice container can be deployed across servers for your application.
  • Easy to manage the security aspect: Containers are platform-specific rather than application-specific.

Container deployment is becoming very popular due to its benefits. There are multiple ways to orchestrate containers. Let's look at container deployment in more detail next.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.219.208.117