HOME

TheInfoList



OR:

Platform engineering is a
software engineering Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
discipline focused on the development of self-service
toolchain A toolchain is a set of software development tools used to build and otherwise develop software. Often, the tools are executed sequentially and form a pipeline such that the output of one tool is the input for the next. Sometimes the term is us ...
s, services, and processes to create an ''internal developer platform'' (IDP). The shared IDP can be utilized by software development teams, enabling them to innovate. Platform engineering uses components like
configuration management Configuration management (CM) is a management process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life. ...
, infrastructure orchestration, and
role-based access control In computer systems security, role-based access control (RBAC) or role-based security is an approach to restricting system access to authorized users, and to implementing mandatory access control (MAC) or discretionary access control, discretion ...
to improve reliability. The discipline is associated with
DevOps DevOps is the integration and automation of the software development and information technology operations. DevOps encompasses necessary tasks of software development and can lead to shortening development time and improving the development life ...
and
platform as a service Platform as a service (PaaS) or application platform as a service (aPaaS) or platform-based service is a cloud computing service model where users provision, instantiate, run and manage a modular bundle of a computing platform and applications, w ...
practices.


Purpose & Impact

Platform engineering aims to improve
software engineering Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
productivity by creating streamlined toolchains that can be used by developers. It can be used for
digital transformation Digital transformation (DT) is the process of adoption and implementation of digital technology by an organization in order to create new or modify existing products, services and operations by the means of translating business processes into a d ...
, or to expand CI/CD setups. According to a panel of experts at PlatformCon 2024, it was stated that building an internal developer platform can improve more than just developer productivity. Platform engineering, which centralizes best practices and components for development teams, is gaining prominence as DevSecOps practices and frameworks become increasingly embedded across organizations. Platform engineering aims to normalize and standardize developer workflows by providing developers with optimized “golden paths” for most of their workloads and flexibility to define exceptions for the rest. Organizations can follow one of two paths when developing a new platform engineering initiative. One option is to build an authentication and visualization layer that sits across multiple point tools — but this does not solve the underlying problems of legacy technology stacks and tooling silos. Therefore, this would likely not be a long-term solution. Alternatively, the organization could implement a
internal developer platform (IDP)
that reduces the cognitive load on developers by bringing multiple technologies and tools into a single self-service experience. Platform engineering’s benefits include faster time to market, reduced security and compliance risk, and improved developer experience. Establishing a product-oriented culture and setting clear business goals are critical for success in platform engineering. Therefore it can be stated that platform engineering has increased importance wherever businesses strive to do more with less.


DevOps vs. SRE vs. Platform Engineering

* DevOps serves as the overarching philosophy and set of guiding principles that advocate for collaboration between development and operations teams. It emphasizes automation, continuous integration, and continuous delivery to streamline software development and deployment. While DevOps provides the vision, SRE (Site Reliability Engineering) and Platform Engineering offer concrete methodologies and best practices to implement these principles in a structured manner. * SRE is primarily concerned with ensuring system reliability, performance, and scalability by applying software engineering principles to IT operations. It focuses on monitoring, incident response, error budgets, and automation to minimize toil. In contrast, Platform Engineering is dedicated to building and maintaining internal developer platforms that abstract infrastructure complexities and enhance developer productivity by providing self-service tools, standardized workflows, and automated deployment pipelines. * Platform Engineering treats internal developer platforms as a product, applying product management principles to ensure they meet the evolving needs of engineering teams. It focuses on creating and maintaining self-service platforms that provide standardized tools, automated workflows, and infrastructure abstraction. By adopting a platform-as-a-product mindset, platform engineering teams prioritize developer experience, scalability, security, and operational efficiency, ultimately accelerating software delivery across the organization.


Criticism of Platform Engineering

Despite its benefits, platform engineering faces several criticisms. One major concern is the complexity and overhead associated with building and maintaining such platforms. Additionally, creating a one-size-fits-all platform might not address the unique needs of all development teams, leading to inefficiencies and frustration. Siloed teams and a lack of focus on resolving operational issues can also hinder the effectiveness of the platforms created.


References

{{Engineering fields Engineering disciplines