DEV Community

Cover image for Expanding Your Infrastructure Automation Across the Lifecycle Using Puppet Edge
Jason St-Cyr for puppet

Posted on • Originally published at puppet.com

Expanding Your Infrastructure Automation Across the Lifecycle Using Puppet Edge

Infrastructure automation is evolving... and so is Puppet! While Puppet has long been known for its strength in Day 2 operations through agent-based desired state configuration, Puppet also extends across Day 0 and Day 1 tasks. With Puppet Edge, you can target network devices alongside your existing infrastructure, enabling your teams to manage more scenarios, more devices, and more workflows.  

All from a single platform.  

Your server, network, cloud ops, and SRE teams, can now work together more effectively, managing more of their tasks and devices together.

Why Lifecycle Coverage Matters 

Teams often juggle multiple tools across different stages of the infrastructure lifecycle: 

  • Day 0: Initial provisioning, setup, and proof-of-concept architectures
  • Day 1: Refining infrastructure configuration, building out networks, and launching services
  • Day 2: Ongoing operations, compliance, and drift management 

Puppet Edge enables you to unify these teams and work across the stages together, helping teams consolidate tooling, streamline operations, and easily share and build on each other's work.

Day  0: Deploy Networking Devices, provision Servers, Create Inventory. Day 1: Configure Routers, Switches and Firewalls, Configure User Access Devices to Network Devices, and Create Self-Service Workflows. Day 2: Patch networking devices and servers, enforce security policies, rotate SSH and Admin Credentials

Day 0

Setup and Provisioning of Infrastructure

  • Initially start provisioning the first elements of your environment.
  • Spin up a new load balancer, create some virtual servers, add a switch... these can all now be part of a unified inventory in Puppet.
  • Puppet Edge supports imperative task execution, including support for running existing Ansible® playbooks, allowing you to use Puppet to bootstrap your infrastructure and begin exploring automation and compliance options.  

Day 1

Configuring Infrastructure as Code  

  • Start codifying infrastructure early, laying the groundwork for operational handoff and long-term maintainability.
  • Use declarative (agent-based desired state) or imperative (agentless task execution) to configure the nodes.
  • Use Puppet Edge to accelerate automation using infrastructure-as-code, define common runbooks for your Ops team, and build out the definition of your solution: servers AND network devices. 

Day 2

Secure and Compliant Enterprise Operations

  • Keep infrastructure optimized and secure with robust drift detection, compliance enforcement, and workflow automation.
  • Continuously manage your network devices with Puppet Edge to expand your managed inventory under a single pane.
  • Run predefined Workflows, allowing teams to operate on infrastructure without needing deep Puppet knowledge.

Puppet Edge Across the Lifecycle 

Puppet Edge allows you and your networking team to collaborate and build out a unified managed infrastructure using several tools and components to help across different scenarios. 

To illustrate this, here is a scenario where you, as the infrastructure automation expert, can use Puppet and Puppet Edge to bring network management into your solution. 

  1. You receive a request to build out a new web application with dev, test, and production environments.
    Receive Request

  2. You build out new Puppet Edge tasks for your network devices and Puppet tasks for your servers to provision your dev, test, and production environments including your firewall, load balancer, router, and servers.
    build out new Puppet Edge tasks for your network devices

  3. You then add all your network devices and servers to Puppet's centralized inventory, adding metadata to allow you to group them later for classification.
    add all your network devices and servers to Puppet's centralized inventory

  4. With your inventory defined, you can define your environment node groups to include servers and network devices. This allows you to make changes to the entire production system, or the entire test system, etc.
    define your environment node groups to include servers and network devices

  5. In addition to environment node groups, you can create network device node groups. For example, you can add your routers into a routers node group to allow you to apply router changes to all routers across your entire inventory. You might use a Cisco CSR 1000v router in AWS and you want to group all the similar Cisco routers in all the environments together for future patching tasks.  
    create network device node groups

  6. From your IDE, you can use Puppet Edge's code assist to support generating new config instructions for the firewall and router. You now have a new Puppet Edge task that can be run against your network device.
    use Puppet Edge's code assist to support generating new config instructions

  7. Using your network device node groups and the new Puppet Edge task, you can apply the configuration to your firewalls and routers in all environments.
    apply the configuration to your firewalls and routers in all environments

  8. Finally, before transitioning to operations, you can capture your knowledge of the environment in workflows. Build out various runbooks for common network management tasks, like rotating admin credentials or patching a router, to share with other teams and codify execution.
    build out runbooks

  9. While building out workflows, you can also identify any existing Ansible® playbooks that the team has and incorporate them into the workflows to be run by Puppet Edge.
    Build workflows and identify ansible playbooks

  10. With the workflows defined, you can now give other teams access to the centralized workflows and inventory so that they can operate the network over time and take on Day 2 operations. 
    Give other teams access to workflows

Now, your network engineers can take over the ongoing operations and use the workflows and tasks you've created. They don't need advanced Puppet knowledge or detailed understanding of the underlying automation. Using Puppet Edge, they can handle common tasks like adding VLANs to a switch, updating credentials on a router, or executing Ansible® playbooks using the tools you've built for them using Puppet Edge.

What Puppet Edge Brings 

Puppet Edge introduces new capabilities that simplify automation across the lifecycle. For a deeper dive into each of the new capabilities, follow the related articles in this series:  

  • Puppet EdgeOps: Native network device automation with NETCONF and YANG [COMING SOON!]
  • Puppet Edge MCP: Code assistance in your IDE with Puppet Infra Assistant [COMING SOON!]
  • Puppet Playbook Runner: Running Ansible playbooks from Puppet [COMING SOON!]
  • Puppet Workflows: Packaging Ops Runbooks with Workflows [COMING SOON!]

Want to explore Puppet Edge with your own network devices? Check out our videos, overviews, and more on our Puppet Edge product page.

Top comments (0)