TL;DR. This article is about our evolution towards back-end infrastructure management and the benefits of DevOps.
The history of technology is defined by two types of people: the Jobs and the Wozniak. For every charismatic superstar, there’s an unsung genius lost in the mists of time. John Logie Baird could never have invented the television without the brilliance of a Utah man called Philo Farmsworth; Thomas Edison and Alexander Graham Bell might never have entered immortality without the work of Lewis Latimer, a child of runaway slaves who loathed publicity as much as he loved twiddling with lighting equipment.
Patrick DeBois is most definitely a Wozniak. He lives in the Belgian market town of Ghent, famous primarily for its flower shows, and his Twitter following is only 23,000 — 0.02% of Katy Perry’s. But, trust us, he has made an absolutely crucial contribution to 21st-century innovation.
DeBois is the guy who coined the term DevOps, which addresses one of the most pressing issues faced by today’s developers. When a piece of IT software goes down, it loses the business a ton of money, so we need to find a way to keep our products running, even as we grow and scale. DevOps has fixed this problem for us by fusing the front and back ends of the development process together.
We’re ardent believers in the concept, as we’ve shown with the development of our very own DevOps program, culminating in a proprietary emergency protocol. In this article, we’re going to talk about that very program. We feel the article will be particularly interesting to:
- Programmers wanting to expand their horizon
- Companies striving to maintain their infrastructure
- DevOps enthusiasts who want to see a real-life interpretation of the concept.
What Is DevOps?
As you might have guessed, the term ‘DevOps’ is a hybrid of ‘Development’ and ‘Operations.’ It isn’t a tranche of code, or a physical technology. In fact it’s best described as a philosophy, a value system for technology professionals like us to aim for.
In basic terms, DevOps encourages the people who create apps or websites to work together with those who manage the underlying infrastructure, like servers. So, when a problem emerges, they can fix it together.
Previously, these two teams would be rigidly separated. An engineer might release a product and sever all ties with it, leaving the infrastructure guys to clean up any issues (what we call the ‘throw it over the wall’ approach). This siloed mentality led to huge latency lads when bugs emerged; when people first started building mobile apps, it took the average enterprise developer nearly a week to fix an application problem.
But now, thanks to DevOps, the repair process has been reduced to a matter of minutes, saving clients billions of dollars every single year.
Why Does DevOps Work For Us?
For Mobile Jazz, it makes sense to embrace DevOps at this stage of our development. Since we started out in 2009, we’ve evolved from straight-up mobile developers into a full-stack development shop and now, in 2020, we’re a world-leading innovation company specializing in IoT, artificial intelligence and machine learning.
This evolution has been hugely exciting, but it’s also created an increasing demand for DevOps and system administration. As we move ever-more projects to the Cloud, the demand for long-term server management increases. Every time we add new technologies to our existing projects, we have to make corresponding tweaks at the backend (and the quicker we release these updates, so the risk of errors rises).
But to truly manage a client’s infrastructure, you have to be available 24/7. Initially, we hired an external company to manage the server infrastructure for us. But we soon realized this defeated the whole objective.
For DevOps to work, the code and the infrastructure have to be completely intertwined, so both can grow together. It’s not enough anymore to simply add another machine; the code also needs to be written in a way that is scalable.
We also thought about hiring system administrators, but the problem was the same. They didn’t have the programming skills we needed, so we’d have ended up with two siloed teams. So what to do?
In the end we decided to create, train and run our own DevOps team, upskilling our own, trusted in-house engineers.
Now we’ve got a fully trained DevOps team, whose members double as both engineers and system administrators. We’ve also built a full suite of tools for automated monitoring and error reporting, allowing us to react swiftly to any issues that arise, and built an interface for our clients to report issues.
Perhaps the biggest innovation of all is the emergency protocol, which allows our clients to reach out to our team 24/7 if there’s a significant emergency. We’ve developed a system whereby a client contacts us via email and that message in turn creates a phone call, which allows us to get into the problem ASAP. This is supported by an escalation procedure, which ensures there’s always someone to act on the alert.
Above And Beyond
We hope our clients never have to use the emergency protocol. We spend a big chunk of time fine-tuning our infrastructure, and we have our own early-warning monitoring in place to resolve any issues before the client even notices. The protocol is simply a last resort, something which guarantees that our applications will never go down.
We don’t expect our solution to go down in the annals of tech history. It’s very much a ‘Wozniak’ kind of innovation, the sort of thing that whirs away happily in the background and allows the more glamorous stuff to happen out front. But we hope it’ll make our company offering even stronger and allow us to keep going above and beyond for our clients.