Harness containerized infrastructure
24 June 2020
Software development and maintenance were dramatically inefficient throughout the last century. The absence of tools for testing and deployment made new release update cumbersome and expensive.
Containerization created the DevOps role which allows an agile and flexible deployment pipeline (from an average of 4 updates per year to hundreds per day) while ensuring thorough testing. We believe that these new technologies are a huge catalyst for the software market overall and we expect the pace of innovation (and new products hitting the market) to rocket in the next few years thanks to containerization.
Ship Software Like Goods
Deploying software: a historical challenge
Software, once developed, still needs to be tested, and upgrades/bug fixes deployed. For software developers, this has always been a challenge, but recent technological innovations make such processes smoother by providing new useful tools.
- The combination of different hardware and operating systems makes the testing task particularly difficult to perform due to the limitless number of end-users’ machine configurations.
Performance of containerized software
As for the freight industry, no matter what kind of goods are shipped into the container, the ship only manages the box itself. In the software world, « containerizing » means separating the code from the environment in which it runs (OS, hardware specs, etc.).
- Data security and scalability (i.e., the capacity of a system to handle traffic increase) is increased.
- Brings about the DevOps engineering field, responsible for the continuous testing and deployment of new pieces of software codes.
The benefit of a flexible software “supply chain.”
Software testing, bugs fixing, and maintenance are costly. Flexibility and fast updates are thus critical to reducing such costs.
- Long downtimes are a no-go for any business. DevOps reduces downtime and helps to push quick and efficient software updates to the end-user.
- Docker, a private software company, dominates the software container market.
- Containerized software is the first step. Handling simultaneous and numerous containers is called Orchestration and is the next level in DevOps.
The Challenge Of Software Deployment
No silver bullet
For decades, solving the software development problem was the main focus for researchers and IT companies.
- Maintaining software was twice as expensive as developing it.
- Fixing a bug after the software release would cost up to 30X more than during the development phase.
- Discipline and strict organizational procedures could not overcome these structural issues.
Disparate supporting software environment
The software stack needs to run reliably when moved from one computing environment to another. Although challenging, this is a critical step.
- The number of testing environment possibilities is practically infinite.
- The cost of hardware and the absence of tools made efficient continuous testing impossible.
An inefficient workaround: Virtualization
Often used in enterprise infrastructure technology, virtualization is a system (called a hypervisor) that “virtualizes” a computer within a computer. For instance, having Windows 10 installed in a MacBook is virtualization.
- The most famous hypervisor is Oracle VM VirtualBox.
- The launch of a full OS and its applications takes several minutes and uses several gigabytes of memory.
- VMs size limits considerably the number of different environments one can have installed on a single machine.
Lodging Applications Into Containers
A container consists of an application plus all its binary and configuration files, bundled into one single package. By doing so, it does not have to rely on a specific operating system (OS) and its underlying infrastructure.
- A container requires 100-1000x less memory than a virtual machine (VM).
- It takes only a few seconds to spin up a container, allowing to add capacity (scalability) and quickly face increasing load.
- Containerization increases scalability up to 100x that of traditional VMs.
The creation of DevOps tools
Containerization has made testing and deployment way more flexible. Software containers help standardization and efficiency throughout the “software supply chain”. DevOps is all about handling integration and deployment.
- Continuous Integration (CI), allows merging bits of new software code into a mainstream branch and test it.
- Continuous Deployment (CD), allows deploying and updating software directly to the end-user.
Isolating data: best practices for a secure and scalable system
The container technology is now also used to isolate functionalities and data. A container is like an impenetrable black box where sensitive data can remain isolated from the rest of the program.
- If a container is compromised, it is trivial to isolate the component from the rest of the application.
- Application updates can be deployed at scale securely and efficiently.
A Clear Economical Advantage
The cost of downtime
DevOps optimize the deployment software pipeline, and failing to do it properly can be very costly.
- The average cost of unplanned application downtime is $1.25 - 2.5bn, based on a $100k hourly price for infrastructure failure.
- The DevOps market is expected to reach $13bn in 2025, growing at an average of 18.6% CAGR.
Docker, the market leader in containerization
Docker is a platform as a service (PaaS) for Containerization created in 2010 and released to the public in 2013. In 2019, Mirantis acquired Docker’s Enterprise business.
- Docker accounts for more than 80% of containers running in 2018.
- In 2018, the global application container market was valued at $1.5bn and should grow at a 26.5% CAGR rate to reach $8.2bn in 2025.
Orchestration: the containers bandmaster
Isolating services is the standard in the software industry nowadays. Each application is containerized and ships through the DevOps pipeline. Different containers live next to each other and can lead to hundreds of instances that need to be simultaneously controlled.
- The most used Orchestration system is Kubernetes (Google), followed by Amazon’s ECS and Docker’s Swarm. They can handle up to 300K containers installed on up to 5K computers, each one using a unique configuration and system.
- KubeCon + CloudNativeCon Europe 2020. It is the biggest conference in the world for Cloud-Native software and containerized solution. This year, the event will be hosted online from the 17th to the 20th of August.
- Rancher announced the release of k3s. The software stack, including Kubernetes, is not necessarily designed to run on heterogeneous computing environments outside data centers. Rancher’s solution would increase the potential market for the whole containerized ecosystem.
- Microsoft, Amazon, and Google now support hybrid cloud. Google was the last of the big tech to announce a new multi-cloud (hybrid) system, Anthos.
- Snyk raised $150 Million to find container vulnerabilities. Even though a container is more secure than a legacy application, it does not necessarily make the whole ecosystem more secure. A flaw in container security could lead to dramatic consequences for Containerization.
- Weak Profitability. Even though Docker Enterprise was bought by Mirantis and had raised more than $250mn in its funding rounds, the company hasn’t been profitable yet.
- A better new technology. As for every IT technology, leadership is granted until it isn’t. Even though Containerization still has room for progress, there is no guarantee that this technology will not be jeopardized by a better one.
Companies mentioned in this article:
Google (GOOGL US), Oracle (ORCL US), Amazon (AMZN US), Mirantis (not listed)
This report has been produced by the organizational unit responsible for investment research (Research unit) of atonra Partners and sent to you by the company sales representatives.
As an internationally active company, atonra Partners SA may be subject to a number of provisions in drawing up and distributing its investment research documents. These regulations include the Directives on the Independence of Financial Research issued by the Swiss Bankers Association. Although atonra Partners SA believes that the information provided in this document is based on reliable sources, it cannot assume responsibility for the quality, correctness, timeliness or completeness of the information contained in this report.
The information contained in these publications is exclusively intended for a client base consisting of professionals or qualified investors. It is sent to you by way of information and cannot be divulged to a third party without the prior consent of atonra Partners. While all reasonable effort has been made to ensure that the information contained is not untrue or misleading at the time of publication, no representation is made as to its accuracy or completeness and it should not be relied upon as such.
Past performance is not indicative or a guarantee of future results. Investment losses may occur, and investors could lose some or all of their investment. Any indices cited herein are provided only as examples of general market performance and no index is directly comparable to the past or future performance of the Certificate.
It should not be assumed that the Certificate will invest in any specific securities that comprise any index, nor should it be understood to mean that there is a correlation between the Certificate’s returns and any index returns.
Any material provided to you is intended only for discussion purposes and is not intended as an offer or solicitation with respect to the purchase or sale of any security and should not be relied upon by you in evaluating the merits of investing inany securities.