Platform engineering
Platform engineering is the discipline of designing and building toolchains and workflows that enable self-service capabilities for software engineering organizations.[1] It provides comprehensive and consistent tools and processes, which enables developers to focus on software development instead of managing underlying toolchains.[2] Platform engineering isn’t solely about the tools and components. It’s also about alignment within the organization with a special focus on understanding user needs — in this case, your software engineering teams.[3]
Key components of developer platform[edit]
Here are several key components to create successful developer platforms:
- Application Configuration Management: Manage application configuration in a dynamic, scalable and reliable way. For example: Chef, Puppet, Ansible
- Infrastructure Orchestration: Orchestrate your infrastructure in a dynamic and intelligent way depending on the context. For example: Terraform, Jenkins, Kubernetes
- Environment Management: Enable developers to create new and fully provisioned environments whenever needed. For example: Spacelift, Env0, vCluster
- Deployment Management: Implement a delivery pipeline for Continuous Delivery or even Continuous Deployment (CD). For example: CircleCI, TravisCI,
- Role-Based Access Control: Manage who can do what in a scalable way. For example: Cerbos, Casbin
- ^ "What is platform engineering?". platformengineering.org. Retrieved 2024-05-31.
- ^ "What is platform engineering? | Definition from TechTarget". IT Operations. Retrieved 2024-05-31.
- ^ Sharma, Atulpriya (2024-03-28). "Platform Engineering Is Not Just about the Tools". The New Stack. Retrieved 2024-05-31.