Platform Engineering Era is here.
Before we talk about why we even need it, let's understand — what is it?
"Platform engineering is the discipline of designing and building toolchains and workflows that enable self-service capabilities for software engineering organizations in the cloud-native era. Platform engineers provide an integrated product most often referred to as an “Internal Developer Platform” covering the operational necessities of the entire lifecycle of an application". (platformengineering.org)
Without Platform Engineering approach :
With Platform Engineering approach:
Although this concept is new to a lot of organizations, without a doubt, the need for empowering developers and self-service in R&D has been here for many years, so what has actually changed? The opportunity.
Today, when the entire world of infrastructure and pipelines are as code, permissions, security checks, and more—can be done at the Pull-Request level, even before a practical operation is carried out in the infrastructure or the service itself, this is exactly the opportunity for developers (even without knowledge of infrastructure or building processes) to use the code themselves, establishing infrastructure, updating infrastructure, changing processes, and more.
But developers are already overloaded with work and have to meet deadlines and milestones, so why would transferring responsibility improve the development situation?
This is where Platform-Engineering comes into the picture. It is an approach where developers are allowed to work independently using simple and convenient tools that optimize their process and speed it up. What does it mean to speed it up? It's faster than waiting for DevOps engineers to help.
Why do we need it?
Save developers and DevOps engineers time and make the development process rapider.
Decrease the load and the dependence on the DevOps.
Help the developers understand the product from all aspects (the infrastructure, construction and deployment processes, etc.), which will enable them to build the product better.
Who enables this approach in the organization?
The platform team.
The team consists of developers with extensive knowledge of DevOps and cloud infrastructures who can build infrastructures and DevOps processes while making them accessible to the developers with a great DevEx (Developer Experience).
What is a great DevEx? Read here.