October 15, 2024

7 Ways Self-Service Automation Speeds Up DevOps & Empowers Platform Users

Platform Engineering
Ecosystems & Integrations

In software development, even common IT operations tasks require specialized skills. Collaboration between specialized teams is the driving force of DevOps, more than any tooling or workflow. But self-service automation becomes valuable when common, routine tasks and processes start to restrict developers and burden operations teams.

Application owners — the people responsible for software products — rely on Ops and infrastructure teams to provide the resources they need to create, test, and deploy great software. But as organizations balance increasing demands of speed and security, they’re increasingly driven toward low-code, no-code, and self-service tools that democratize infrastructure management (including automation) within set guidelines.

In this post, we'll explain the use case of self-service automation, why enterprises are adopting it more than ever, and its benefits across an organization, from developer productivity and satisfaction to security and faster software deployment.

Back to top

What is Self-Service Automation?

Self-service automation turns automation tasks into easy-to-use interfaces (typically with a GUI). It lets application owners trigger automation processes (like provisioning, configuring, and resetting), even if they don’t have automation expertise — because they don’t have to use the automation tool directly.

Imagine self-service automation as a simple interface on top of a complex automation process. That interface abstracts the technical side of automation with a more user-friendly, approachable method for running automation tasks.

In a traditional ticket-driven workflow, users without the knowledge or access to a certain tool make a request to an expert, who ingests it as a task.

A traditional ticket-based workflow might look like this (simplified):

  1. User creates a ticket requesting the change they need
  2. User awaits a response from the expert team
  3. Experts work to interpret the request and understand what the user wants
  4. Experts plan the work based on internal service-level agreements (SLAs)
  5. Experts confirm the plan with the user (depending on the scope)
  6. Experts make the change
  7. Experts confirm the change to the user
  8. User’s request is fulfilled

Self-service automation truncates the traditional process by simplifying the user’s choices, standardizing the tasks they can access, and automating repeat tasks.

A typical self-service workflow might look like this (again, simplified):

  1. User logs into a self-service platform
  2. User selects the change they want to make from a list of predefined tasks
  3. Self-service platform coordinates with the appropriate tools (usually via API) to execute the task automatically
  4. User’s request is fulfilled

Additionally, a self-service platform can usually track details of the request (who, what, when) for documentation and auditing purposes.

Why Everyone in DevOps Wants Self-Service Automation

Self-Service Automation: Why Everyone in DevOps Wants It - A circular graphic representing DevOps challenges that occur when self-service capabilities aren't available to application owners. The four quadrants are "Developer Toil," "IT Ops Burden," "Password Sharing & ClickOps," and "Drift, Errors & Mistakes".
Back to top

Self-Service Infrastructure Automation: Empowering More Teams to Manage Infrastructure

Self-service infrastructure is a software toolkit that lets individuals manage IT infrastructure, even if they don’t have the right skills or access to use infrastructure tools directly. Self-service infrastructure is commonly used to let developers provision resources, configure system components, install software packages, and other essential infrastructure tasks automatically.

Self-service infrastructure typically puts an automation and configuration management tool (like Puppet, Ansible, Chef, Terraform, or a mix) behind a self-service interface (like ServiceNow) that lets designated users request new resources or changes to existing infrastructure without logging into the automation and configuration management platform. Self-service infrastructure is a core element of DevOps self-service and platform engineering.

The IT operations or infrastructure team can typically run automation tasks and workflows because 1) they’ve spent years learning how and 2) they have the right permissions. They can spin up new servers, configure things for development, and start and stop services. That subject matter expertise makes the operations team really important for making sure developers have what they need to do their jobs, but it also means developers depend on tickets submitted to the IT team to perform those tasks for them.

Why DevOps Teams Want (and Need) Self-Service Automation Now More Than Ever

Is your DevOps ready for self-service? Learn why it's on the rise and how to lead your teams to self-service success with our free white paper.

A cover of a self-service automation white paper by Puppet sized for embedding in body copy.

SELF-SERVICE WHITE PAPER

When teams get busy, which they often do (especially in an enterprise organization), IT ops can’t turn around those tasks as quickly as developers need. In response, developers (and other users, for that matter) have to wait — or, in many cases, try to do it themselves by getting someone in IT to share their password or by making ad hoc changes that don’t get properly accounted for.

It’s pain points like that that have led to a rise in demand for self-service infrastructure among DevOps teams in recent years.

Back to top

7 Ways Self-Service Automation Speeds Up DevOps & Empowers Users

Providing self-service access to automation makes developers happier, helps operations make better use of their time, and helps organizations meet their goals faster.

