Microservices are making it faster and easier to build and maintain software by utilizing smaller composable modular components, rather than developing traditional monolithic applications.
Adoption of microservices for software development is increasing, according to a 2018 survey by Dimensional Research Inc. The firm found that 60 percent of respondents had already adopted the architecture.
Around half had instances in production, with the remainder running pilot programs, while 86 percent felt that microservices would be their default application architecture within five years.
More than 60 percent of respondents reported that microservices were meeting expectations. However, the study also found that developers encountered a number of technical issues, particularly troubleshooting problems and managing the increase in data collected by infrastructure monitoring tools.
Benefits for New and Legacy Projects
These figures reflect another study by Red Hat in 2017, which asked their Middleware and OpenShift customers for their experience with microservices. The study revealed that a high proportion of respondents were using microservices for re-architecting legacy applications as well as developing new applications.
In terms of success, around a third of respondents reported that they realized benefits within two to six months, with a similar number quoting six to twelve months for payback. Red Hat customers reported similar technical challenges around management, monitoring and diagnostics.
Adoption Driven by Agility and Speed
Agility and time to market are key drivers for adoption. Microservices’ architecture means that components can be developed, tested and maintained independently by different groups, even if they are working in geographically separate locations, using multiple technologies.
The ability to use smaller teams working on separate components increases agility and supports continuous delivery, reducing the time taken to deliver production versions and implement changes. This ensures faster time to market and improves developer productivity.
Scalability improves because smaller components require fewer resources and these can be quickly scaled to meet demand. Research also indicates that no single platform or framework is regarded as best for microservices, while 87 percent of Red Hat survey respondents reported that they were using multiple technologies,
Changing Development Culture
While the benefits of microservices are widely accepted, commentators believe that organizational issues can hold back successful adoption. Microservices require a change in development skills and attitudes — teams have to become familiar with new technologies and frameworks, as well as different development processes.
Adoption improves when IT departments already have a DevOps process in place because microservices development depends on teams collaborating and using a continuous development process. Teams may also have to undertake training to utilize microservices tooling and platforms.
As an alternative, many organizations are working with specialist vendors, using them as trusted advisers or outsourcing aspects of the project, such as migration, to fill gaps in their in-house resources or overcome challenges.