In the last post in the series on Shared Service Platforms, we discussed the Cloud Native Computing Foundation’s (CNCF) guidance and clarity on the nature and benefits of platforms for cloud-native computing.
CNCF on Platforms
The CNCF paper [1] defines a platform as “an aggregation of capabilities to serve developers and operators in the development and delivery of products, services, and apps.” It goes on to say that platforms enable developers and operators to deliver applications and services faster by providing and managing common capabilities.
The benefits of platforms include:
Increased agility: By offering a common set of capabilities that various teams can use, platforms can help organizations be more agile. This can help reduce the time it takes to deliver new applications and services.
Reduced costs: Platforms can help reduce costs by providing shared infrastructure and services. This can help eliminate the need for each team to build and maintain its own infrastructure.
Improved quality: Platforms can help improve the quality of applications and services by providing a common set of standards and practices. This can help ensure that applications are built and deployed in a consistent and reliable way.
CNCF on the benefits of Platforms
The white paper discusses the current thinking around the benefits and challenges of adopting cloud-native application delivery platforms. It highlights the advantages of these platforms, such as increased scalability, improved efficiency, and reduced operational costs. The blog also addresses the challenges organizations may face during the implementation process, including cultural and organizational shifts, security concerns, and the need for proper training and expertise. It emphasizes the importance of selecting the right platform and partnering with experienced vendors to ensure successful adoption. The blog concludes by emphasizing that cloud-native application delivery platforms are crucial for businesses looking to modernize their infrastructure and stay competitive in today’s digital landscape.
CNCF defines a platform as “an aggregation of capabilities to serve developers and operators in the development and delivery of products, services, and apps.” It goes on to say that platforms enable developers and operators to deliver applications and services faster by providing and managing common capabilities.
CNCF on the challenges of building Platforms
The paper then discusses the challenges of building and maintaining platforms, including:
- Defining the scope of the platform: It can be difficult to define the scope of a platform, as there is no one-size-fits-all solution.
- Securing the platform: Platforms can be targets for attack, so it is important to take steps to secure them.
- Measuring the success of the platform: It can be difficult to measure the success of a platform, as there is no single metric that can be used to assess its value.
- Web portals and APIs for provisioning and managing products and capabilities.
- “Golden Path” templates and documentation for optimal use of capabilities in products.
- Automation for building, testing, delivering, and verifying services and products.
- Development environments with hosted IDEs and remote connection tools.
- Observability for services and products using instrumentation and dashboards.
- Infrastructure services including compute runtimes, programmable networks, and block and volume storage.
- Data services including databases, caches, and object stores.
- Messaging and event services including brokers, queues, and event fabrics.
- Identity and secret management services for service and user identity and authorization, certificate and key issuance, and static secret storage.
- Security services including static analysis of code and artifacts, runtime analysis, and policy enforcement.
- Artifact storage for container images, language-specific packages, custom binaries and libraries, and source code.
Best Practice Guidance on building Platforms
The paper concludes by providing guidance on how to build and maintain successful platforms. This includes:
- Getting executive buy-in: It is important to get executive buy-in for the platform before it is built. This will help to ensure that the platform has the resources it needs to be successful.
- Defining clear goals: It is important to define clear goals for the platform before it is built. This will help to ensure that the platform is built in a way that meets the needs of the organization.
- Building a strong team: It is important to build a strong team to build and maintain the platform. This team should have the skills and experience necessary to build a successful platform.
Conclusion
Containerization (and the CNCF from a standards body) is driving increased adoption of platforms, which can be valuable assets for organizations that are looking to improve their agility, reduce their costs, and improve the quality of their applications and services.
References
[1] CNCF Platforms White Paper
https://tag-app-delivery.cncf.io/whitepapers/platforms/?s=03
Featured Image by Michal Jarmoluk from Pixabay