8 tools every platform engineer should know about
We discuss the popular tools used in platform engineering today: Docker, Crossplane, ArgoCD, Backstage, and more.
Sep 12, 2023 • 4 Minute Read
- IT Ops
- Software Development
- Engineering Leadership
- Developer Experience
- Software Delivery Process
You can’t be a platform engineer without knowing the latest tools. In this article, we’re going to look at some of the common tools that are utilized as a part of platform engineering toolchains.
Many of these tools may be familiar to you, such as Docker and Kubernetes. Others may be quite new, such as Backstage and Humanitec. These new tools are software specifically designed for Internal Developer Platforms (IDP) such as portals for accessing Platform Engineering offerings. All of these are applications and frameworks that platform engineers can use to automate, orchestrate, monitor, and secure the platforms they create.
To learn more about platform engineering in general, read my article: “What is platform engineering, and should my business adopt it?”
8 popular platform engineering tools in 2023
Here is a list of the most popular and useful platform engineering tools that you should know if you want to become a platform engineer
1. Docker: To containerize your applications
Docker is a popular containerization tool that allows applications to be packaged and isolated into lightweight, portable containers. It provides a consistent environment for running applications, ensuring they work reliably across different systems. Docker simplifies the deployment process, improves scalability, and enhances resource utilization by allowing applications to run on a shared host while maintaining isolation.
2. Kubernetes: For container orchestration
Kubernetes is a container orchestration platform that automates the deployment, scaling, and management of containerized applications. It provides a robust framework for running containerized workloads across a cluster of machines. Kubernetes handles tasks like load balancing, scaling, self-healing, and service discovery, enabling high availability and efficient resource utilization. It also offers features like rolling updates and declarative configuration, making it easier to manage complex containerized environments.
To learn more about Kubernetes, read this article: “What is Kubernetes, and why should I learn it?”
3. Terraform: To automate infrastructure provisioning
Terraform is an infrastructure as code (IaC) tool that allows you to define and provision infrastructure resources in a declarative manner. It supports various cloud providers and infrastructure components, enabling you to automate the provisioning of servers, networks, storage, and other resources. Terraform provides a consistent and reproducible approach to infrastructure provisioning, making it easier to manage infrastructure changes and ensuring infrastructure consistency across different environments.
To learn more about Terraform, read this article: “What is Terraform & Infrastructure as Code (IaC)?”
4. Crossplane: For cloud native infrastructure management
Crossplane is an open-source project that enables cloud-native infrastructure management. It allows you to define and provision infrastructure resources and services using a unified, Kubernetes-like API. Crossplane extends the Kubernetes API to support infrastructure provisioning across multiple cloud providers and on-premises environments. It provides a consistent interface for managing infrastructure resources, making it easier to adopt a multi-cloud or hybrid cloud strategy.
5. GitHub: For Continuous Integration
GitHub is a popular code hosting platform that offers various features for implementing continuous integration (CI) workflows. It provides version control, collaboration, and code review capabilities, allowing teams to work together seamlessly. GitHub integrates with CI/CD tools and services, enabling automatic building, testing, and deployment of code changes. It facilitates code quality control, collaboration, and visibility, supporting efficient and reliable software delivery.
If you’re interested in incorporating GitHub into your operations (GitOps), read my article: “What is GitOps, and why should I learn it?”
6. ArgoCD: For your Continuous Deployment:
ArgoCD is a declarative, GitOps-based continuous deployment tool for Kubernetes applications. It allows you to define the desired state of your applications and automatically deploys and maintains them based on changes to the Git repository. ArgoCD provides automated deployment, rollbacks, and synchronization of Kubernetes resources, ensuring consistent application state across environments. It simplifies the management of complex application deployments and promotes a self-service approach for developers.
7. Backstage: For your IDP
Backstage is an open-source platform for building internal developer portals or platforms. It offers a centralized, self-service catalog for developers, providing visibility into available tools, services, and resources. Backstage helps teams discover, provision, and manage software development-related services, such as APIs, libraries, documentation, and infrastructure components. It fosters collaboration, standardization, and transparency, enhancing developer productivity and streamlining the software development process within an organization.
8. Humanitec: For your IDP (Alternative)
Humanitec is a platform designed to create and manage internal developer platforms. It focuses on empowering engineering teams to build, deploy, and manage their own applications and services. Humanitec provides a self-service catalog of reusable components, tools, and services that developers can easily discover and integrate into their projects. It streamlines the process of setting up development environments, configuring applications, and managing deployments.
You can use Humanitec or Backstage for your IDP, but you don’t need both.
Want to learn more about platform engineering?
To delve deeper into the topic, check out my course: "Platform Engineering: The Big Picture." This course provides you with the skills and knowledge of platform engineering needed to take the next steps with it. You can access this course on Pluralsight with a 10-day free trial. Thanks for reading!