The most popular and comprehensive Open Source ECM platform
Microservices is a type of software architecture that decomposes applications and projects into independent modules that perform well-defined and discrete tasks. Microservices are self-contained and are accessed via a well-defined API interface. Promoters of microservices note that scalability and granularity are major benefits of this style of programming. Each service can be individually versioned, deployed, and maintained. Consumers of microservices need not be concerned with the choice of programming language or technology used to create the service, only with the interface that describes how to interact with it. The use of microservices is particularly popular for development of applications like web pages, mobile, the Internet of Things, and wearables.
Many businesses are experimenting with microservices, most of them with some amount of success. A recent study by Dimensional Research and sponsored by LightStep found that 92 percent of businesses that currently use microservices plan to expand their use. Well more than three-quarters of businesses say that the biggest advantages of the microservice architecture are agility and scalability, and these were also the motivators that led them to adopt this approach.
But the LightStep report found that when deployed without tight oversight, microservices can quickly get out of hand, become complex and difficult to troubleshoot. In fact, 99 percent of businesses survey said that a microservices-based architecture comes with a lot of challenges. Businesses report huge amounts of application data generated. The report also found that the addition of every microservice increased operational challenges.
JP Morgenthal, CTO at DXC Technology, said that “the barriers for adopting microservices as an organizational program are often tied to how IT is organized as well as the limited resources for skilled architects in this area.”