Containers: Pros, Cons and How to Mitigate Risk

According to the RightScale “2019 State of the Cloud” report, hybrid cloud strategies continue to grow. While this comes as no surprise given its many benefits, hybrid cloud models do come with challenges. Containers offer solutions to overcome concerns such as application portability confinements, but how do you know if containers are a good fit for your cloud environment? An examination of the pros and cons, as well as best practices for implementing containers, can help you decide whether to use them in your hybrid cloud environment.

The Pros

One of the main benefits of containers is security. With containers, only limited binaries are exposed to the internet. With less exposed and another layer between the hardware and software, the level of security is increased. However, the server is still running the containers so be aware that it is exposed to the internet—the container holds only what is necessary to run the application, and this is isolated from the server operating system.

Another positive aspect of containers is scalability. Microservice architecture is ideal for containers, as taking larger, monolithic applications and breaking them down into smaller services allows you to scale and distribute individual features. Consider online retail as an example: When creating the digital store, image hosting is container one, ZIP code validation is container two, order processing is container three, email confirmation is container four and coupon validation is container five. All of these can replicate themselves to provide more throughput as needed and be distributed across several servers/virtual machines/providers.

Containers are also flexible, consistent and portable. They can run on any architecture, which helps development teams significantly by enabling them to run the same container during development, quality assurance and production. They’re also highly manageable, allowing developers to focus on a feature rather than an entire application, reducing the burden and driving progress.

The Cons

On the other hand, containers are not perfect. There is a significant amount of setup work the organization will need to manage to develop a container strategy that works efficiently within a hybrid environment. Also, currently, there is insufficient application support and dependency. There are some technologies emerging to address this issue, but no complete solution is yet available.

Often, developers don’t know the impact their changes will have across the environment, and this can lead to sprawl.

Best Practices

Containers might be right for you if you have applications that need to scale elastically, such as web service delivery, event-driven video streaming, online order fulfillment or insurance claims. If you decide the benefits outweigh the risk and you choose to implement a container strategy, here are some recommendations to enhance your success.

First, containerize your applications selectively. Choose smaller applications or break down larger ones for the best results. Make sure your applications need a minimal subset of dependencies. Breaking down applications into smaller components will help to ensure scalability and success.

Also, be sure to start simple. Some container service orchestration can be complex and advanced. If you are just starting out, walk before you run—moving to the cloud with a simpler container solution that requires less coding will pave the way for more advanced results in the future. Creating an instance should take only a few minutes.

Finally, stay informed. New iterations of containers are released with increasing frequency. If you’ve already deployed containers, be sure to follow the release notes to stay current.

In Conclusion

Containers are not ideal for all applications or situations. But for organizations that need applications that scale on-demand or for those that want to be operating system-agnostic, containers can add a lot of value. With the right strategy and architecture in place, adding containers in a hybrid cloud environment can enable teams to easily run their applications safe in the knowledge that they can scale at any time. Knowing the pros and cons can help your organization decide whether containers are a good fit.

Larry Ludlow

Larry Ludlow is a senior cloud engineer at Otava and has spent 20 years working with Linux and Unix systems.

Larry Ludlow has 1 posts and counting. See all posts by Larry Ludlow