As application development becomes more agile, software development pipelines are adopting frameworks that result in greater speed between development, pre-deployment, and runtime environments. The increasing speed of software development has driven demand for faster deployments and more scalable application architecture. Additionally, with current applications running on public cloud infrastructure, agile software development architecture helps in rationalizing resources and reduce time to market. Microservice architecture, enabled by containers and orchestration technology, is viewed as leading the solution to replace current monolithic software development. The schematic below shows the comparison between current monolithic architecture of software development/deployment vs microservices architecture (Exhibit 1).
Exhibit 1: Comparison between monolithic architecture of software development/deployment vs microservices architecture
Microservice architecture breaks an application into independent, loosely coupled microservices (services). The use of containers allows these services to be packaged together to run independently and allows them to be moved from one runtime environment to another, without causing any disruption. Additionally, microservice architecture allows for each service/container to scale and update using proxies without disrupting other services in the application. This in turn facilitates Continuous Iteration / Continuous Development (CI/CD), a framework for enabling agile software architecture flow. Additionally, container orchestration technology like Kubernetes (from Google) and Docker allows a highly flexible, dynamic, and agile application development/deployment environment, moving away from the current deployment on virtual machines which are managed by a hypervisor. The schematic below shows the streamlining in microservices/containerization vs current virtual machine based architecture (Exhibit 2).
Exhibit 2: Streamlining in microservices/containerization vs current virtual machine based architecture
Source: Docker, Needham
The adoption of this microservice architecture in application development/deployment can be seen in Exhibit 3 below – enterprises are increasingly starting to adopt containers over virtual appliance for new applications.
Exhibit 3 Adoption of microservice architecture in application development/deployment
Source: F5 Networks, Needham
We believe this architectural shift in software development/deployment is a longer-term secular shift presenting a fertile investing landscape in software over next five years. We are actively looking at investment opportunities in companies that have unique leadership position and set to benefit from this architectural shift to microservices.
This information is not intended to provide investment advice. Nothing herein should be construed as a solicitation, recommendation or an offer to buy, sell or hold any securities, market sectors, other investments or to adopt any investment strategy or strategies. You should assess your own investment needs based on your individual financial circumstances and investment objectives. This material is not intended to be relied upon as a forecast or research. The opinions expressed are those of Driehaus Capital Management LLC (“Driehaus”) as of October 2020 and are subject to change at any time due to changes in market or economic conditions. The information has not been updated since October 2020 and may not reflect recent market activity. The information and opinions contained in this material are derived from proprietary and non-proprietary sources deemed by Driehaus to be reliable and are not necessarily all inclusive. Driehaus does not guarantee the accuracy or completeness of this information. There is no guarantee that any forecasts made will come to pass. Reliance upon information in this material is at the sole discretion of the reader.