I’m a young software developer, I’ve co-developed the first version of Gatling, and worked as a consultant for several years. Afterwards, I have worked for around 5 years in a small team responsible for a large product, as developer, architect, and lead dev.
We came to microservices not because of the hype, but, as we were two person responsible for everything (from source to production), we needed a way to simplify our work. Having small deployable units with a clearly bounded and defined context helps a lot in this case I think. This is actually just a matter of defining interfaces, abstractions and understanding the domain correctly.
The process of “going full microservices” took us about 3 years from the first day we started to split our application, until the day I left the team to go help on another product in another company. This was a long time during which we learned a lot, and we never suffered from using microservices on the infrastructure side!
I will present a tools in action session about Habitat, the latest open source product from Chef. As said above, I think that what matters most when creating successful and maintainable software is finding the right abstraction for everything. Habitat helps around automating your application. It creates a boundary between the application and the infrastructure that is really powerful.
On one side, developers use a simple shell script to define and build a package for their application, with the dependencies needed at build time and runtime, its configuration parameters and eventually configuration dependencies (think service discovery).
On the other side, operations benefit from a unique package type that can be exported to whatever infrastructure they want: docker, kubernetes, mesos, bare metal, etc. Also, the configuration management for Habitat services is the same for every application, as the packages embed a supervisor for the application that can manage the service, from configuration changes to updates.
Habitat helps a lot if you want to transition over to cloud native technologies, even with your old legacy software that can be packaged with habitat too!
I think not. Actually, Ops look sexier now, sure. DevOps offers a nice range of declarative tools to manage infrastructure that become more complex as time goes. It also makes production infrastructure able to move and follow companies need for innovation.
Most of these tools are also here to solve an organizational problem in most companies that have made developers and operations hate each other for a long long time. They bring power to both Devs and Ops so they can actually concentrate on what they do best. And this, I think is what I prefer in DevOps.
Thank you for the opportunity to show Habitat to VoxxedDays Microservices attendees, see you there!
#habitatsh #automation #devops