We've talked a lot on this blog about the importance of DevOps engineers to your software development project. Having a team of skilled DevOps engineers increases build velocity, decreases feature time to market, and improves your application ecosystem's stability and availability.
But a good DevOps team is also an efficient team. Recently at TinyStacks, we encountered two customers with different DevOps maturity profiles. We were astounded by the differences - particularly, in how much one team spent on their cloud infrastructure versus the other.
DevOps: Governance of Your Cloud Infrastructure
We've talked a lot on this blog about the role of a DevOps engineer. DevOps engineers work hard to make your application's releases 100% automated. Furthermore, they lead the way in defining coding and change management standards within your company or organization.
DevOps engineers also help set standards that manage cloud spend. A good DevOps engineer knows that, when it comes to the cloud, nothing is free. Nearly every piece of infrastructure that a developer stands up in a cloud provider like Amazon Web Services, Microsoft Azure, or Google Cloud costs money. DevOps engineers seek to optimize total cloud spend across projects to deliver the highest availability with the lowest possible cost.
Unregulated infrastructure creation is also a security risk. If team members can spin up any AWS resources willy-nilly, there's a risk they could open the company up to a security breach. An unsecured API endpoint or Git credentials published in plain text can result in leaked source code or customer data. That's enough to bankrupt a small company.
A DevOps engineering team can assist on both fronts by bringing governance to your cloud operations. Using a variety of tools available on platforms like AWS, DevOps engineers can provide developers the tools they need to be productive while limiting excessive or unauthorized spend.
For example, a DevOps engineer might use tools like AWS Organizations and the AWS Service Catalog to enable on-demand creation of developer environments that are automatically shut down outside of business hours. They may use features like tagging and AWS Systems Manager to enforce company-wide security and usage policies.
A DevOps team, in other words, tends to pay for itself in the long run. Let's look at an example of how that manifests in practice.
More DevOps Engineers == Less Cloud Spend?
We know of two companies - let's call them Company A and Company B. Both occupy roughly identical market verticals and do around the same amount of business year over year.
Company A had two DevOps engineers on their development team. Meanwhile, Company B had five DevOps engineers and one dedicated DevOps manager.
In other words, Company B had a full DevOps team. That ain't cheap! With six people versus two, Company B was paying over three times as much as Company A just to oversee its DevOps infrastructure.
But focusing just on salaries would be pennywise and pound-foolish. Because, in this case, Company A was spending over USD $2 million per year on the cloud. And these costs were climbing year over year.
But what about Company B? There's the rub: Company B was only spending USD $300K per year. And their cloud costs remained tight and stable over the years, following expected annual growth projections.
The Importance of Governance and Cost Optimization
In other words, the additional oversight and efficiency that Company B gained from hiring a full-on DevOps engineering team translated into a nearly 7x cost savings on their cloud bill. Those additional four heads on the DevOps teams paid for themselves. They also netted B a tidy cost savings. On top of all that, they save B even more money year over year by preventing overruns of the type that Company A is suffering.
So how'd they do it? As we mentioned earlier, part of the cost savings comes from simple governance. Engineers spinning up infrastructure without oversight ultimately leads to wasteful excess. Virtual machine clusters, SSD drives, and other expensive cloud components are left running even if they're no longer being utilized.
But another important factor is cost optimization. DevOps engineers can look at the spend across one or many projects and find ways to shift spend to less expensive cloud services. This can result in significant savings at scale.
One example from our own experience is using Amazon Elastic Container Service's (ECS) Fargate service versus spinning up an ECS cluster of self-managed Amazon EC2 instances. We used to use AWS' serverless Fargate option to host all of the Docker containers that our customers deployed using our automated DevOps stacks. When we switched all of our workloads to EC2 clusters, we saw cost savings ranging from 18% up to 79%.
A DevOps Team? In THIS Economy?!
The tale of these two companies presents a dire warning to other software development shops. Typically, most companies hire a single DevOps engineer for every 15 "regular" developers churning out feature designs and code. But that's not even barely enough. That 15:1 ratio, most companies realize, quickly becomes a bottleneck.
So the solution is simple - hire more DevOps folks, right?
Unfortunately, in today's marketplace, that's easier said than done. It's an employee's market, which means there's tough competition for hot job categories across the board. And "DevOps engineer" is one of the hottest. There are nearly 1 million unfilled tech roles in the United States alone - and some 50,000 or more of those are for DevOps engineers.
Your Automated DevOps Engineer
At TinyStacks, we recognized a while ago that the shortage of talented DevOps engineers was holding companies back from releasing amazing software on time, in budget, and with high quality. So we set out to change the status quo.
With TinyStacks, we aim to create a new reality - one where any engineer, regardless of their cloud competency or DevOps know-how, can push out changes to production safely, securely, and in a fully tested manner. We're empowering app devs without sacrificing cost, flexibility, or visibility.
TinyStacks empowers our customers to dive into the world of DevOps without the massive expense. And we're constantly optimizing our service to deliver higher quality and availability at lower cost - such as with the shift from Fargate to EC2 that we discussed above.
Of course, this doesn't mean you won't ever want to hire a DevOps engineer. But with TinyStacks, you can delay that important decision until the needs of your project demand it. And DevOps engineers can boost their productivity with TinyStacks' array of automation features. Instead of the usual 1:15 ratio of DevOps engineers to developers, you can hire instead at closer to a 1:75 rate - a significant long-term cost savings.
If you want fully automated cloud deployments at the lowest possible cost without having to build your own DevOps team, contact us today and we'll set you up with a test drive!