Building a successful platform engineering practice

BrandPost By Catherine McGarvey, Vice President of Software Engineering, VMware
Jul 30, 20234 mins
Cloud Computing

Creating a successful platform engineering practice starts with understanding the responsibilities of platform engineering teams versus developer teams, measuring success, and establishing comprehensive governance.

Meeting
Credit: iStock/shapecharge

As companies continue to shift towards the cloud, platform engineering has emerged as a practice for organizations to efficiently and effectively deploy modern workloads, while maintaining a repeatable secure deployment pattern. Organizations looking to remain competitive and relevant in today’s fast-paced world need to focus on setting up processes that enable development teams to build and deliver software faster.

Successful platform engineering requires putting policies and guardrails in place that help ensure security without creating added barriers and complexity. Platform engineering can help establish app patterns for environments, ensuring that applications scale to meet user needs and remain highly available. With software increasingly being treated as a strategic business asset, enabling faster app delivery has never been more important to revenue growth. Companies have seen a 35 percent revenue increase from faster modern app delivery.

Building a successful platform engineering practice starts with understanding the responsibilities of platform engineering teams versus developer teams, measuring success, and establishing proper governance.

Platform engineering vs. developer teams

The separation between platform engineering teams and developer teams is about how they think about the world. Developer teams are more concerned with their applications and making applications successful, whereas platform engineering teams focus on providing automated environments and ensuring platform security. Platform engineering teams are often thinking about planning for the scale, growth, and changes needed to support an application in the future.

The interaction between the two teams should be as seamless as possible. Both teams want to understand the needs of the application presented from the perspective of their role. Developers focus on application requirements including application traffic throughput, HA, and scale to demand. Whereas platform engineering teams focus on how HA is implemented, the LB needed to support that and the security of network traffic to meet those application needs.

Measuring developer success

One of the best ways for organizations to think about measuring success starts with figuring out the right metrics, processes, and tools. Organizations should ensure success for their developer teams by enabling frequent deployments, maintaining security, and providing self-service environments. This requires a shift in mindset towards enabling DevOps to achieve self-service, which makes the platform engineering team as efficient, effective, and in control of the environment as possible.

Some metrics to consider include developer onboarding and deployment frequency. In addition, platform engineering teams should look into how many layers of the stack that can be patched without engaging application developers, how automated this process is, and what inspection tools are used to confirm the resiliency of the platform.

Platform engineering governance

The industry shift towards enabling DevOps to focus on their work without needing to have too much knowledge and depth about the platform is ongoing. The DevOps persona has emerged from this shift, and organizations should consider adopting the best practices and governance of platform engineering teams to help streamline the deployment process. In practice, this means no scripts, treating the platform as a product, and ensuring everything related to the deployment and management of the platform is tested and source controlled.

Regardless of the level of innovation taking place, there should be a focus on maintaining a secure state through constant patching and updating. The more automation that can be applied to this process, the better, as this frees up time for developer teams to focus on tasks that add business value. Standardizing processes and creating a better bill of materials for applications can also help to create a more secure environment. There is currently a lack of industry standards in this area, which can make it difficult for organizations to protect themselves against threats. Developing more comprehensive standards will help to create a more secure environment for businesses to operate in.

Platform engineering is essential for organizations to achieve their goals and remain competitive in a constantly evolving technological landscape. Setting up guardrails and metrics to measure success can help these teams get the feedback needed to innovate, write code and deploy quickly and securely.

To learn more, visit us here.