Microservices: Streamlining Development by Breaking up Monolithic Applications
Source – formtek.com
Microservices is an architectural style that builds applications from a collection of loosely coupled services. The protocols used are lightweight and the services are very fine grained. Each service stands on its own, and as such, makes development, testing, and refactoring of applications easier. Because each service is independent, microservices enable application development to be more easily split up among developers and teams to allow parallel work.
A recent report on microservices from the results of a RedHat survey taken at the end of 2017 had the following results:
- Developers are using microservices for both new application design and when interact with legacy systems
- Microservice benefits include: Continuous Integration (CI), Continuous Deployment (CD), agility, scalability, higher developer productivity, and easier debugging and maintenance
- Microservice challenges include: management, and diagnostics and monitoring
- Current microservice developers said that they prefer a best of breed approach that is multi-runtime, multi-technology, and multi-framework.
Matt Miller, partner at Sequoia, told Forbes that “if you think about it from a technology point of view, as we have gone from things like the mainframe to client-server to cloud infrastructure to virtualization, each time we have successfully inserted a new layer of abstraction, our quality has gone up meaningfully, the time it takes to develop applications has come down, and so have our costs… That is why we are excited about microservices and think it is so disruptive. For companies looking to adopt it, it is disruptive because it is a huge paradigm step forward in the efficiency that can be gained in building your applications. You can operate the technology aspects of your business, which is more of your business, at a much faster rate than you could before.”