Containers make the development and deployment of software in the cloud agile and efficient. Using “Container as a Service” – or CaaS for short – companies can simplify the management of infrastructure and shorten their reaction time.
Text: Urs Binder, Andreas Heer Image: Unsplash, first published on October 22, 2018,
Time to market, agility, digitalisation: business develops rapidly and often in unexpected directions. The needs of the market – in other words, customers – and new business models have to be quickly conceived and implemented. This requires an organisation that is agile generally, but more specifically it necessitates IT that reacts directly to business needs. There is no time for testing software from third-party providers in projects lasting several months and for adapting IT infrastructure accordingly with a great deal of effort. The same applies to applications developed in-house.
For this reason, many companies have already moved some of their applications to the cloud. But it is cloud-native applications that bring the maximum benefit with respect to scalability and flexibility. They are often web-based and feature a modular setup by means of a microservice architecture. Container clusters serve as an operating environment; adaptation and development are carried out based on DevOps/DevSecOps approaches. Automated CI/CD (Continuous Integration and Deployment) processes accelerate adaptations and hence the company’s ability to react. And all while maintaining the quality of applications and security requirements. To the huge satisfaction of business.
But what is characteristic of container technology? From a technical perspective, containers are situated between IaaS (Infrastructure as a Service) and PaaS (Platform as a Service). They offer a higher degree of abstraction and stronger standardisation than IaaS, while simultaneously offering greater flexibility in operations. Furthermore, in comparison to the highly standardised PaaS approach, containers overcome limitations such as database-specific interfaces. This ensures greater freedom in software development because the choice of libraries and components is not restricted.
For this purpose, the entire application, including all necessary components, is encapsulated in a so-called container. No external dependencies exist; the application runs autonomously within the container. As a result of this, applications can be moved across different systems. This increases flexibility in resource consumption and availability in the event of hardware failures.
Orchestration solutions such as Kubernetes automate the provision and management of the container clusters and applications and enable the CI/CD processes mentioned at the start.
This makes business happy. And IT? To an extent it is confronted with the drawback of container architectures: the management of perhaps hundreds of containers, distributed across different clusters. And the corresponding monitoring and management not only of the containers but also of the underlying systems. What makes business happy causes a headache for IT managers as a result of the increased complexity. As does the search for the required expertise for operating the extremely new container infrastructure.
Luckily however the service concept has remained part of the cloud evolution. As is the case with virtualisation and PaaS, companies can task providers with the operation of container platforms. In this Container-as-a-Service approach (CaaS), the company only has to take care of managing containers, while the operation of the underlying infrastructure is the responsibility of the CaaS provider. The latter is responsible for general resource management and takes on those “commodity” tasks that a company cannot use for distinction purposes on the market anyway. The company handles resources such as Kubernetes clusters and workers conveniently via a web portal or optionally via standardised APIs.
This enables companies to focus on the benefits of container technology: in-house developers and software providers deliver new applications and updates very quickly as containers. Companies can achieve a better time to market for their solutions and can react to customer needs quickly. Furthermore, they save on costs, as the productivity of developers increases and IT expenditure on system management lessens. CaaS also makes the switch from on-premises or “classic” cloud environments easier. Companies can focus on the design and operation of the application landscape without busying themselves with the costly operation of the infrastructure.
The complex topics of security and availability are also included in the service. The provider guarantees these, with the precise scope of measures specified in an SLA. Companies benefit from the expertise of the provider, without having to build up in-depth know-how of their own in these areas.
As a result, container services make everyone happy: business because it can quickly roll out new functions and updates in applications thanks to modern infrastructure and agile, automated operating models like DevOps/DevSecOps – according to the needs of the market. IT because it doesn’t have to take care of operating the basic cloud infrastructure.
Swisscom provides corporate customers with flexible orchestration services for containerised applications and offers personalised advice for the planning and efficient use of containers.
More on the topic