Platform engineering

From Wikipedia, the free encyclopedia

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
  1. ^ "What is platform engineering?". platformengineering.org. Retrieved 2024-05-31.
  2. ^ "What is platform engineering? | Definition from TechTarget". IT Operations. Retrieved 2024-05-31.
  3. ^ Sharma, Atulpriya (2024-03-28). "Platform Engineering Is Not Just about the Tools". The New Stack. Retrieved 2024-05-31.