{"id":1254,"date":"2016-12-03T17:04:53","date_gmt":"2016-12-03T16:04:53","guid":{"rendered":"http:\/\/leanmagazine.net\/?p=1254"},"modified":"2024-03-15T15:18:49","modified_gmt":"2024-03-15T14:18:49","slug":"microservices-the-trendy-friend-of-devops","status":"publish","type":"post","link":"http:\/\/leanmagazine.net\/issues\/issue13\/microservices-the-trendy-friend-of-devops\/","title":{"rendered":"Microservices – the trendy friend of DevOps"},"content":{"rendered":"

\"newman_bees\"Microservices is one of the great trends in Software Engineering together with DevOps, and some experts say that both are essential for a modern software company. This is not hard to believe, since both are practices that are designed to offer greater agility and operational efficiency for the enterprise.<\/h3>\n

Lean Magazine obtained an interview with Sam Newman, the author of the very popular book \u201cBuilding Microservices: Designing Fine-Grained Systems<\/em>\u201d.<\/h3>\n

Sam Newman started fairly conventionally. Interested in computers as a kid, he went on to study Software Engineering at university and found himself working withFortran 77 in his first job at an ESA subcontractor. It was, as he expresses it, \u201can excellent start to my working life\u201d.<\/p>\n

\u201cAfter a few years I ended up at ThoughtWorks, and sort of fell into the world of build automation, CI & CD,\u201d says Newman. \u201cThis led to a focus in trying to understand how to help clients ship software more quickly. After a while I realised that often the fundamental limitation to fast and safe delivery is the architecture of the systems themselves. Over time this led me to looking into different architectural approaches which could help in this area.\u201d<\/p>\n

Writing the book<\/strong><\/h4>\n

The idea of writing a book had been around for a long time. Originally, Newman had planned to do one on CI & CD, but that didn\u2019t come to pass. He then wrote a short ebook for O\u2019Reilly, Lightweight Systems for Realtime Monitoring. Around two years ago, he felt that he had the confidence to handle a larger project. Or as an editor put it: \u201cJust do that eight times and you\u2019ll have a book\u201d.<\/p>\n

\u201cIt was clear at this time that there was a large amount of nuance in doing microservices well, and a whole lot of caveats besides,\u201d says Newman. \u201cI developed a workshop on the topic with James Lewis, and I also had a number of different conference talks on the subject. Feedback from audiences was that the information I had was useful to share with the community, and it felt obvious to try and pull a book together on the topic.\u201d<\/p>\n

To Sam Newman, the greatest advantage of microservices is that they allow for independent deployability of services, which in turn allows for faster shipments of new features. They also allow you to align service ownership to teams, empowering them to make their own decisions on how that service evolves.<\/p>\n

\u201cThis in turn can allow for the ownership of your system architecture, and your team structure, to better mirror the business itself,\u201d says Newman. \u201cIt\u2019s been observed by many that the microservice approach is one that is sympathetic to Conway\u2019s Law, and that uses this phenomenon to benefit the organization as a whole.\u201d<\/p>\n

\n

Sam Newman on DevOps<\/strong><\/h3>\n

\u201cNeil Ford has called microservices \u2018the first post-DevOps architecture\u2019. What he means is that microservices aren\u2019t really practical without some of the advances brought in by the DevOps movement. Specifically, to manage the number of moving parts involved in even modest microservice systems a high degree of automation is required around deployment and testing.<\/p>\n

Allowing teams to own services also often leads to those teams deciding when and how to deploy their applications, and even embracing the concept of team-managed infrastructure. This requires close collaboration between development and operations people, and organizations like Netflix and REA have moved to the model of a small number of operations people providing central tooling and consultancy to enable teams to handle their own service operations.\u201d<\/p>\n<\/div>\n

Small steps & careful observation<\/strong><\/h4>\n

Sam Newman has a set of advice for organizations that decide to change their monolithic architecture to a microservice-based one. Firstly, they need to understand what it is they are trying to achieve. Secondly, they should put a process in place where they can measure where they are against that goal. As they start their transition to microservices, they should set up periodic reviews to confirm whether or not these are helping the organization to achieve its goals. For example, if the goal is to have faster time to market, then cycle time should be tracked and monitored during the transformation.<\/p>\n

\u201cAs with any change as fundamental as this, make small, incremental steps, observe the results, and decide how to do things differently next time,\u201d says Newman. \u201cSo start with one or two services at the beginning, get them deployed into production, and sit with them for a while. Also, be prepared to get things wrong and be surprised by things. Read up on other people\u2019s experiences, go to your local microservices meetup and chat to your peers, and don\u2019t be afraid to try new things.\u201d<\/p>\n

To conclude, Sam Newman shares some thoughts about the evolution of microservices and the global software community \u2013 where we are at, and where we are going.<\/p>\n

\u201cAt the moment, we are riding high in the hype cycle. We have lots of microservice meetups, conferences, and yes, books! I think in time this will pass. Microservices will hopefully just be seen as a way to approach the design of a system. It\u2019ll be a tool that we can reach for when appropriate.<\/p>\n

I think the other thing that needs to happen is that we need a new generation of tools that are built to address some of the challenges of the microservices space. Some of the challenges in microservices are harder than they need to be \u2013 I\u2019m hopeful that the community will continue to innovate and come up with smart solutions that make this approach more applicable to all sorts of organizations.\u201d<\/p>\n

\n

Three misunderstandings regarding microservices<\/strong><\/h3>\n

1. Microservices are easy.<\/strong><\/h4>\n

\u201cThey aren\u2019t. With microservices, you are implementing a distributed system, and with this comes a host of challenges that need to be dealt with. Concepts like business transactions, monitoring and testing can become more complex.\u201d<\/p>\n

2. You can just offload these issues to platforms.<\/strong><\/h4>\n

\u201cSome platforms can help, but they won\u2019t solve all the issues you will face.\u201d<\/p>\n

3. Microservices is the only way to be successful.<\/strong><\/h4>\n

\u201cThey are a technique that has been shown to work, but there are plenty of examples of organizations that have built successful businesses using monolithic systems \u2013 Etsy are a great example.\u201d
\n<\/div>\n","protected":false},"excerpt":{"rendered":"

Microservices is one of the great trends in Software Engineering together with DevOps, and some experts say that both are essential for a modern software company. This is not hard to believe, since both are practices that are designed to offer greater agility and operational efficiency for the enterprise. Lean […]<\/p>\n","protected":false},"author":32,"featured_media":1258,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[79,83],"tags":[],"_links":{"self":[{"href":"http:\/\/leanmagazine.net\/wp-json\/wp\/v2\/posts\/1254"}],"collection":[{"href":"http:\/\/leanmagazine.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/leanmagazine.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/leanmagazine.net\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"http:\/\/leanmagazine.net\/wp-json\/wp\/v2\/comments?post=1254"}],"version-history":[{"count":4,"href":"http:\/\/leanmagazine.net\/wp-json\/wp\/v2\/posts\/1254\/revisions"}],"predecessor-version":[{"id":1259,"href":"http:\/\/leanmagazine.net\/wp-json\/wp\/v2\/posts\/1254\/revisions\/1259"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/leanmagazine.net\/wp-json\/wp\/v2\/media\/1258"}],"wp:attachment":[{"href":"http:\/\/leanmagazine.net\/wp-json\/wp\/v2\/media?parent=1254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/leanmagazine.net\/wp-json\/wp\/v2\/categories?post=1254"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/leanmagazine.net\/wp-json\/wp\/v2\/tags?post=1254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}