Platform Engineering Builds On DevOps
DevOps has become widely popular as it has met organizations’ goals for application quality, team productivity, and cost optimization. Despite the initial goal of empowering developers with the mantra 'you build it, you run it,' the reality is that developers often rely on Ops teams to manually handle infrastructure provisioning and maintenance. This dependence - coupled with the complexity of managing multiple tools, frameworks, and repositories -, results in slower release cycles, increased cognitive load, and decreased team productivity.
“Developers should be able to make any changes they need without being blocked by anything, or having to do the tedious work of configuring YAML files.” Kasper Nissen, Lead Platform Architect at Lunar Bank.
Why is Platform Engineering Important?
Adopting an internal developer platform approach offers numerous advantages that positively impact the entire organization, promoting streamlined efficiency and collaboration across teams. It removes the operational overhead so developers can focus on doing what they do best - writing code. Some of the benefits of platform engineering includes:
- Increased developer velocity, leading to more frequent releases and faster time-to-market.
- Minimized human errors through automation, ensuring more reliable and consistent processes.
- Improved alignment between the priorities of Dev and Ops teams, fostering better cooperation and synergy.
- Platform enhancements benefit the entire organization, promoting overall growth and progress.
- Enhanced end-user experience with stable and high-performing new releases, bolstering customer satisfaction.
Our goal is to give every product team the ability to deploy their changes to our modern strategic platforms in a simple, compliant and repeatable manner. - Mae Large, Architecture Manager at State Farm
Internal Developer Platform: A Core Element of Platform Engineering
Although platform engineering has rose to prominence in the past few years, it’s not new. Large companies realized decades ago that standardizing infrastructure, abstracting away low-level operations, and building self-service interfaces enabled developers to build, ship, and operate applications more quickly and with higher quality.
With this approach, a dedicated platform team would deliver shared infrastructure to be consumed by developers and engineers. The platform team creates pre-approved templates, configurations, and resources available to application developers via an internal developer platform.
Such an approach eliminates the need for developers to raise a ticket requesting resources. Instead, they can simply select a pre-approved template, or environment and spin it up in minutes. Operators can completely automate and quicken the process of resource creation and revolutionize how DevOps teams build software.
An Internal Developer Platform, the GitOps Way:
The core principles of GitOps involve managing the entire system in a declarative way. All configuration and resources are defined in Git repositories. A GitOps agent then ensures the desired state as described in Git is applied in production. It routinely checks for changes and updates to any repositories and automatically reconciles the current state to the desired state of the system. (Read more about GitOps in our Guide to GitOps.)
There are numerous building blocks to build an efficient internal developer platform (according to Puppet) and they include:
- Workflow automation tools
- Infrastructure building and management tools
- Deployment tools
- Security and compliance standards
- Testing capabilities
- Production application monitoring
Weave GitOps, a state-of-the-art GitOps solution, eliminates the complex process of building an internal platform from scratch as it offers the foundational building blocks as features. It allows you to define the various infrastructure and application components in the form of YAML configuration that can be deployed repeatedly and consistently.
Our internal systems are as diverse as the teams that operate them. Yet, thanks to Weave GitOps, each team has autonomy to choose their own tech stack, and teams share best practices with each other. - Florian Heubeck, MediaMarktSaturn
With Weave GitOps, platform teams can provision self-service templates that can be leveraged by application development teams. The template ensures there are required defaults like a pipeline service, security policy-as-code configurations defined, and progressive delivery built-in. All an application developer needs to do is click on the template, fill in a few fields, and at the click of a button all the required YAML is automatically produced by the template and ready to be deployed.
Leveraging GitOps has allowed us to create a self-service platform for engineers so they can concentrate on delivering business value through innovation, without the full need for Platform Team assistance. The engineers focus on building container images and managing the testing of their microservices and Weave Flux handles the deployments.” - Steve Wade, Platform Lead, Mettle
Build an Internal Developer Platform with Weave GitOps
Weave GitOps empowers platform teams to build and manage an internal developer platform. By offering foundational building blocks as features, Weave GitOps greatly simplifies the process of building an IDP. Here is a short list:
- GitOps Sets: enable Platform Operators to have a single resource definition for an application for multiple environments and a fleet of clusters.
- GitOps Templates: Templates can be used to define services, create pipelines, build clusters on demand, and more,
- Pipelines: automated deployments pipelines where platform teams enforce guardrails and have complete visibility into how code is progressing through the SDLC.
- Terraform Controller: Using HCL, platform teams can create reusable templates to manage Terraform resources and cloud infrastructure beyond Kubernetes.
- Workspaces & Policy as Code: Platform teams can safely manage multi-tenant environments by creating safe perimeters and defining policy configurations.
Weaveworks has two solutions to help you build your own internal developer platform. Weave GitOps Assured, a DIY GitOps solution with all the OSS tools and enterprise-level support to seamlessly enable you to build a developer platform. Weave GitOps Enterprise, a full-stack GitOps platform, that provides you with the building blocks, templates, policies, and necessary resources to enable platform operators to easily build their own IDP.
Contact us today for a free consultation and demo to learn more.
Whitepaper: Why Self-Service Developer Platforms are Key to Developer Productivity
In this paper, we examine how GitOps can be used to build internal platforms at scale and enable operators and developers to release software continuously and reliably.Download Now