What are software containers, and why should we use them?

Coliance’s Alex Konusa recently took some time to answer questions about software containers and why they are gaining popularity within the IT sector, specifically in Supply Chain. Traditionally, Supply Chains have operated in non-containerized environments where operations, middleware and development teams have each had the responsibility for different parts of what gets deployed into production. Many of us wonder, if we are finally at a point where we can look at a converged software supply chain without the pain of standardizing one tool. We are curious how containers can help us achieve this. Alex believes that we have arrived at this point. He reminds us that Containers have been around for a while in the development world, despite being treated as “the new kid on the block” in Supply Chains.

We asked Alex to help us understand everything our clients need to know about introducing containers into their Supply Chain Management and how this is beneficial to them.

What are software containers?

Containers were developed as a solution to simplify many tasks and needs. The idea behind them is to bring together tasks that a developer might need, in a lightweight “contained” bundle” that is fully functioning. They can facilitate a lot of tasks, such as:

  • moving software from one environment to another,
  • isolating the application with more ease.

What is the main advantage of having a software container?

One obvious advantage is that the differences in Operating Systems and their related heavyweight infrastructure are no longer a problem. These containers speed up development and this means that the developments can be easily tested and deployed to production. An additional and large benefit, is the ability to load, balance, and scale the environments within seconds.

Are there many software container deployment methods available?

There are many container deployment methods available. There are options available in Cloud, such as AWS, Google, Microsoft, as well as local environments like docker to help with development. Which one you use depends on suitability for your software and company needs. Using them is one thing but making sure they are all working and in the right place is the job of “Orchestration” software like IBM Cloud Kubernetes Service and OpenShift, but this is beyond the scope of this discussion today.

How are Containers different to virtualisation?

High-level Containers and virtual machines (VMs) can be very easily confused with each other, but they are really very different. Think of it like this: The key differentiator between containers and virtual machines is that virtual machines virtualise an entire machine down to the hardware layers. Containers only virtualise software layers above the operating system level. So, containers are much smaller in size than virtual machines. In many cases this can save a lot of capacity, power, and money which in a world where we are trying to prove our sustainability credentials is a very important consideration.

Virtual machines have a much longer lifespan and are best used for tasks that require long periods of runtime. Containers, on the other hand, have lower longevity with their short start up time, testing, and deployment, and are better suited to smaller, discreet tasks, like those mentioned above. The ability to have many of them, means they are potentially great for load balancing during busy periods.

How is Coliance utilizing software containers at present?

Here at Coliance, I have been recently tasked to use containers to install IBM B2Bi, to develop, test and troubleshoot. I used Docker as a learning tool. In theory, containerisation allows us to create instances of B2Bi within a few seconds, eliminating the need to set up new instances of B2Bi on our development Virtual Machines which can be time consuming. The advantages thus far include being able to simply delete the container and create a new one from an already existing image if a critical error occurs.

What troubleshooting issues have you encountered?

The downside has been that I had to put a lot more thought into networking issues. It was interesting to see all the errors that the team were getting in this area. We found exposing ports to the console ’interesting’ and at times struggled to get items like the Map test tool and Process Modeller to work because of these complexities. But at Coliance we excel at troubleshooting and finding solutions. We all enjoyed the experience and found that many of these problems go away when you move to OpenShift but that is a more detailed discussion for another day.

If you are reading up about software containers and are excited about exploring the technology in more detail, then subscribe to our newsletter and join us as we discover and understand the value that containers can provide to your developers, architects, and operations team and boost your supply chain management process.

 

Alex Konusa
First year apprentice at Coliance

Related Articles

E-Invoicing

E-Invoicing – a new global standard E-Invoicing has rapidly become...

Read More

Let's get started

Book a consultation