Home Insights Application Infrastructure Containerisation

Application Infrastructure Containerisation

Blog 11/12/2020

The rate of technological change is accelerating but IT budgets are not keeping up with the escalating pace of application and technology demands. Organisations are now compelled to move even faster, while stretching existing IT resources further. Kunle Fadeyi, Enterprise Architect at GBST, gives a guide to application containerisation.

The use of containers has exploded in popularity because application developers, wider IT teams and even business leaders have realised what major cloud providers like Amazon, Microsoft and Google have understood for a while: containers can significantly improve infrastructure and application efficiency, agility, and reliability.

What is a container?

A container is a set of configurations that allow lightweight portioning of an operating system into individual segments. Containerisation is the process of packaging an application with its required libraries, frameworks, and configuration files so that it can be run in various computing environments efficiently. By using container technology, organisations can run software on a variety of systems, including a developer’s laptop, all the way to a production system.

You may have heard of virtual machines, which have similar goals to containers in that they isolate an application and its dependencies into a self-contained unit that can run anywhere. Virtual machines were the first stage of making existing infrastructure more agile by removing the need for physical hardware and allowing for more efficient and cost effectiveness use of computing resources. Containers are the next phase in infrastructure agility. They do not need a full copy of the operating system, are smaller, use fewer resources, and are easier to automate than virtual machines, offering greater speed, agility, and portability.

Containers are lighter, faster, and more efficient as they do not need the full operating system as Virtual Machines do.

Microservices, containers and container management

Microservices architecture enables the breakup of large applications like Composer into a suite of independent services with each one handling a specific business function. These services use a simple, well-defined interface to communicate with each other.

Microservices and containers are a match made in tech heaven. They are used together to deliver smaller, single-function modules, which work collectively to create more scalable applications.

As the number of containers grow within your environment, the potential for friction and management overhead increases. Container management tools like Kubernetes lets you automate the deployment, management and scaling of your containers. These tools let you run one or more instances of any container based on your specific demand.

Here is an analogy to show how container, microservice and container management relate to each other:

A house contains multiple rooms with different functions – kitchen where we prepare meals, entertainment room for entertainments, bathroom etc. These rooms are like containers and the house is analogous to a container management system. The house provides electricity and plumbing which our fully functional kitchen connects to. Meal is an example of a microservice which is prepared in the kitchen container.

What are the key benefits of containers?

  • More efficient infrastructure usage: Containers share a single host OS with one kernel and system libraries running per system, which reduces memory and other overheads on computer resources and enables more workloads per physical server.
  • Faster configuration and deployment: There is no need to build the app and then go through the added task of configuring it for multiple platforms or types of hardware, so containers can be used to get around differences in operating systems, software versions, infrastructure, security protocols, and storage.
  • Agile response to business change: Lower resource overhead enables new container instances to be deployed in seconds and developers can explore and prototype new ideas rapidly, in response to business needs.

Are there challenges associated?

  • Security considerations: Container templates packaged by third-party or untrusted sources can introduce vulnerabilities into the application. At GBST, we are managing this risk by incorporating scanning tools and administrative controls to assure security in our development process.
  • Change management: The agile potential of containerisation creates a fast-evolving technology eco-system and the need to managing continuous changes.
  • Conflict with existing organisational culture: Adoption of containerisation may require teams to adapt to different ways of working.

The GBST journey

Our strategic investment in microservices allows us to use containers and container orchestration technologies to enable GBST’s modern application architecture.

Containers have been used in our Catalyst digital platform since its first rollout to the market in 2018. We have also introduced container technology into Composer back office from version 17.0 as part of the E-VOLVE technology transformation programme.

  • GBST uses Docker, an open-source software platform which offers a simplified way of building, testing, securing, and deploying applications within containers. It enables the packaging of an application and its dependencies into a container, thereby, helping ease the development, deployment and increases output by removing the need to replicate the local environment on each machine on which the solution is supposed to be tested.
  • We use Kubernetes to deploy, scale and manage containers.
  • Logs generated from our microservices are consolidated and managed using Elastic, Fluentd & Kibana (EFK stack). Correlation ids captured in the logs can be used to monitor transactions. This feature can be leveraged by application performance monitoring (APM) tools like Metric Beat or New Relic to see trends and proactively identify issues within the application and the cluster.

Adoption of containerisation has been crucial to our DevOps culture at GBST, as it allows our development team to build, test, and deploy pipelines and bridge the gap between infrastructure and operating system distributions.

 

Key points

  1. Containerisation reduces server costs by doing more with less infrastructure
  2. Containers allow companies to build once, then deploy to multiple cloud platforms or on-premises hardware
  3. GBST is using containers to develop microservices in Composer and other applications

 

Talk to our team today to get more information on our experience as you begin to make containers and container management tools part of your ecosystem.

 

Posted in: Wealth Management Administration

© GBST 2024. All rights reserved.
Website design Digital by GBST