Adrian Cockcroft of Battery Ventures presented at Docker this morning about the adoption of microservices and the role Docker is playing in this new way to build apps. Driving the growth are the growing number of companies that are rebuilding and adopting microservices and DevOps practices. It is a testament to the enormous amount of new business and innovation happening in the microservices space.
Here are some of the highlights of Adrian’s talk:
- In 2014, Docker arrived and is now on everyone’s 2015 roadmap, from software vendors to end users, all figuring out how to use it because it is fast and cheap.
- In product development there is continuous delivery via the Observe Orient Decide Act (OODA) loop that drives the innovation process.
- When users are looking to answer questions on how to fix things that do not work, they will be rummaging through data files. They will be trying to mine the data of the log files you need to come up with answers and analysis.
- Using cloud: The self-service, API-driven infrastructure that is automatable. You can launch your incremental features, which is automatically deployed. It lets you find out and measure the customers requirements and then, if required, go around the loop again.
- What works: A microservices-based product team and backend-based platform team with an API between them, where the API calls are made and the infrastructure performs it.
- This reorganization saves time. Each team has a separate release plan in place. All work independently and are deployed independent of each other.
- From the delivery point of view, if a platform adds Docker Hub and knows how to deliver a Docker image, then it doesn’t matter what’s in it. That portability and flexibility is very powerful.
- Any bug in a particular microservice is redeployed by itself. It doesn’t block everything else which helps everything run effectively.
- Microservices is defined as a loosely-coupled, service-oriented architecture with bounded context. It allows updates without needing to understand how everything else works.
- Organizational coupling: Services are built across organizations. Ownership stays in one place.
- Microservices architecture is more point-to-point calls between systems. You must have flexible message formats. Irrespective of the versions, everything still works.
- When building a microservices architecture you need some tooling to configure, discover, route traffic and observe and build systems.