Increasing your organization’s speed while maintaining control can be challenging. Managing infrastructure at scale can be cumbersome, and keeping costs in check can be even more difficult. Platform orchestrators and the internal developer platforms (IDP) that use them can help your teams improve these aspects.
In this post, we will explore a platform orchestrator, how it works, what challenges it solves, and some platform orchestrator examples.
Before grasping what a platform orchestrator is, you first need to understand IDPs. An IDP helps your organization build Golden Paths, enable developer self-service, promote collaboration, and ensure that your infrastructure and applications are deployed faster while minimizing errors. These platforms help you achieve a faster time to market while keeping your customer retention high.
A platform orchestrator is a system or tool that automates the coordination, deployment, and management of infrastructure and applications across various environments. It integrates with multiple infrastructure components, APIs, and service layers to automate workflows, enforce policies, and optimize resource utilization.
A platform orchestrator’s job is to act as a bridge between multiple tools and platforms. They are often considered the centerpiece of any IDPs. Platform orchestrators automate the interactions between the different components used by the IDPs, making them work seamlessly.
Internal developer platform (IDP) vs. platform orchestrator
An internal developer platform and a platform orchestrator are complementary concepts. An IDP provides a user-friendly interface and automated workflows for developers to build, deploy, and manage their applications. A platform orchestrator automates the underlying infrastructure and services that support the IDP.
To better understand how platform orchestrators work, let’s look at an example orchestrator: Terraform.
The most basic Terraform workflow is:
- Install Terraform
- Write the configuration files (providers, resources, variables, outputs, etc)
- Run
terraform init
to initialize your configuration and download prerequisites - Run
terraform plan
to understand what changes you will make - Run
terraform apply
to deploy the changes
Terraform uses state management to ensure the desired state of the infrastructure matches the actual state.
For this basic workflow to make sense in a real-life scenario, we also need to use some mechanisms that will help with security, governance, and compliance, such as linting, validation, policy as code, and security vulnerability scanning.
Looking into the above basic workflow and adding all the required security measures allows us to understand the phases a platform orchestrator goes through. Usually, platform orchestrators run inside an IDP, so we don’t need to take care of the installation phase.
- Initialization phase – In this phase, you set your platform orchestrator and all of its associated dependencies. This is the place where your repositories will be cloned, and you should also be able to install third-party tools and customize your workflow. (e.g. terraform init)
- Analysis phase – This is where most of your CI process will happen. Many aspects of Terraform can be verified before running a plan: validation, format, and others. At the same time, to use policy as code for Terraform, you will often need to have the plan. After that, you will be able to evaluate your policies against it [e.g. terraform fmt, terraform validate].
- Planning phase – In this phase, you can view the expected result of your runs, see the policies you have in play, check for security vulnerability scanning, and set up all the approval mechanisms [e.g., terraform plan].
- Deployment phase – In this phase, after all the automatic and manual checks have passed, you will deploy your code [e.g. terraform apply].
- Verification phase – After a successful deployment, you usually need to check if everything is working properly. In this phase, you will run your unit and functional tests, check the health of the modified components, and confirm that your desired state matches the actual state of your resources [e.g., terraform test].
- Cleanup phase – In this phase, all the unnecessary artifacts that were generated during your runs are removed, and all the run logs are generated.
These phases are not set in stone, and IDPs may have other namings for them or even other steps, but in essence, these are steps that a platform orchestrator goes through inside an IDP.
In the IaC world, many other tools can be considered platform orchestrators, such as OpenTofu, Ansible, Pulumi, CloudFormation, Azure Bicep, Terragrunt, Docker, and Kubernetes.
Managing your infrastructure and applications at scale is the key challenge platform orchestrators try to solve. They work with an IDP to do this, but they can also help with governance, observability, and overall reliability.
However, using them outside an IDP can cause issues.
Imagine a big company that needs to manage infrastructure at scale. In the real world, this company would have several teams managing infrastructure, each of which would have different processes and possibly even different platform orchestrators. This will result in inconsistent environments and may lead to inconsistent workflows.
By using an IDP, the process can be enforced even if these teams are using different orchestration platforms, ensuring that all teams have the same best practices and reducing the troubleshooting overhead.
Another challenge that platform orchestrators solve is related to security, governance, and compliance. Coupling IaC tools with policy as code enables organizations to enforce security controls, reducing the risk of human errors and making sure all your workflows respect your business’ best practices.
By identifying resource usage, identifying idle resources, and enabling autoscaling, platform orchestrators can also help organizations with cost optimization managing their cloud spending better.
Automation is the most obvious benefit of using platform orchestrators. It helps you with routine tasks by accelerating the movement of your code from the pull-request phase to the actual production deployment. Having a fast deployment process means rapid iterations, so you can incorporate customer feedback faster.
Other key benefits of platform orchestrators include:
- Standardization – Using platform orchestrators requires you to have a process in place because otherwise, things can easily go awry. This means that you can implement Golden Paths for your workflows, making them more qualitative and reliable.
- Enhanced developer velocity – You can make it easier for everyone on your team to deploy infrastructure or applications by combining platform orchestrators with IDP to create self-service workflows. These self-service workflows are pre-approved, so you can use them as soon as they are published, without fear of negative consequences. Self-service infrastructure allows developers to focus on building their code rather than on trying to understand what they need to do about infrastructure or relying on the platform teams for help.
- Cost optimization – Using IDPs with platform orchestrators can drastically reduce costs. Leverage policy as code to prevent resource over-provisioning or even to restrict certain resource parameters that may incur unwanted costs. Minimizing manual intervention reduces personnel costs and the potential for human error.
- Enhanced security – Using automated security scans and policy as code means that you will catch vulnerabilities before they reach your production environment. Integrating Open Policy Agent (OPA) for policy as code and Checkov for security vulnerability scanning inside your Terraform or Pulumi workflows ensures all your deployments are automatically checked for these issues, so you can take action accordingly.
- Powerful visibility – Building notification mechanisms and the ability to see everything happening with your infrastructure and applications at a glance is another benefit of platform orchestrators. You can get easy insights into the state of your infrastructure and build mechanisms to prevent, detect, and remediate drift, ensuring that your applications always run as intended.
Platform orchestrators can activate in many areas. Here are some examples of platform orchestrators:
Category | Tools/Technologies |
Infrastructure as code | Terraform, OpenTofu, Pulumi, CloudFormation, Azure Bicep, Google Cloud Deployment Manager, Terragrunt, Crossplane |
Configuration management | Ansible, Chef, Puppet |
Containers | Kubernetes, Docker, Docker-Compose, Docker-Swarm |
Security | Open Policy Agent, Sentinel, Checkov, Tfscan, Trivy |
Event orchestration | Apache Kafka, RabbitMQ, AWS EventBridge |
Service mesh | Istio, Linkerd |
As you can see, all the tools you currently use can be considered platform orchestrators. Combining them in an IDP will transform them into orchestrators and make your workflows robust and streamlined.
Read more: Top 20 Platform Engineering Tools
Spacelift is an orchestration platform that simplifies infrastructure provisioning, configuration, and governance in a single workflow.
Spacelift lets you manage your IaC at scale by implementing robust CI/CD across cloud providers for your infrastructure, enabling developer autonomy. As Spacelift supports such IaC tools as Terraform, OpenTofu, Ansible, and Pulumi, you can standardize infrastructure management for your IDP for multi-IaC workflows. Even better, Spacelift provides an overview and clear visibility into your infrastructure resources and allows the enforcement of policies and guardrails.
You can use Spacelift as the foundation layer of your IDP by creating different stacks to fulfill your development functions. Spacelift stacks encapsulate your source code, infrastructure state, and deployment configuration. Stacks can be queued, triggered, canceled, and inspected within the Spacelift UI, allowing you to check the health of your infrastructure at a glance.
Use stack dependencies to easily configure your complex infrastructure needs and share outputs between dependent stacks. Other components, such as Blueprints, offer more options to simplify self-service provisioning operations.
If you want a product that greatly enhances the lives of your platform engineering team members, create a free account with Spacelift today, or book a demo with one of our engineers.
In platform engineering, platform orchestrators streamline the deployment and management of internal developer platforms, automating workflows and enforcing consistency across infrastructure and services.
Using platform orchestrators outside IDPs is just the first step in getting familiar with their capabilities. As soon as you understand how these tools work, you will need to certainly embed them into an orchestration platform and take advantage of all the features and benefits these platforms offer.
Solve your infrastructure challenges
Spacelift is a flexible orchestration solution for IaC development. It delivers enhanced collaboration, automation, and controls to simplify and accelerate the provisioning of cloud-based infrastructures.