In today’s increasingly digital age, lightning speed innovation is the key to success.
Take the examples of Uber, Spotify, and Google – three companies that are leading the charge when it comes to cutting-edge technological development. One of the most disruptive players to hit the world stage in recent years, Uber, is fast becoming king in the service industry, running a million trips a day in over 60 countries, and employing 4,000 staff to do so. At the same time, Spotify dominates the music sphere by delivering a fast and reliable streaming and download service to over 60 million users every day, while Google is - well, Google.
How are these companies able to innovate at such pace, leaving baffled customers and competitors in their wake? The answer is simple. To deliver a seamless and efficient service 24/7 requires back-end infrastructure built to offer the kind of continuous delivery that safeguards fast growth and helps maintain competitive advantages by skirting the pitfalls of slipshod, ‘fail fast’ development.
An engineer’s choice
Container technology is so intrinsic to this aim because it allows software engineers to bundle a piece of software into a complete filesystem that contains everything it needs to function, including runtime, system tools, code and system libraries. The software can therefore run in the same way every time, regardless of the environment in which it is operating, which offers a more predictable and reliable service. Also, because containers running on a single machine share the same host server’s operating system, containerised applications can also start rapidly and make more efficient use of underlying hardware resources such as CPU & RAM, when compared to virtual machines.
Uniquely, containers can help businesses realise the organisational efficiencies that are required to reach that holy grail of productivity, efficiency, and delivery. This is because they help break down the barriers that have traditionally existed between developers and operations. Where once we would have expected developers to independently write code, and then hand it over to the operations team, containers enable developers to consider operations much earlier in the process.
The benefit of this approach is that problems that may have only been traceable later on in the development process can now be resolved from the outset. This pays dividends in terms of both personnel and resource utilisation – and, ultimately, cost savings.
Disrupt or be disrupted
This is the new normal in the world of business, thanks to rapid advancements in technology and globalisation, which allows new business models to be introduced at an ever-increasing rate and with rapidly declining costs. One key to surviving in a world of disruption, where the external environment is evolving at lightning speed, is to change the game internally. This requires companies to accelerate their speed of execution, as well as their ability to seize new opportunities.
One of the most attractive advantages of container technology, therefore, is its ability to enhance agility, allowing the development cycle to be sped up by reducing deployment failure. They are easy to start, stop, and move around, which means strong test infrastructure can be set-up in the beta stage. With this in place, software engineers can be confident that they are deploying something that will do the same thing each time, which means there are fewer surprises when it comes to releasing updates.
This is absolutely essential for businesses that rely on frequent software updates, such as e-commerce websites or consumer apps. When they want to release a new feature, they can simply push their code into production through a well-tested pipeline which allows them to move quickly and confidently. From a challenger perspective this functionality is priceless, as it helps businesses to keep up with disruptive competition.
Terms and conditions
You might be wondering why every company isn’t rushing out to invest in container technology, given the obvious benefits that they can add. However, the fact is that containers can only be effective to businesses that are already structurally and technologically ready to accommodate them. In other words, they can only function within a DevOps working culture when a company is approaching continuous delivery.
That’s not to say that the technology should be discounted by companies that have not quite reached this point. Containers can still play an important role in helping such organisations prepare for DevOps, by beginning to break down the barriers between these two teams.
Luke Bond, lead engineer, YLD