In the past decade, with the rising adoption of cloud, companies have invented new ways to create and deploy applications on the cloud platform. We have witnessed the emergence of trends like containerization, continuous development, and continuous integration.
Cloud-native technology companies are also shifting from large development & testing teams to smaller independent teams. To maximize productivity and minimize effort, site reliability engineering (SRE) and platform engineering have emerged with shared goals for cloud development companies.
As self-servicing platforms, both SRE and Platform engineering encode the best of DevOps practices for its user base. The 2020 “State of DevOps” report found that highly functional DevOps enterprises used more self-servicing infrastructure than low DevOps adopters.
Technology professionals often mention these approaches interchangeably suggesting that they are the same. This is not the case. Let’s understand the main differences between SRE and Platform engineering in this article. Before that, let’s define each of these approaches.
What is Site Reliability Engineering (SRE)?
Created by Ben Treynor Sloss of Google Engineering, SRE is essentially the application of software engineering to IT operations. This approach is effective for creating reliable systems to operate applications.
How does the SRE approach work? Here are the main steps:
- SRE engineer defines the service level objectives.
- Develops the system to address these objectives.
- Automates operation-related tasks.
Traditionally, SRE was performed manually by the operations team. In the latest mode, SRE is performed with automation by engineers or development teams. Why is SRE valuable to software engineering companies? Here are a few reasons:
- Effective for developing reliable and scalable software systems.
- Manages large IT systems using software code – instead of using a large network of machines.
- Provides the correct balance between working on new application features and providing reliability to application users.
- Supports companies moving their IT operations to a cloud-native platform.
What is Platform Engineering?
By definition, platform engineering is the approach of building workflows with self-servicing capabilities for software engineering. In the cloud-native age, platform engineering provides an integrated “internal development platform” that facilitates the entire SDLC. This means that platform engineering can monitor the complete SDLC from the source to the production.
Essentially, a platform engineering workflow enables application developers to build and deploy software rapidly on the cloud. The term “platform” refers to a host of tools and services required to build and run applications. This includes support for:
- Runtime languages
- Cloud infrastructure including virtual machines, and Kubernetes containers.
- Data management including relational databases and object store.
With platform engineering, application developers get self-servicing access to the capabilities of their platform (instead of a centralized platform provided by the operations team). Platform engineers can now manage their IT infrastructure and development environment.
Next, let’s discuss the main differences between SRE and Platform engineering.
Differences between SRE and Platform engineering
In platform engineering, the teams involved apply software engineering principles to improve the pace of software deliveries. This ensures that application developers remain productive across the full SDLC.
On the other hand, SRE teams apply software engineering principles to improve reliability. They try to minimize the occurrence of application failures that has a direct impact on its reliability.
Here are 3 main differences between SRE and Platform engineering:
- Goal
The primary goal of SRE is to deliver an extremely reliable infrastructure for various applications. Platform engineering aims to deliver a cloud infrastructure to facilitate rapid application development.
- Team role
SRE teams and platform engineering teams also vary in their required skills. On the common front, both teams require engineers skilled in system engineering and programming. SRE teams are also trained in crisis management and the ability to respond immediately to any troubleshooting task. Platform engineering teams are like typical software engineers with adequate skills in solving complex business problems.
- Tools
SRE uses tools like Grafana and Prometheus to measure crucial metrics like memory consumption and power use. Additional tools include incident reporting tools like OP5 and PagerDuty.
Platform engineering uses the following tools:
- Crossplane for infrastructure management
- Qovery for a preview of the production environment
- GitLab for continuous application development
Essentially, the platform engineering team owns and delivers the platform services that SRE teams can use to build and deploy applications. The app development and SRE team build the application on top of the underlying infrastructure created by the platform engineers.
However, SRE and Platform engineering teams can have different compositions depending on the organizational hierarchy. For example, the platform engineering team can comprise both developers and SREs. Alternatively, SRE teams can comprise some engineers working on the application while others are working on the platform.
Conclusion
To summarize, both platform engineering and SRE are different but necessary to modernize applications for the cloud platform. When used together, these approaches can unlock the true productivity of application development on the cloud.
Even as more businesses migrate to the cloud, they fall short in maximizing the full range of cloud capabilities. With its expertise in cloud solutions, Wissen has enabled its customers in their overall cloud adoption journey. We can help you transform your customer experience through new and innovative cloud models. Our cloud services include cloud migration and cloud management.
If you are looking for the right cloud implementation partner, we can help you. Contact us now.