- SOA supports the idea of reusing application development resources and functions, while a microservices architecture allows the same at a much more granular level.
- Microservices plus automation addresses CI/CD via distributed service components.
During the next 12 months, we’ll see a flood of structured DevOps architectures emerge to support the growing microservices trend, which in turn fosters continuous deployment.
The emerging trend around microservices enhances traditional Java EE multitier/n-tier architectures with distributed service components and greater use of automation to support continuous integration, continuous deployment (CI/CD). Note that Java EE is considered the dominant standard for building next-generation, business-critical, distributed apps. By breaking an app down into smaller components, developers can target specific units of the app with more frequent updates. This enables more frequent deployments, which is where CI/CD comes into play.
New microservices architectures involve more coordination between both developers and IT operations, requiring the process to enable more DevOps-style workflows. Operations groups need to address where an app is run, whether it’s a cloud-based service, in the data center as part of a virtual stack, private cloud or public cloud. Because of issues of efficiencies around traditional infrastructures, e.g., virtual machines, these app development projects increasingly run within containers, which better support the process of breaking down apps into microservices. Operational issues are also prompting enterprises to rely on containers as a deployment option with a shared operating system; this eases management requirements around numerous microservices. PaaS is evolving into a container service, which hosts microservices architectures, in essence standardizing application platforms.
For more details around how SOA is evolving into microservices, key competitors in this space, recent pertinent vendor announcements, and buying criteria, please see Competitive Landscape Assessment: SOA, October 31, 2016.
Market drivers in this space:
- Application Evolution: Driving the move toward modular enterprise software is the need for application integration/extension, the need to maintain legacy code, and the need to make app development more agile and resilient. Lightweight middleware delivered through platform services initially supported these efforts, which are now evolving into microservices.
- Java Subsets: Market leaders are spearheading new initiatives aimed at bringing popular development languages into modern development environments. Namely, the MicroProfile project, backed by Red Hat and IBM, creates a smaller subset JDK of Java EE focused on the cloud-native space. This ensures heterogeneous deployments of microservices-based apps.
- The Power of APIs: Microservices approaches are driven by the ability to leverage APIs for storing and accessing data, with the ability to easily stitch those services into apps, whether they involved new app development projects or refactors of existing apps.
The use of SOA-based solutions will continue to help enterprises assemble apps and make use of resources across their organizations. However, the emerging trend towards lightweight app platforms assembled into frameworks which are more loosely coupled and less reliant on comprehensive application infrastructure solutions will play well into the use of new development and deployment formats, all connected through common APIs. The transition from monolithic-style app development into new architectures won’t be easy, as most organizations lack internal Netflix-like DevOps. In particular, the extensiveness of microservices across a broad number of apps, some mission-critical, raises concerns around how governance will be implemented. This is definitely a market segment to watch closely.