The challenge of
deploying microservices
Microservices are common these days, either for Telco or IT workload, and the biggest example is the 5G SA platform and its new service-based architecture (SBA). In this respect, operators are now looking for a platform that allows them to deploy and manage multiple kubernetes clusters and workloads in a centralized way, including tools that allow them to add monitoring, observability, traceability, databases, CI/CD pipelines easily and without overloading the activities of software developers and maintenance teams. This is where PaaS plays a significant role by offering a set of tools that add value to the deployment and management of Kubernetes clusters.
What problems does a Paas platform help to solve?
Today, the deployment of containerized applications or network functions is supported by multiple tools, for example:
• Load balancer: so that all incoming traffic is distributed within the cloud, ensuring high availability.
• Image and chart repository: it is important to have a private repository within our cloud-native environment, and in that way we avoid hosting our images and charts on the internet.
• Persistent storage: either taking advantage of the internal disks of the servers or SDS-type external solutions.
• API Management: to easily expose the APIs of an application.
• Message Brokers: to manage communication between different modules of a solution based on microservices.
• Identity and access control: to ensure who enters the applications and who has the necessary access permits.
• Service Mesh: to add a layer of observability, traffic security, and policies.
• CI/CD: it allows to create pipelines so that the software release process is continuous and automated.
If there was only one Kubernetes cluster, the application vendor or network function should be in charge of installing and maintaining these tools. With a PaaS platform, a set of tools that centralize their installation and maintenance is given, providing greater autonomy and efficiency.
Key principles in the implementation of a PaaS solution for containerized applications
We believe in the following principles in any implementation of a PaaS solution:
Open technologies: As the main enabler for cost-effective implementation, with the adequate level of maturity, vendor-independent, and future-proof.
- On-premise deployment: To get the desired functionality and user proximity to your applications, as well as optimal performance.
- Horizontal model: Implementing Kubernetes clusters that are independent of the application vendors, as the only model that transfers control to the operator, ensuring maximum application/function vendor compatibility, without losing knowledge and control.
Transition to containers
The new technologies are making us migrate from virtual machine-based environments to container-based environments in order to take advantage of their benefits, which include: scalability, portability, flexibility, security, among others.
This is why large companies are beginning to develop their applications in PaaS-based environments, which allow them to obtain the same benefits of the public cloud, but using a safe infrastructure, at a lower cost, under full control of the company and without exposure to the Internet.
Even in the Telco+IT’s converged world, a single and unified PaaS platform is a suitable model for implementing typical programming workloads as well as intensive Telco applications, as demanded by today´s the new 5G Core network capabilities.
What features should a PaaS solution have for containerized applications?
A PaaS solution should offer features that allow the application deployment as easy as possible, this includes:
Multi-cluster: Centralized deployment and management of multiple Kubernetes clusters that make the operational load is minimized and the application deployment process is maximized.
Centralized monitoring and analytics: the creation and customization of dashboards for metrics, traces, logs, alarms and event analytics for both infrastructure and applications.
Access and identity management: basic functionality that allows integrating and managing users and/or interoperate with the organization’s own access and control systems (for example, Active Directory).
Data storage as a service: if our applications need a database, either relational, non-relational or in memory, it must be deployed as part of the infrastructure, removing that operational load from the vendors application.
Service Mesh: in a microservices-based environment, having observability and traceability of data flow is important for proper operation and release of new versions.
GitOps: it has dedicated clusters where you can develop, test, create images and upload them to the repository and then update the deployments.
Message Brokers: this is important in order to be able to establish communication between different elements within a microservices architecture, ensuring that it can scale safely without losing messages.
API Management: it manages the API design, publication and documentation process in a secure environment.
Repositories: both for container images and for deployment templates in containerized environments (helmcharts).
Whitecruiser is Whitestack’s highly scalable, multi-cluster PaaS platform for containerized applications. It offers a marketplace where you can find all the tools you need to easily deploy applications in a secure environment.