What is “good” platform engineering?

A platform engineering approach saves developers time, and teams can eliminate entire categories of routine requests from developers.

Translated from Platform Engineering: What Does 'Good' Look Like? , author Dormain Drewitz.

To improve the developer experience, more and more organizations are looking to platform engineering to reduce tedious work and focus on revenue-generating features and innovation.

Platform engineering brings two main benefits. The first is the introduction of self-service capabilities that allow people in the organization to try new software. The second is the incorporation of automated infrastructure operations to ensure experiments are conducted in a well-managed environment.

The benefits are so significant that Gartner estimates that by 2026, 80% of large software engineering organizations will have platform engineering teams. But what’s behind the hype?

What is platform engineering?

A platform engineering approach complements DevOps . The "platform" is an internal environment created for developers to build and run software (such as applications, tools, and workflows) in a secure and compliant environment.

The primary purpose of platform engineering is to efficiently scale developers' work while mitigating security and availability risks. Developer platforms address the huge costs and complexities that can come with large-scale development. The most common reason for these costs is that developers spin up separate environments for each project (or even individual test cases within a project). Another benefit is the increased likelihood of being able to work at scale due to the ability to automate operational processes that work within a unified platform.

为了使这种方法取得成功,必须在同一平台内部署软件。表面上看,这可能使平台工程方法看起来像是对生产力的限制,但它实际上可以释放开发人员的创造力,并显著减少日常繁琐工作。

Build vs. buy: How do organizations implement it?

For a platform project to be successful, the platform must be implemented correctly. Since organizations require customization for their platforms, it is not possible to simply buy off-the-shelf products. At the same time, there are a plethora of point products and open source projects available to address the myriad of infrastructure, CI/CD, security, and other “jobs to be done” that arise when deploying and running software in production.

This means organizations will instead need to do some engineering work on the products they purchase or the open source software they have adopted. But the question is: How much of your own design is appropriate? Platform engineering can distract from business goals rather than driving what differentiates these organizations.

The solution to this problem is for organizations to build the leanest platform possible. Platform engineering teams shouldn't be building from scratch; platforms should be built on top of other platforms. Organizations don't expect their software teams to do everything from plugging in servers to delivering products, and they certainly shouldn't expect platform engineering teams to fully implement a platform from scratch.

Instead, these teams need to build on the shoulders of giants. To drive this approach, organizations should purchase as many platform-as-a-service (PaaS) and software-as-a-service (SaaS) tools as possible and bundle them together to build a finished and viable platform. There's enough work maintaining, integrating, and updating the most basic platform experience. This includes building interfaces and APIs that in-house engineers will use, which can mitigate vendor lock-in.

In this model, each organization's platform is custom built, but it sits on top of existing, supported, purchasable tools. With this approach, organizations can escape the build vs. buy dilemma and focus on fine-tuning their platform to meet the needs of their organization.

What needs to happen for it to become the norm?

Many organizations struggle when adopting DevOps because the roles and responsibilities can seem overwhelming. If developers are responsible for everything in their stack, in production every day, they can get bogged down in tedious work that doesn't provide business value. But traditional architecture and operations teams often don't measure developer effectiveness, so developers can only submit tickets and wait.

For platform engineering to be successful, it requires the full support of the organization. To build a better experience for internal users, silos need to be eliminated. Platform engineering requires its own team to be successful; it cannot be viewed simply as an extension of IT.

In addition to operational changes, platform engineering requires a cultural shift in development teams to prioritize non-functional requirements such as usability and security in addition to individual features. The platform should help make the right thing easy, but the responsibility should be shared between the lean platform team and its users (the software development team).

As is always the case when an organization overhauls its work processes, doing things halfway isn't enough. Enterprises cannot successfully implement platform engineering without the full support of every developer in the organization, as well as buy-in from senior team members.

Why should developers care?

It's easy for large software engineering organizations to have large and complex technology stacks. This can make maintenance a nightmare and lead to long, slow release cycles and stressful outages. Adopting platform engineering trades complexity for a much leaner stack, removing unimportant or cumbersome parts. Decision makers must not be afraid to decommission tools or shut down environments they don’t need—even automating this process once developers trust the platform they’re using. In fact, automation can make decommissioning part of the platform lifecycle, integrating it into existing processes to save time and money.

A platform engineering approach can also save significant time for developers as well as infrastructure and operations teams. These teams can eliminate entire categories of routine requests from developers. Platform teams automate routine, repetitive tasks such as launching new environments, managing infrastructure, creating and configuring repositories, and handling CI/CD pipelines to smooth development cycles and reduce tedious work.

Developers can save time and effort by offloading work to the platform, which can provide a major incentive to migrate existing applications to the platform. These benefits can also lead to significant cost savings for businesses as developers become more productive, eliminating the need for additional contractors and staff to augment services.

Platform engineering for the future

Ultimately, the goal of platform engineering is to encourage developers, regardless of their team or function, to use the platform rather than experiment outside of it. When working within the framework of this setup with toolchains and workflows fully implemented, developers can focus on coding without worrying about infrastructure. This greatly reduces their daily workload, allowing them to thrive rather than just survive.

This article was first published on Yunyunzhongsheng ( https://yylives.cc/ ), everyone is welcome to visit.

A programmer born in the 1990s developed a video porting software and made over 7 million in less than a year. The ending was very punishing! High school students create their own open source programming language as a coming-of-age ceremony - sharp comments from netizens: Relying on RustDesk due to rampant fraud, domestic service Taobao (taobao.com) suspended domestic services and restarted web version optimization work Java 17 is the most commonly used Java LTS version Windows 10 market share Reaching 70%, Windows 11 continues to decline Open Source Daily | Google supports Hongmeng to take over; open source Rabbit R1; Android phones supported by Docker; Microsoft's anxiety and ambition; Haier Electric shuts down the open platform Apple releases M4 chip Google deletes Android universal kernel (ACK ) Support for RISC-V architecture Yunfeng resigned from Alibaba and plans to produce independent games for Windows platforms in the future
{{o.name}}
{{m.name}}

Guess you like

Origin my.oschina.net/u/6919515/blog/11086682