Specifically, the benefits of self-service automation include:

  1. Reduced wait time for developers
  2. Fewer repetitive tasks for IT ops
  3. Improved consistency and compliance
  4. Less password sharing
  5. Less unauthorized change
  6. Less configuration drift
  7. Optimized resource allocation and usage

For years, our DevOps Evolution Model (seen in our State of DevOps Reports) has ended with Stage 5: Self-Service. In our experience, adding self-service capabilities to any IT function, including infrastructure management, is a sign that you’ve practically optimized your DevOps.

When you ‘achieve’ self-service infrastructure automation, it’s evidence that you’ve gotten your development and operations teams on the same page. Organizations that have self-service have put significant effort into fostering collaboration between two separate functions: They’ve standardized practices; they’ve unified the DevOps toolkit; and they’ve enabled a high degree of automation and autonomy in provisioning, testing, change management, deployment, and reporting.

Back to top

The Barriers to Self-Service Automation: Why Isn’t Everything Self-Service Yet?

If you’re reading this blog and wondering, “Why would any organization not choose self-service over ticket-based workflows?”, you’re not alone.

Self-service adoption is on the rise, but in our experience, there are a couple things that prevent complete self-service saturation in DevOps:

Self-Service Might Not Yet Be Right for Every Single Organization

Most self-service automation takes time to develop or money to buy. When you’re a small enough team to handle daily IT tasks without too much burden, you might be able to get by without building or buying self-service functionality into your DevOps tooling — until you need to scale up and out, that is.

Some Organizations Don’t Want to Risk Giving Non-Experts Too Much Freedom with Their Automation

There’s a line between ‘empowering developers with self-service’ and ‘handing everyone the keys to the kingdom, even if they don’t know what they’re doing there’. Obviously, unchecked provisioning and changes are a risk; they lead to configuration drift, performance issues, tech debt, compliance errors, and even downtime.

That’s why any self-service automation you use should come with role-based access, guardrails, and change management to make sure your teams are leveraging automation in approved ways — but the perception of ‘too much freedom’ can keep some IT leaders from pursuing self-service automation as part of their strategy.

Back to top

Self-Service Infrastructure Automation Tools

Because they need different things, different teams will use different self-service automation tools. (For example, data teams might use low-code interfaces to build visual workflows, while business users might use the automation functions of communication tools.) Because infrastructure management is one of the functions that can benefit the most from self-service automation, that’s what we’ll focus on in this list.

Self-service automation tools for infrastructure include:

  • ServiceNow
  • Jira Service Management
  • AWS Service Catalog
  • Google Cloud Deployment Manager

The Cost/Benefit of Building Your Own Self-Service (with an Example)

As we mentioned before, it’s also possible to build your own custom self-service interface without relying on pre-built tools. It comes at the cost of longer development time, complexity of integration, and difficulty ensuring secure access. Benefits, on the other hand, include flexibility, customizability, and a user experience more tailored to your users.

Singapore’s DBS Bank actually built their own self-service platform with Puppet. DBS Bank’s previous provisioning process required sysadmins to fill out over 1,400 form fields on over 30 forms across more than 20 portals, then wait up to three days, depending on the complexity of the request.  

 The company replaced this cumbersome process with the “Technology Marketplace,” a self-service platform that lets admins build, run, change, and manage secure, compliant infrastructure faster than a traditional ticket-based workflow. Puppet is the automation engine for DBS’s Technology Marketplace, automating tasks for storage, ID management, system services, installing software, security configuration, and more. 

Read the DBS Bank case study to learn how they save time, free up IT ops resources, and streamline infrastructure readiness checks with Puppet-powered self-service.

Back to top

Self-Service Puppet Automation with the Puppet ServiceNow Integration

ServiceNow is one of the most popular IT service management (ITSM) tools on the market. The Puppet ServiceNow integration gives people in your organization who aren’t Puppet pros the power to run Puppet tasks without ever touching Puppet directly.

You can use the Puppet Spoke for ServiceNow two ways:

  • Pre-built Puppet tasks (like installing agents on servers, installing packages, and rebooting machines)
  • Custom Puppet automation workflows (like patching groups of servers, deploying new resources, and more — the possibilities are endless)

Self-service Puppet automation with ServiceNow is available exclusively to Puppet Enterprise Advanced users. Learn more about the integration at the link below, or download our white paper on self-service automation to dive deeper on the topic.

GET SELF-SERVICE PUPPET   DIG DEEP ON SELF-SERVICE AUTOMATION

Back to top