A global survey of 1,502 software engineers, systems and technical architects, engineers and decision-makers conducted by O’Reilly, a publisher of IT training materials, finds nearly three-quarters of survey respondents (72%) have adopted microservices.
More surprisingly, 92% of those respondents report being successful, although the report doesn’t specify what defines success. However, it’s widely perceived that microservices are difficult to master.
Respondents who used containers to deploy and manage them were significantly more likely to report success than those who didn’t, the survey finds. Almost half (49%) of respondents who describe their deployments as “a complete success” also instantiate at least 75% of their microservices in containers. In sum, 62% of respondents use containers to deploy at least some of their microservices, according to the survey.
However, less than a third of respondents (29%) report they are migrating or implementing a majority of their systems using microservices. Nearly two-thirds of respondents (61%) say their organizations have been using them for a year or more, with 28% having employed them for at least three years.
Mike Loukides, vice president of content strategy for O’Reilly, said it’s clear organizations are widely embracing microservices to build applications that are more flexible and resilient when employed at scale.
Additionally, the survey finds teams who own the software life cycle succeed with microservices at a rate that is 18% higher than those who don’t. Nearly three-quarters (74%) say their teams own the build-test-deploy-maintain phases of the software life cycle. Almost half of those teams (49%) report being at least “mostly successful” with microservices, with 10% reporting that their microservices development efforts were a “complete success.”
The top three barriers of adoption include complexity in one form or another (56%), corporate culture (40%) and decomposing monolithic applications into microservices (37%).
Microservices trace their lineage back to service-oriented architectures (SOA). However, because they make use of application programming interfaces (APIs), it’s become feasible to build and deploy microservices that are more granular, Loukides notes. That approach makes it possible to not only build applications that perform better than legacy SOA applications but also IT teams can more easily rip and replace microservices based on containers, he says.
It’s not clear how often IT organizations may have initially started down a path toward building an application using microservices only to retreat back toward a more familiar monolithic architecture.
However, as more IT teams familiarize themselves with container technologies such as Kubernetes, the rate at which microservices-based applications should increase in the months ahead. In the wake of the COVID-19 pandemic, it’s also more probable those applications will be built and deployed in the cloud, given the fact that no one knows for sure how long both developers and end users alike will be working from home to help curb the pandemic. The one thing that is certain, however, is as IT teams embrace microservices more extensively, the more likely it becomes they will rely on best DevOps practices to achieve that goal.