What is DevOps?
DevOps has many meanings to many businesses, but essentially it is a series of practices which help organisations deliver applications quickly and reliably.
Although DevOps is not a new practice, the combination of building, testing, deploying and monitoring has become such a huge cost to companies that it has evolved into its own dedicated field.
A Common Example
To understand it in its simplest form, a company which builds CRM software wanting to do multiple releases per day rather than one per month could:
- Set up a trigger to start an automated build process when new code is completed
- Run an automated build script and automated test script for your latest code
- Release the code to production for your customers to start using
This turns what would ordinarily be a whole day’s work into one that takes minutes. It allows you to deliver more functionality faster and cheaper.
Some common examples of setups that fall under DevOps are:
- Auto Scaling infrastructure
- DNS Failover
- Long term cloud-based logging
- Application monitoring and notifications
- Various security components such as VPNs, firewalls and security policies
- Continuous Integration and Continuous Delivery
Depending on your current technical setup, implementing just a few DevOps features can save you from hundreds to tens of thousands of dollars each year.
There are numerous benefits to a DevOps approach but the three most important are delivery speed, delivery reliability and scaling & cost.
Up until recently, and still in many cases today, it wasn’t uncommon to take a day to release changes to a website or web application. This might not sound daunting if you’re releasing once a month, but when customers expect changes, bug fixes and enhancements weekly or daily the costs can quickly begin to mount up. Having automated delivery and deployment scripts which do everything that you previously had to do manually, significantly cuts down the time to get changes to market in a timely manner. This can save days’ worth of work each month.
As a software provider, having a DevOps setup which allows you to get your changes to market faster than your competitors is incredibly valuable. If you are an agency it allows you to drastically reduce both time and cost of making live changes to websites and web applications.
Moving fast is great and deploying changes regularly sounds fantastic but can bring reliability into question. Development is complicated no matter which way you look at it and human error is a very real factor. Having automated scripts and/or unit tests ensures that what is rapidly deployed actually works. In a DevOps setup, during the build and deployment process you can run these automated tests and prevent the deployment from going live if something fails. This largely prevents bugs slipping through the cracks and getting in front of your customers.
Scaling & Costs
DevOps obviously has a labor cost associated with it for set up and maintenance; however, there are significant cost savings to be made. Savings can be made by turning servers on or off during high load periods or ramping down server sizes during off-peak times. Similarly, the money saved by not having to allocate days of developer time each month on deployments can become significant. Savings due to DevOps implementation at Arcadian range from $200 per month for a basic WordPress site to $15,000 per month for larger web applications – this is no exaggeration and we have shared this story with many clients in the past.
Typical Use of DevOps
There is a mentality that DevOps is for big business and this couldn’t be further from the truth – it’s for everyone. If you do anything, from a couple of WordPress updates per year to daily production releases for banking software you will see a benefit.
A typical WordPress website should be updated at least twice per year. Loosely, it takes 4 hours to do the work and 4 hours to deploy and test the updates. With this in mind, if you implement an automated deployment and testing process for your site (which may take 8 hours) it will have paid for itself within the first year. Along with other changes All other updates or changes you make to your website in-between basic WordPress/Plugin updates (e.g. new functionality) would save you over $500 per deployment. So, after the first year, you would save at least $1,000 every year.
Corporate Business Websites
As your business grows, so does your website. Numerous integrations with third parties, various content editors and increasingly complicated functionality all add to the complexity of site maintenance. To this end, the testing requirements of a new deployment also increase. At a minimum, you need to ensure that:
- No 404 pages have crept into the build
- No content was overwritten
- All third-party integrations still work
- All forms still work
- Form submissions are still received
- Content editors can still access the system
- Content editors can still upload media
- Design elements weren’t broken
- Any redirects (which need to be put in place for SEO) work
This is not an exhaustive list and between deployment preparation and post-deployment testing, this can take 8-16 hours. A sloppy deployment is often risked by companies if the time isn’t available or they’re unwilling to accept the large cost. Two Deployments per month could cost you $2,000+; a DevOps setup to test this could be done in a week and then you’d enjoy 10 months of worry-free deployments with lots of new functionality and changes for your customers.
The other common problem with corporate sized sites is infrastructure costs. Paying for large servers every hour of the week when the peak period is only 9am-5pm is a waste of resources. Setting up Auto Scaling is a great way to save costs without compromising user experience. By ramping server sizes up or down depending on how much load your website is experiencing (e.g. during high traffic periods), you can easily save $500 per month for a corporate sized site.
50% of the work we do at Arcadian is on Web Applications and we do 5-20 releases per week (again, not an exaggeration). Some of these are business tools which could be released/deployed manually and some are online meal programs which would take days to release and test properly.
One challenge for business applications is that they often experience huge loads in narrow periods of time. It might be everyone loading their recipes around dinner time or marketing managers checking the latest analytics from a national media campaign. Without having to pay for large servers all day just to cope with 5 hours of high usage, auto scaling groups can be set up to optimise server and database server usage.
Along with automated deployments, these two changes alone can save thousands each month.
DevOps practices can be implemented in almost any case allowing businesses to enjoy benefits in either quality, efficiency or cost. Whether it’s removing mundane deployment tasks from development staff or saving big on labor and server costs, DevOps will be a mainstream practice in software development over the coming year. Businesses who implement these practices will continue to stay ahead of their competitors and can free up resources to offer their customers more for less.