Are your monolithic applications becoming too big and too complicated to handle?
" 'Microservice architecture is the idea that rather than building large monolithic applications, where you have one enormous thing that tries to cover thousands and thousands of different pieces of functionality and lots of different business services, we are going to try to break these out into smaller components, each of which represent an individual business action,' said Andrew Phillips, vice president of product management at XebiaLabs. 'And then we are going to treat them as independent applications, which can be written and easily updated.'"
We don't quite agree on the term monolith as you can see in this article about Java Microservices | Microservices Architecture, but the article was an interesting read. The clear advantage to microservices is the ability to make change and test things independently, and the article certainly highlighted that with some interesting perspective from experts.
The article goes on to discuss barriers to microservices adoption.
" 'With microservices, organizations don’t have to worry about spending time, expense and taking risks to push out so many changes at the same time. There is no more waiting six months for things to come out.' "
Microservice architecture vs. service oriented architecture
Does SOA overlap with microservices architecture?
" 'Service oriented architecture is an approach that says that we can more effectively build systems, which are made up of collaborating services,' he said. 'Microservices are exactly that. They are just more opinionated. In many ways you can think that microservices are to SOA what scrum or XP are to agile. So SOA is the general idea, where microservices are a specific way of achieving this idea.' "
We don't fully agree. SOA and microservices started out with the same mission. SOA deviated from the path and became more about BPEL, vendors and legacy integration wrapping, where microservices is more geared towards this is how you build new stuff. Microservices is a response to cloud, improved virtualization and OS containerization, and most importantly application migration to mobile. Web clients are getting fatter and more blurred with mobile. It seems the experts quoted in this article missed the connection between mobile application and microservices (mobile microservices). You don't need thick web application running on the server. You mostly need services serving other services and mobile application. This is where REST, JSON, and WebSocket become the lingua franca of software development, which is the biggest driver for microservices adoption.
The article ends with some salient advice about microservices adoption.
Read more: SDTimes: Digging into microservices | Microservices Architecture
Follow them: @sdtimes on Twitter | sdtimes on Facebook