Automation and immutable infrastructure: what it means for your business
In this post I’ll be looking at what automation (along with terms such as immutable infrastructure) mean to your business and, more importantly, your customers. On the face of it automation may not seem to have any direct impact on your customers, but it’s actually one of the unseen heroes of the product development lifecycle, and something that’s definitely worth bothering with.
Talk to one of our digital experts
Tom Houdmont
Head of Business Solutions
Do you have an idea or a project you need support with?
Tom leads Box UK’s Business Solutions team and has over 15 years experience in the web industry. Tom is passionate about creating impactful solutions that solve real problems and deliver the outcomes our clients need.
Or call us on 020 8098 2093
Being a software development engineer I will refer to the software development lifecycle during the rest of this post, but you’ll likely find that most of the points can be applied to other industries that you may be familiar with, in one way or another.
What is automation?
Over the last few years, automation has become key to the delivery of a high-quality product, not only in software development but also for many other industries. The key thing here is: do it once, do it well, make it replicable. Automation makes it much easier to create something that works from a previously known state, and if you choose to make it impossible to alter the state of something that works it should continue working, predictably.
What is immutable infrastructure?
Systems that are not subject or susceptible to change are known as immutable, and when applied to infrastructure in the software development industry, the term used is immutable infrastructure.
What are the benefits of immutable infrastructure?
A hugely beneficial side effect of immutability is reliability. Whether you’re serving content on bare metal systems or in the cloud on services like Amazon Web Services and Microsoft Azure, there is always the risk that something will fail and you will need to rapidly restore your systems. In these situations, having recent backups is fine, but normally the process to recover these is not as well-tested as it should be and, critically, can be incredibly time-consuming.
If, however, you have immutable systems that are backed by frequently-used automation processes, you effectively have disaster recovery built in; your infrastructure becomes disposable and you’re free to recreate environments quickly and easily.
How does immutable infrastructure impact development projects?
Immutable infrastructure plays a hugely important role in modern software development, as rather than changing part of your infrastructure, you can now create a new piece with the required new features and throw the old one away. The rise of cloud computing over the last decade has given us the tools to make this cheap and efficient – so that all kinds of systems, from smaller brochure websites to huge-scale international social media networks, can benefit from the increased confidence and, more importantly, predictability that comes from having systems you know work as expected or can easily replace in event of a failure.
Where can automation/immutable infrastructure be applied?
Automation inspires confidence in both software and the architecture on which it runs. It can be applied everywhere from development environment bootstrapping and continuous integration systems through to production web application systems and disaster recovery plans. With careful planning, it can allow you to recreate entire systems or apply upgrades to environments with the single click of a button; reliably reproducing the same results over and over again.
What are the drawbacks of automation and immutable infrastructure?
As with all things, there are trade-offs to this approach. You can’t just make changes, so nearly all updates will need to go through a release process, which is a good thing! However, without well-tested automation, releases are often fear inducing, painful and time consuming experiences. When you have confidence in your automation, though, and can be sure of the state of your production systems at all times, all of a sudden releases become simple and can be done many times a day.
In summary
Some initial investment in infrastructure automation sows the seeds that will enable you to reap the benefits of forward-planning and thorough testing; facilitating easy, fast and predictable deployments, every time. As a business this gives you the confidence to react quickly to change and supports agile development workflows throughout the entire product lifecycle. Fast release cycles also allow you get new features to market quicker and more efficiently than would have been possible previously, and the automation that enables this means your engineering teams can use their time working on new product features rather than firefighting a time-consuming manual release process.
Obviously infrastructure does need to be coupled with a quality product. A quality production line doesn’t automatically guarantee a quality product in isolation. But it is a hugely important tool in the arsenal for modern software development; enabling developers and businesses to deliver high-quality, world-class systems.
Subscribe now and get our expert articles straight to your inbox!
"*" indicates required fields
Related Insights
-
BlogRead more: Maximising the Effectiveness of Digital Strategies in Government Organisations
Maximising the Effectiveness of Digital Strategies in Government Organisations
by
on
Key approaches to transform Government organisations…
-
BlogRead more: Unlocking Member Engagement
Unlocking Member Engagement
by
on
Digital Strategies for Enhanced Engagement in Membership Organisations Fostering new and existing…
-
BlogRead more: Turning Interest into Action: Proven Tactics for Boosting Membership Acquisition
Turning Interest into Action: Proven Tactics for Boosting Membership Acquisition
by
on
The key priorities for many membership organisations are changing with increased pressure…
Have a project you’d like to discuss?
Give us a call on 020 8098 2093 or fill in the form and we will get back to you.