For the fourth and final post of my series on #mesoscon2015, Adrian Cockcroft (@adrianco) gave a keynote presentation on “Cloud Trends, DevOps and Microservices.” Here are the highlights.
Cockcroft helped lead Netflix’s migration to a large scale, HA-public-cloud infrastructure, and the open sourcing of the NetflixOSS platform. Currently he serves as Technology Fellow at Battery Ventures, focusing on what comes next. His Keynote presentation contained a wealth of insightful experience about tooling a company for the cloud.
In 2014, virtually nobody saw Docker coming. In 2015, everyone is either using it or moving towards using it. Docker makes development, deployment and maintenance of platforms built using microservices faster and easier.
Another trend in 2015 is the battle for the private cloud. There are basically four players here. VMware and similar virtualization applications, Docker, OpenStack, and Mesos. VMware has been an old bastion of data centers and virtualization. Docker is brilliant and looking for a place to call home. OpenStack is suffering from corporate infighting. Mesos scales brilliantly and it has been enjoying the benefit of a feedback loop that promises to continue rapidly improving the platform. As more frameworks adopt Mesos and the offering becomes more complete, it becomes even more attractive, gaining further acceptance and refinement.
The practice of running platforms in the cloud has been changing dramatically over the past year, and there has been a lot of work put into the technologies involved. Technology alone won’t get you there, however. Adrian elaborated on the state of the art of DevOps, with regard to designing systems and organizational structure to support the development and maintenance of good software:
Microservices, microservices, microservices, and Continuous Delivery.
There is a tendency in organizations whereby any time there is a break down in process or an error, it results in compensatory processes to check for “don’t do that.” This leads to a build up of slow, complex “scar tissue” processes. Being too careful in an effort to minimize costs usually has the opposite effect, adding process upon process to prevent an error which in the end does not prevent errors, it just makes every action slower and more expensive. The solution to this is to worry less about avoiding costs and to instead focus on speeding up the development cycle using Continuous Delivery.
Continuous Delivery consists of a self-reinforcing cycle of Observe, Orient, Decide, and Act.
Define a release plan for each service and deploy to docker containers. This way, you can test each component individually, and if something breaks, it is typically easy to roll back just one thing.
“You build it, you run it” – Werner Vogels.
Again, apologies for potato photo.
The new paradigm according to Adrian Cockcroft — and common among presenters at #MesosCon — is for DevOps to provide the infrastructure for the platform, and to focus on how systems interact. In this way of looking at it, developers, users, the software, the infrastructure, the monitoring and alerting, are all a part of the system. Empower developers to deploy as often as necessary using Continuous Delivery practices with good test coverage.
“Put the pain where it is most effective.”
Monitoring alerts for an application should go first to the developer that can fix it, and from there escalate up the chain. This encourages developer responsibility to build things faster, cheaper, and safer in terms of availability and security.
To close, Adrian recommended a handful of books that I plan on using for blog material in the future:
Systems Thinking, Managing Chaos and Complexity – Jamshid Gharajedaghi
Building Microservices – Sam Newman
Lean Enterprise: How High Performance Organizations Innovate at Scale – Jez Humble
Some Mesos-related projects or articles worth checking out:
https://github.com/Netflix/Fenzo
https://readthedocs.org/projects/project-calico/
https://www.sigmoid.com/fault-tolerant-streaming-workflows/
Thanks for reading!
Recent Comments