There’s an oft-repeated trope that businesses invest in network automation to get faster. Automating repetitive manual network configurations can save time, but the organizations going furthest with automation know that time savings are really a side benefit. The true value of automation is confidence. Confidence that complex configurations for hundreds of devices and thousands of virtual networks will work reliably and that errors won’t slip in due to fat fingers or tired human operators, or that the business will be able to stamp out new data center fabrics that are secure, resilient and properly configured as needed—this time and every time.
That’s the value proposition behind Juniper Apstra. By automating management tasks across the lifecycle of a data center network, you can move more decisively with greater business agility. But what if you want to go even further by automating Apstra itself? After all, data center networks get complicated, especially for large organizations managing multiple sites. Deploying a new fabric with Apstra may be much easier than manually configuring devices, but the process can still involve extensive work in the Apstra UI—to say nothing of documenting that effort.
For these reasons, a growing number of businesses—especially those using DevOps and Site Reliability Engineering (SRE) approaches—want more programmatic or structured ways to use Apstra. They’d like to fold their data center network automation into the same Infrastructure-as-Code (IaC) framework used for the rest of the cloud environment. Additionally, they’d like to empower network administrators to perform bulk Apstra operations across the data center footprint, without having to become experts in programming against an API.
If this wish list sounds familiar, there’s good news: Apstra can now integrate with one of the most popular IaC tools on the market, Terraform® from HashiCorp®, with the new Apstra Terraform Provider.
Navigating Complexity
Solutions like Apstra solve a longstanding problem in managing data center networks: the traditional approach—using CLI to configure each device, one after another—is far too error-prone and complex. Apstra’s multivendor intent-based networking workflows simplify management across the lifecycle of a data center network. Most organizations first experience Apstra’s features through its web UI. Those that are DevOps-forward, however, or simply provisioning many data centers, would like a more automated way to use Apstra, without having to dedicate expert developers to program against the Apstra API. For these organizations, there’s a clear alternative operational pattern: Infrastructure-as-Code.
IaC has become common in organizations managing many disparate infrastructures, such as those using Infrastructure-as-a-Service (IaaS) solutions from multiple cloud providers. Rather than asking staff to master vendor-specific tools for each cloud (such as AWS CloudFormation, Azure Resource Manager and Google Cloud Deployment Manager), these organizations adopt IaC tools like Terraform. With Terraform acting as a universal tool, they can manage cloud infrastructure across multiple vendors. Just as important, they can use code management platforms like GitHub or GitLab to track and collaborate on Terraform-based configuration templates. If they choose, they can even evolve from that GitOps pattern to a fully test-automated Continuous Integration/Continuous Delivery (CI/CD) pipeline.
It’s a powerful set of capabilities. And with Terraform plugins (or “providers”) now available for so many diverse technologies, users can manage multi-faceted data center and cloud infrastructure platforms with Terraform as a constant. With the new Terraform Provider, Juniper now extends these IaC benefits to Apstra, and in turn, to multivendor data center fabrics.
The Terraform Advantage
With the Apstra Terraform Provider, users can perform everything needed to define and instantiate network blueprints in Apstra (including creating, modifying and deleting components), using our open-source Terraform Provider and the standard Hashicorp Configuration Language (HCL). The Terraform Provider integrates with Apstra via a new Apstra Go SDK and adheres to Terraform’s best practices. Juniper also provides resources to make the most of these tools and make it easier to get started with automation, including HCL basics and community-based examples.
The ability to interact with Apstra via HCL is a huge benefit for any organization that’s standardized on Terraform to automate infrastructure. Even for those that haven’t, Terraform and HCL offer major benefits, especially for organizations contemplating more advanced automation in the future.
Terraform brings a declarative approach to configurations that is different from other automation tools, like Ansible, that Juniper has integrated with Junos OS. When running Terraform for the first time, and then each time thereafter, it analyzes and remembers the current infrastructure state. It then makes whatever changes are necessary to achieve the desired declared configuration outcome—without users having to spell out how. (If this sounds familiar, Apstra’s intent-based model for data center network automation employs the same basic philosophy.)
These capabilities have made Terraform a popular IaC configuration tool among businesses managing multiple complex infrastructures.
Dimitar Ivanov, Principal Technology Architect at TELUS Cloud Infrastructure notes:
“The Terraform Provider for Apstra is a valuable addition for organizations with Infrastructure as Code practices. It will allow effortlessly integrating the management of the lifecycle of complex EVPN/VXLAN fabrics of any scale as well as the programmatic deployment of overlay resources into the automation pipelines of private clouds across datacenter and edge sites.”
Organizations that continually deploy new data centers, or that regularly need to update configurations across multiple sites, can create Terraform configuration files once and then apply them over and over again as needed. Just as important, these configuration files use HCL with its famously good readability and annotation. These capabilities are so effective, HCL has earned the moniker “executable documentation,” as it generally allows users to cover their automation and documentation needs at once.
With the Apstra Terraform Provider, organizations can:
- Automate at scale, without needing expert developer resources: Terraform provides a simplified, repeatable way to interact with Apstra, without advanced programming. With the Apstra Terraform Provider handling the heavy lifting of development and integration, even network administrators with limited developer skills can programmatically interact with Apstra.
- Simplify automation: Organizations can now specify and provision Apstra configurations in standardized HCL—a configuration language that’s well understood and documented in the DevOps community. Businesses gain a human-readable, text-based way to codify procedures for automating various complex network operations—instead of, for example, trying to document dozens of point-and-click steps in the Apstra UI.
- Bring the benefits of IaC to network configurations: HCL doesn’t just speed up the process of configuring networks. It allows organizations to easily document, tweak, version control and collaborate on those configurations in a structured way, using GitOps on platforms like GitHub and GitLab. Organizations can also tap into pre-existing Terraform templates, support communities and more, such as Juniper’s Elevate Automation forum.
Advancing Automation
What if operating the data center could be as easy as cloud? At Juniper, we obsess over operations. It’s why Experience-First Networking guides everything we do. For more than 20 years, we have been leading network automation, from Junos automation to Software-Defined Networking (SDN) to open APIs, and offering many tools and integrations for our products and services. Now, with the Apstra Terraform provider, we’re again demonstrating the benefits of these compounded investments in layer upon layer of innovation.
Junos changed the game for network operations many years ago, and we haven’t stopped. Apstra dramatically furthered automation with intent-based networking, allowing organizations to use simpler, higher-order workflows across multivendor data center switching fabrics. Today, the Terraform Provider for Apstra elevates data center network operations to the level of automation experience of cloud. We think you wouldn’t want to build your clouds without it.