Sunday, 20th September 2020

What Will the Future Hold for Containers?

Over recent years, we have seen an increase in the popularity of a container-based approach among developers. Containers have become integral to simplifying the development cycle, which has resulted in more widespread adoption. There are also a number of benefits to using containers. For instance, Forrester found that 66% of organisations who adopted containers experienced accelerated developer efficiency, while 75% of companies achieved a moderate to significant increase in application deployment speed. By Jon Payne, Developer Engineer at InterSystems.

Yet, while containers do offer an effective way to recompile code and test in a lightweight and rapid manner, the container landscape could be transforming. So, what exactly do containers offer developers, and what role will they play in the future?


Why containers?

It has really been the emergence of cloud-based providers, such as Amazon Web Services, that has led the idea of using containers to deploy code for live production applications to become widely accepted as the preferred way to do things. This has largely been driven by stiffer competition, as companies have needed to become more agile in their software development; gone are the days of long production cycles. Instead, they have begun a develop-on-the-fly approach, DevOps, that allows for much shorter innovation cycles.

One of the major benefits of using containers is that they make it easier to implement an agile approach to building, testing and deploying software. This is due to a container-based approach isolating runtime components, allowing developers to drop in a new version of the code and immediately test it and see if it is correct, therefore simplifying the development cycle. This is unlike the previous method of installing the code to be tested onto virtual machines or native OS, which was more time-consuming and required installing software. Ultimately, containers offer a more agile and responsive framework and mean that developers don’t have to go through a long build and deployment cycle which was often the case previously when the

Limitations of containers

As the adoption of containers has increased, many of the disadvantages of using them have largely been or are in the process of being overcome. For instance, running Docker on Windows isn’t a comfortable fit, but this is something we know Microsoft is working hard to overcome, and soon should no longer be an issue.

In fact, the more common problem facing the use of containers is the number of people in the market who don’t understand what a container is and what the benefits are of the encapsulation of code and the runtime environment which allow it to operate. These people tend to be stuck in a native operating system mindset and have yet to grasp the capabilities and potential of containers. In these cases, a paradigm shift still needs to occur; however, we are seeing the market begin to get over this stumbling block.

Whether you use containers ultimately comes down to underlying architecture and the non-functional requirements you need to meet with your deployment. For example, if a developer wants massive horizontal scaling by spinning up on-demand resources within a major cloud environment then deploying via containers makes sense. Yet, if the user is running an enterprise application on dedicated hardware in a highly controlled environment, and it’s mission critical to have a sub-second response time, containers may not be the best option. Rather, the system is always going to be more predictable, performant and stable when running natively on an operating system, on well-managed dedicated hardware, instead of going through an additional virtualisation layer.

What’s next?

The adoption of containers is only set to grow, with Forrester reporting that the number of containerised applications used within organisations will increase by 80% in the next two years. We will also container use increase as people buy software as a service and providers behind the scenes deploying containers in order to roll out an upgrade within seconds and with minimal disruption to service. Containers lend themselves to high availability scenarios for applications, making applications highly scalable and it possible to spin up more when demand increases then scale back as needed.

As it stands, there are no immediately apparent successors set to replace the use of containers. However, in an increasingly cloud-heavy environment, there seems to be a trend for cloud-native applications that are composed of discrete functional units that are capable of being run independently, behaving like micro-containers and supported by the Cloud environment. This would see more features move out of containers and into the underlying platform, with the resultant tie in to a specific flavour of Cloud. That said, with such a strong case for the use of containers, it is likely containers will long be the preferred approach for developers, allowing them to deploy software quickly and efficiently and in a manner that reduces the tie-in to specific Cloud vendors.

Today’s DevOps professionals have a lot to monitor and react to in order to keep IT systems running...
Jon Shanks, CEO and co-Founder of cloud native platform for empowering developers and Ops teams Appv...
For developers and the IT industry, the introduction of DevOps has had a profound effect, changing m...
Keeping your software delivery in peak condition. By Jeff Keyes at Plutora.
As freshly minted engineers in the early 2000s, many were eager to learn about everything in the sof...
Where does open source software stand today? That is a question that many are asking, with opinions...
Too often, discussions around the challenges of DevOps boil down to collaboration and culture change...
The culture of app development is changing rapidly. In today’s technology world, defined by the spee...