2016 Prediction #1 – Production Application Development and Deployment Rapidly Transforming to Microservices Architecture
As I look back on 2015 and the great effort of the Mantl.io and CiscoShipped.io teams, I am reminded of the efforts I had in the initial cloud computing efforts 8 years ago. The buzz and market interest in cloud computing then was not accepted by traditional hosting and telecommunications companies. A retail company understood that their business needed agility and rapid delivery of software to accomplish the goals that the business vision had before them. This was one of the first examples of software disruption as this retail company 8 years later is larger than all the hosting, telecommunication, and cloud service providers combined. How did this happen? It’s quite simple, they paid attention to one simple rule: application architecture and programmability are critical to agility and enable the business applications and services to differentiate from the competition. The requirements to accomplish what the business applications need are defined in terms of agile software development, infrastructure as code (IaaS) and automated interfaces through Application Programmable Interfaces (APIs).
As I prepare for 2016, the industry is in the middle of another transformation towards microservice infrastructures. The hype around this is higher than any technological transformation I have ever been involved in. If you think this is just hype, the recent annual ETR Technology Spending Survey, which measures enterprises intent to spend on a specific new technology, covered 685 enterprise CIOs and other high-level enterprise IT end users. With a 96% Net spending Intentions score, Docker technology has the strongest buying intention score (“NET score”) ever recorded in the six year history of the survey.
The rational for this trend is realization that Cloud, while it accomplishes infrastructure as code and automation, it’s focused at the infrastructure layer and this layer is becoming commodity. To differentiate your business services, companies need to differentiate at the build, deploy, and run aspects of their software development lifecycle. The impact of digital disruption is taking a toll on larger, waterfall, process heavy businesses. Open source software (OSS) and the pace of change that it allows a developer to innovate and optimize their capabilities more than ever before. In addition, the move to mobile first and platform independent development practices cause businesses to rethink their development frameworks. I’m convinced that this, more than anything else has lead microservice architecture to the forefront. Microservice is defined by Martin Fowler as a software architecture style where complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. Application services are small, highly decoupled and focus on doing a small task.
There are several examples in recent publications about the adoption in the enterprise space. “ING Group has said it uses Docker to update 1,400 different applications a day; Goldman Sachs uses Docker to build and deploy the software it runs internally.” http://www.americanbanker.com/news/bank-technology/cloud-containers-may-be-a-digital-package-banks-can-accept-1073439-1.html and Capital One stated: “Docker figures very prominently in our journey into microservices, It will take many years, but it is inevitable because containers will be pervasive in everything we do. But we start from a base, and we started embracing VMware in the early 2000s. Docker is more easy to embrace in the public cloud right now, but we have the ability to deploy Docker in our own datacenters. But we are not trying to get rid of the hypervisor or getting VMware out of the equation in the foreseeable future. We are big supporters of Docker, but you have to look at where it is in terms of its evolution. I don’t know a single enterprise that would completely bet their future in 2015 on Docker. For instance, there are security enhancements that are needed, and we are working very closely with the Docker community to make sure that happens.” http://www.nextplatform.com/2015/07/28/lack-of-legacy-lets-capital-one-build-nimble-infrastructure/
Who are the users of this architectural style? Today, there are 3 primary users and use cases. The primary users are IT administrators, Cloud Native developers, and Data Scientists.
- IT administrators are your traditional IT organizations that support the business. They are responsible for creating the infrastructure and supporting the business. Their primary concerns are security, monitoring, governance, supporting the business transition to DevoOs, Operational Support Systems, and Business Support Systems.
- Cloud native developers are primarily concerned with continuous delivery, mobile first development, microservices, and support for multiple languages/frameworks.
- Data Scientists are mostly concerned with streaming data, unstructured data, multiple data sources, and machine learning.
The 3 use cases of interest today are:
- Containers as a Service (CaaS) – IT infrastructure deployed and managed by IT (IT DevOps). In this use case, the microservices components are individually configured, optimized, and hardened to meet the IT requirements.
- Developers who want to focus on the business application and service development only (Devs). In this use case, the developers do not want to install or integrate services, they just want to develop the application code and deploy to any location or service the business chooses to consume.
- Developers who want to develop no stack (or all aspects from the infrastructure to the services) (Dev DevOps). In this use case, the developers want access to the underlying services and APIs in order to optimize their code.
I am excited to be one of the sponsors of The Newstack book, Applications & Microservices with Docker & Containers. Please download your copy today at http://thenewstack.io/ebookseries
Come see us in the Devnet Zone at Cisco Live! Berlin
If you’re interested in getting started, visit http://mantl.io or http://ciscoshipped.io and start this transformation today. We will also be showcasing this at Cisco Live! Berlin. Please stop by Cisco Live! Devnet (@ciscodevnet) zone in Berlin next month and learn more. Register today for an Explorer pass. We have microservice classroom instruction, presentations, and live demos at our Mantl booth to enable you to get started quickly. I’m looking forward to seeing you there.