Flexibility and a shorter time-to-market with container technology

Date
2 February 2022

Today, structural IT decisions often require substantial investments, but they are also more important than ever when it comes to achieving your business objectives. The right vendor choice is not only important in terms of set-up and implementation, it is also essential to remain future-proof. Scalability and flexibility are necessary for the continuity of your business and structural IT decisions you make are the basis of this. There are two modern ways to achieve this: with serverless and with container technology. Serverless requires less infrastructure and networking knowledge, whereas container technology is less vendor-dependent. In this blog, we will explain how container technology can offer a solution.

2 containers

The concept: ‘container technology’

Container technology has grown considerably in recent years and has gained in popularity. But what are containers and what can they be used for? A container is a package with a fixed format containing the application, plus technical components (libraries, utilities and configuration files) which can function independently from other components.

‘Build it once, run it anywhere’

Thanks to the uniform set-up of containers, and the adoption of their standard by all cloud and tech providers - you can compare it with uniform containers on a cargo ship - it is possible that an application can work on every platform and operating system. In short, 'build it once, run it anywhere'.

Container tools and platforms

Container technology is open-source and is embraced by today's tech giants of the world, such as Amazon, Microsoft, Google and Red Hat. These companies develop the technology and make it available on various platforms. The most famous container tool is 'Docker', which handles the packaging of applications in containers. Docker containers then run on platforms such as Kubernetes, managed Kubernetes from AWS (EKS) and Azure (AKS), AWS Container Service (ECS), Azure Container Instances (ACI) or Google Kubernetes Engine (GKE).

“Today container technology is embraced by the world’s tech giants”

These platforms govern the starting, stopping, automatic recovery, configuring, managing and controlling resources for, among other things, storage. With platforms like Kubernetes you set up desired dependencies, scale and relations. You also determine how and which containers should respond to different user requests, because sometimes you need several containers in conjunction and one after the other.

An example is controlling login, loading user profiles and data storage. Let's put it this way: if Docker containers are the individual musicians, then Kubernetes is the orchestra's conductor.

Speed, flexibility and scalability

The use of containers is worth considering in many business cases. After all, from start to finish, you require sufficient technological speed, flexibility and scalability. Because an idea can go into production faster thanks to this technology, you can create value for the end user more quickly.

“With container technology you create value for the end user more quickly”

For example, at iO we apply container technology to a company that works with multiple multidisciplinary teams on one application (flexibility) and which offers online services across national borders (scalability). In this specific case not only in Europe, but also in Asia. You can ‘pick up’ your container in the cloud in Asia and ‘drop it off’ again in Europe, where the application then runs closer to the end user.

Docker is independent of the underlying public cloud (AWS, Azure, Google). This means that you can easily change to another cloud per region, per use case or in terms of cost structure. Your only restriction is the location of your cloud provider. Kubernetes is a standard across multiple clouds, whereas ECS and ACI are cloud-specific.

Anyway, thanks to container technology, you can easily expand to other territories where applications can run multi-cloud at the same time.

How about a bigger digital presence?

Gone are the days when a website was enough for a proper, digital presence. Our experts happily assist in bringing about a digital ecosystem - optimized and on-brand - fit to serve your business goals.

Laptop shopping data overview

Technical and operational advantages

Container technology is a powerful means to achieve benefits in various areas. The combination of Docker and Kubernetes specifically, provides both technical and business related benefits.

1. Cloud- and infra agnostic

With container technology, an application works on every platform and independently of the operating system, also when different cloud providers are used.

2. Portability

Containerised applications can be released much faster: multiple (zero downtime) deployments can take place in one day. This saves a lot of time and costs when delivering software.

3. A/B testing and canary releases

With the deployment of Kubernetes, you no longer manage services yourself. That simplifies the process of running multiple versions of the same application at the same time, which in its turn, allows you to conduct better A / B testing and to roll out canary releases more easily.

4. Agility

You can iterate containerised applications faster. After all, you already know the code works in all environments. As a result, developers spend less time fixing bugs and can spend more time developing and delivering valuable user functionalities.

5. Scalability

Although the aforementioned advantages are connected with scalability, in the context of container technology however, scalability also has another meaning. With Kubernetes you can easily respond to performance and business metrics of applications and online services, such as the amount of traffic, requests and CPU, number of requests and interactions. For instance Kubernetes automatically detects when it has to scale up server space during that one important Christmas campaign - and scales it down again when the peak is over.

It is also worth mentioning that with container technology, there may be fewer misunderstandings between the hosting and development teams. The development team takes care of the container and this means that the hosting team only has to focus on scalability and hosting. This is possible because of the uniform set-up, making it less complex and less directly dependent on the underlying hardware/service infrastructure.

However, it is important to keep a close eye on security, as vulnerabilities may not be monitored as closely. This is because the hosting team cannot look ‘inside’ and check the containers as easily. The development team must therefore be absolutely certain that what they have developed is safe and secure.

Is container technology suitable for every business?

Perhaps you are now wondering why your company doesn’t already use container technology. We think it is important to emphasise that getting started with container technology is not a matter of a 'quick win'. It concerns a structural policy decision, which should not be taken lightly.

Real profit goes hand in hand with a cultural shift in the IT field. For example, you need a completely different security infrastructure than with traditional deployments.

Hosting Docker containers, specifically in combination with Kubernetes, requires knowledge from both developers and the management organisation. If you do opt for Kubernetes, it is best to also make use of managed variants of AWS and Azure, like EKS and AKS.

It may also be appropriate to choose cloud-specific, but simpler platforms such as ECS, ACI and GKE. In any case, it is important to carefully examine which container technology best fits the needs of your organisation.

Friso Geerlings
About the author

Friso Geerlings

Technology Director

At iO, Friso spends his day taking on only the most complex tech challenges for various high-profile (financial services) clients. All while getting the most out of iO’s tech teams and building connections between developers, users and systems. He regularly publishes articles of his own to further strengthen these bonds.

Related articles