Transforming IT
cancel
Showing results for 
Search instead for 
Did you mean: 

The Irresistible Allure of Containers: 4 Big Benefits

Gary_Harris

 

If you were to put me on the spot and ask me which technology trend will have the biggest impact on IT shops – and especially on application development teams – over the next couple of years, I’d point to containers. Just as its older brother virtualization did a decade or so ago, containerization is transforming the way IT operates, bringing new efficiencies across the department and accelerating the movement towards DevOps.

HPE20160726035_800_0_72_srgb.jpgWhile IT leaders are well aware of the technical advantages you can gain from these lighter, more efficient alternatives to VMs, getting started with the technology can be challenging, especially when it comes to framing the business benefits and articulating them for company leadership. So here’s my down-and-dirty, 2-minute guide to what containers can do for your organization. As I see it, there are four big benefits:

1. Improve CapEx and OpEx.

Containers’ ability to pack more applications onto each server means that you can reduce overall equipment spend. You’re driving up your core capabilities and utilizing them better; those CPU's are burning hard, so you’re maximizing the value of your investment in infrastructure.

The opportunities for OpEx savings are easy to spot as soon as you think about questions like: What’s the ongoing cost of managing your apps? How many people does it take to manage a typical cluster? Containers’ updated release planning combined with high app density means that each member of your ops team now has a greater span of control over production application deployments. Maintenance, security, and networking requirements scale downwards, so with increased density you can effectively reduce your ops-to-server-node ratio, lowering the number of servers that each ops team member is accountable for.

2. Increase development teams’ productivity.

Containers provide an isolated runtime environment for applications (or microservices) by isolating applications and leveraging common libraries and OS kernel. These containerized apps are easily portable from the developers’ desktops through the testing environments and on to production, which helps reduce errors introduced between environments. So platforms treat containers essentially as objects that need to be cared for and managed; they don't need to know what's inside those objects, nor do they care. What that means is that applications, and the processes involved in creating them, can become much more standardized. Developers can build their artifacts faster, working perhaps asynchronously with their peers, and deliver them to quality assurance teams and production delivery teams as a single, complete package.

Containers enable continuous integration and help expedite your DevOps adoption. You can develop a piece of software in a modular fashion, with each developer building a small part of the whole. Or you can develop the whole, and unplug components as needed – for example for testing – and replug them without having to rebuild the entire system. That improves cycle time because you're only changing and recompiling the container (or technically the layer within the container) that you need to work on. In the old days, if you made a code change the build team might take three to five hours to rebuild the model. With containers, you can make the change and put it back into the environment very rapidly. You can iterate faster.

Finally, containers enable portability. Many containerized applications can be migrated between clouds with far greater ease than bare metal or virtualized apps.

3. Improving application/services performance.

In addition to removing the need for hypervisors, containers open up opportunities to leverage the kernel space of the newer operating systems and updated libraries. And without the need to support the entire guest image, you can save on memory and potentially drive up CPU utilization. We have seen clients achieve a 10x increase in performance by moving apps to containers.

4. Reducing software defects.

 A generally accepted rule of software development is that the more code you touch in any change, the greater the risk of collateral damage. But, as I mentioned, the modularity of containers enables you to limit the scope of changes in software that’s under development. Containers mitigate the risk of unintended consequences, so it becomes easier to apply more tests, more often. Which means you can improve the overall quality of your apps. In addition, it’s easier to understand specific types of functionality when they’re containerized, so the domain expertise needed for app development in those areas becomes more focused.

With proper security precautions, containers can help you improve your security posture by limiting the actual attack surfaces through better defined interfaces and isolation. There's less opportunity for bad actors to traverse these systems, as opposed to traditional architectures.

Which apps are the best choices for containers?

Deciding where to focus your initial containerization efforts calls for some careful thought. Nearly all apps would benefit from containerization in some way, but the amount of re-architecting or refactoring involved may be prohibitive.

There's a segment of workloads that you can move into containers with little or moderate effort. Web applications and services like NGINX and Apache Tomcat are good examples; the e-commerce area is full of opportunities to containerize. Vast numbers of enterprise applications have been written utilizing Java/Spring Maven over the past decade. Those apps, as well as middleware such as WebSphere, WebLogic, and JBoss, are easily ported to containers. The formats that you might want to target are Windows.net apps; the Linux LAMP stack – Linux, Apache, MySQL, and Python/PHP – and Spring/Java frameworks.

In other words – start today. Get your teams up to speed with containerization. Take advantage of some of the benefits and drive towards optimized microservices, agile development and DevOps.

Containers are still a relatively new technology, and one that’s in the process of maturing. HPE Pointnext can help you navigate the risks and achieve the best outcomes. We can take you from initial planning, to a tryout, to transforming your app supply chain, and into production.

See you in Copenhagen!DockerconEU2017.png

Planning on attending DockerCon EU 2017? Visit the HPE Pointnext Booth to hear more about the benefits of containers and to learn about HPE’s participation in the revolutionary Docker Modernize Traditional Applications (MTA) program. See the MTA program announcement at the last DockerCon for more details.

0 Kudos
About the Author

Gary_Harris

HPE Hybrid IT Global Container Center of Excellence

Events
Read for dates
HPE at 2019 Technology Events
Learn about the technology events where Hewlett Packard Enterprise will have a presence in 2019.
Read more
Read for dates
HPE Webinars - 2019
Find out about this year's live broadcasts and on-demand webinars.
Read more
View all