With economic uncertainty on the horizon, companies that focus on smart investments in operational efficiency and productivity — think DevOps automation — have the opportunity to pull ahead of the competition. Forrester predicts a dampening of automation velocity despite the benefits of automation, but they see an opportunity for those willing to invest now.
“Efforts will pay off for those with the mettle to adjust to 2023’s realities while doubling down on automation to reap an overwhelming competitive advantage”
— Forrester Predictions 2023: Fortune Favors The Bold And Focused
Smart investments in DevOps automation tools help you get more ROI from the developers and tools you’ve already invested in.
What is DevOps automation?
DevOps automation is the use of tools to automate parts of the software development life cycle. The goal is to accelerate development processes and improve reliability so you can increase deployment frequency and quality. Automation is a key component of DevOps best practices.
The goal of DevOps is to bring development and operations together to increase the speed and efficiency of software delivery. It moves away from slow siloed operations and encourages shared responsibility and a focus on continuous improvement through frequent deployments.
Instead of developers tossing code over the wall for testing and deployment, they perform more of those tasks earlier in the development process. This is sometimes referred to as "shifting left" or "you build it, you run it." Automating those tasks, especially in Continuous Integration and Continuous Delivery (CICD) pipelines, empowers developers to work faster and more efficiently, which contributes to the goal of DevOps.
The benefits of DevOps automation include
- Efficient workflows and processes
- Faster, more frequent deployments
- More time spent coding
- Increased security
- Fewer errors
- Higher quality products
- Happier developers
How much time can DevOps automation tools save?
In our survey on developer productivity, we found that developers spend more than 15 hours per week on tasks outside of writing application code. These tasks included maintaining internal tooling, setting up and debugging pipelines, setting up dev environments, and a lot of waiting.
These insights suggest that there is room for DevOps to further accelerate development with more automation. Even recovering a portion of those 15 hours of lost time can be valuable.
Using automation to free developers from tasks that don’t add value or contribute directly to application code, means they have more time to spend on the code itself. Wondering exactly how developers would spend that recovered time? Find out in the Developer productivty report.
A new approach to DevOps automation
DevOps automation is more than tools. As with any change, people and culture play a big role. The tools you choose only work if developers use them. This is where Garden offers an advantage.
Built by developers who were frustrated, Garden takes a different approach to automation and addresses the root cause of many developer pain points. Unlike tools that automate a singe part of the SDLC — leaving developers with plenty of other problems — Garden offers a paradigm shift which waterfalls into intuitive automations across the SDLC
The heart and soul of Garden is the Stack Graph, a single blueprint for all your services and dependencies. This is the foundation of our DevOps automation features. It encompasses everything, soup to nuts, enabling a slew of helpful automations instead of slowly tackling pain points one at a time.
The Stack Graph is an executable blueprint for going from zero to a running system in a single command. It ensures speed and consistency across dev environments.
The Stack Graph allows you to describe your whole stack in a consistent, structured way, without creating massive scripts or monolithic configuration files. You codify a complete description of your stack using intuitive YAML declarations — making your workflows reproducible and portable.
DevOps automation examples across the SDLC
We did the research, identified where developer productivity is lost and created solutions to help developers get that time back. Let’s look at how Garden makes developers’ day-to-day work easier and increases developer velocity across the software development life cycle.
Automate setup and configuration so developers can start new projects faster
Before developers can start coding they have to identify the tools they need for the project, configure those tools and complete tasks such as setting up a dummy database. This work doesn’t add value. It’s just necessary steps that happen before developers can work their magic.
Automating setup and configuration can shave days off a project and keep developers focused on the high-value work of coding.
Garden automation features that reduce time spent on configuration
Stack Graph: As we said, the Stack Graph is the secret sauce that makes all these time-saving features possible, but it's worth calling out specifically when we talk about automating configuration. The Stack Graph allows DevOps teams to codify and ship an entire toolchain to developers, eliminating the time developers spend figuring out tools and writing bash scripts before they start a project. Developers simply run Garden and start coding.
Dev namespaces Each Garden project includes environments that are codified in your organization's configuration (Dev, CI and Prod). Each developer has their own namespace within this configuration. This improves configuration consistency while offering the flexibility to create different namespaces for separate deployments or instances in your application.
Tasks: With Garden's Tasks, the DevOps team defines tasks that the Developer can simply run instead of having to do them step by step. During configuration, Tasks can automatically set up and populate the dummy databases developers need, saving them hours or even days of work that is necessary for the project, but not adding value for the company.
Role-based access controls, secrets management and single sign-on: Garden allows DevOps teams to automatically provision all secrets for all environments and includes RBAC and SSO. Existing configurations work out of the box for everyone without the need to share sensitive information on Slack or other channels. Users can get started quickly using one set of credentials to log into multiple applications with the right level of access.
Accelerate the inner loop
The inner dev loop is where writing and testing code happens. Automation tools that reduce pain points in the inner loop improve the developer experience and help developers move code into the CI/CD pipeline faster. Many inner loop frustrations stem from discrepancies between local and production environments. Garden not only eliminates differences between local, testing and production environments with the Stack Graph, but also offers some game-changing features for developers.
Garden features for the inner loop
Production-like environments: Garden can spin up remote, production-like environments — which accurately reflect services and dependencies — with a single command. This means developers can code in realistic environments without sacrificing speed. Developers get feedback faster, catch bugs earlier, and can deploy to CI with confidence that their code is going to work the way it did on their local machine. It's inner-loop bliss.
Rapid iteration: Developers can run end-to-end tests that actually reflect production before pushing to CI, which means they spend less time in CI purgatory, waiting to see if the code that worked in dev will work in CI or troubleshooting why tests failed (is it the code or the pipeline?).
Triggered workflows: Workflows allow users to define simple, CI-like sequences of Garden commands and script steps, that can be run from a command line, in CI pipelines or directly triggered from PRs or branches because they’re vendor agnostic. This enables developers to run the CI/CD pipeline locally, in GitHub actions or anywhere else instead of having to commit their code and wait on pipelines when they need quick feedback.
One-click preview environments with automated clean up: Garden enables developers, QA and product teams to see code in action without relying on shared staging environments. Developers can spin up a new unique preview environment with "one-click" from any branch in the code repository for use in QA bug finding, scenario testing and scale testing. What’s more, you can set rules to automatically spin down unused environments to keep cloud infrastructure costs in check without added manual work.
“I used to have to wait days to see my changes in real environments, in a messy shared staging environment. Now I get my own environment from scratch and test my changes in seconds.”
—Michell Friedman, Software Engineer
CI/CD automation speeds up pipelines
Garden’s inner loop features set developers up for a more pleasant run through the gauntlet of CI/CD pipeline testing. Realistic environments, CI-like sequences and previews improve the quality of developers’ code before they commit. Additional features mean Garden fits perfectly into continuous integration pipelines.
Garden CI/CD automation features
Automate CI pipelines: When you codify your services and dependencies in the Stack Graph, you create a portable pipeline so that your stack is rebuilt the same in CI as it is on your local machine. This can effectively automate away CI scripts steps that are traditionally needed for setting up environments – not only making testing more reliable, but also much faster.
Image test and cache: Normally, developers have to wait for the images to be rebuilt and the entire CI pipeline to rerun every time they test a change, adding insult to injury every time their code fails. Garden keeps track of environment changes and recognizes whether a build or test has already run so developers can safely skip repeating unnecessary retesting and work. Testing pipelines run faster because they test only what changed. Developers can move from commit to production faster, accelerating time to market.
“ Garden’s shared cache for building images—and all the time we’d save as a result—was the initial selling point for using Garden.”
—Arnaud Rinquin, a senior developer at Slite
The software development life cycle has many distributed systems and moving parts. It can be hard for DevOps teams to see exactly what’s going and where opportunities for improvement lie.
Garden features that provide more insights and data
Stack Streams: Stack Streams provide a clean, linear view of logs and traces for your entire stack, making it simple and painless to figure out what broke and what you need to do to fix it whenever a test fails. You can stream events, build and service logs, and test/task results in real time when Garden is running in watch mode
Audit logging: Garden provides live logs for your whole environment that you can share and adapt without re-running the command. Visualize how requests flow through the system and see which commands you ran and their log output over time to identify trends.
Insights: Get actionable, proactive data about deployment services for build, test, deploy, and tasks in Garden. Insights captures and displays data from user interactions in a dashboard with metrics, a trend indicator and a detailed view with time series for each action. Head off issues before deploying, identify errors in failed CI quickly, spot slow services, and find opportunities to improve test failure rates, increase speed to market, and deploy more frequently.
All of this means faster more reliable deployments and happier developers
Garden isn’t your typical DevOps automation tool. We take a holistic approach that accelerates team velocity at every step of the SDLC, offering support to DevOps and platform teams as well as developers. After all, many of us here are developers with our own horror stories to share.
By improving the developer experience and eliminating the worst pain points, Garden helps you deliver better software faster in a way that’s good for your business and your developers.
All these little improvements in operational efficiency (and a few big ones) add up to an incredible amount of time developers can put back into coding. As Sara, a product manager at Reprise says, "The time saved by using Garden is really hard to quantify, it's massive.”
Garden makes it easy to automate away grind and unleash your developers’ productivity. Let’s talk about how we can integrate with your tools and unlock the efficiency you need.