The previous blog post introduced SSPs, and this post explores how these can be implemented on cloud platforms by leveraging containers.
CNCF on Shared Services Platforms (SSP)
The Cloud Native Computing Foundation (CNCF) has published an excellent (and must-read) white paper for Operators on SSPs –
https://tag-app-delivery.cncf.io/whitepapers/platforms/?s=03
The desire to refocus delivery teams on their core focus and reduce duplication of effort across the organization has motivated enterprises to implement platforms for cloud-native computing. By investing in platforms, enterprises can:
- Reduce the cognitive load on product teams and thereby accelerate product development and delivery
- Improve reliability and resiliency of products relying on platform capabilities by dedicating experts to configure and manage them
- Accelerate product development and delivery by reusing and sharing platform tools and knowledge across many teams in an enterprise
- Reduce the risk of security, regulatory and functional issues in products and services by governing platform capabilities and the users, tools, and processes surrounding them
- Enable cost-effective and productive use of services from public clouds and other managed offerings by enabling delegation of implementations to those providers while maintaining control over user experience
Containerization enables Shared Services Platforms
Containerization and Kubernetes (K8s) have already revolutionized the way businesses approach software development and deployment. They are key drivers for the creation of cloud-shared service platforms for several reasons, especially in the context of the above paragraph.
- Efficiency and Scalability: Containers are lightweight and encapsulate all the dependencies needed to run a particular application. This makes it easy to consistently deploy applications across various computing environments. Kubernetes, on the other hand, helps manage these containers at scale. If an organization needs to scale up its services, Kubernetes makes it easier to manage and scale these containers across a cluster of servers.
- Cost-Effective: Containers are isolated but share the host system’s OS, which leads to less overhead than traditional virtual machines. Moreover, because of the scalability features of Kubernetes, resources can be efficiently utilized, leading to cost savings.
- Portability: Since containers encapsulate all the dependencies, they can be moved across different cloud environments (public, private, hybrid) or even across different cloud service providers. This avoids vendor lock-in, which is a significant concern for many businesses.
- Microservices: Kubernetes and containers are fundamental technologies for implementing microservices. Microservices architecture is a design approach to building a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms. This approach can enhance an organization’s ability to design, implement, and scale services independently.
- Continuous Integration/Continuous Deployment (CI/CD): Containers are integral for implementing CI/CD pipelines, allowing automated code testing and deployment. Kubernetes provides features like rolling updates and automatic rollbacks to support these operations.
- Fault Isolation: Even if one of the containers fails, it does not affect the other containers. This allows for better fault isolation and high availability, and Kubernetes can even reschedule the failed containers.
- Community and Ecosystem Support: Kubernetes, originally developed by Google, is now maintained by the Cloud Native Computing Foundation. It enjoys broad support from a vibrant open-source community and has robust ecosystem support, with many third-party tools and integrations available.
Conclusion
Containerization and Kubernetes are driving the industry toward the development of cloud-shared service platforms for several reasons. The scalability, efficiency, and reliability offered by these technologies are highly desirable in the current digital age, catering to the needs of businesses. As organizations increasingly realize the advantages of container-based architectures and orchestration, this trend is expected to persist. In the final installment of this series, we will delve into the essential capabilities and components of a shared service platform (SSP).
Featured Image by Shameer Pk from Pixabay