Enterprise Approaches for Microservices Implementation
Once the need for Microservices adoption is established, enterprises will have to develop a strategy to deploy an across-the-board platform to maintain consistency and capitalize on widespread benefits. Enterprises have broadly three approaches to choose from each with its own benefits and drawbacks.
- DIY Approach: In this approach Enterprises can build their own Microservices platform including foundational services like messaging and registry as well as ancillary services like database, logging etc. Enterprises mostly do this by using open source modules and customizing them to their own needs. While this approach provides certain benefits like zero license fee or high degree of flexibility, often a significant amount of time and specialized skill set must be invested to build and maintain such platforms, on an ongoing basis. This costs not only upfront time and money but also diverts focus away from delivering true business value.
- Existing platforms with Microservices as an add-on: In the market as is, several existing platform vendors including Middleware providers, PaaS (Platform-as-a-service) providers, and CaaS (container a service) vendors are claiming support for Microservices applications. Conditionally, Microservices support is introduced as an add-on functionality to their capabilities. This approach may not be able to embrace all the principles of Microservices thereby delivering sub-optimal results due to underlying platform constraints. This method is best suited for enterprises that are heavily invested into existing platforms and want to adopt Microservices for a portion of their app portfolio . They can reuse existing investment and only incur the incremental costs. However, for new applications and greenfield deployments, the additional overhead of legacy capabilities add complexity to every stage of platform deployment – from setup to production use. Microservices paradigm requires new way of thinking, designing and architecting business applications and services.
- Pureplay Microservices Platform with Prescriptive approach: Some vendors offer comprehensive and turnkey platforms that are built ground up for the Microservices. With modern turn-key solutions, many of the core and essential Microservices come bundled with the platform and are optimized for cloud architectures. Here the platform tends to consist of integration and extension capabilities through SDK to support customization requirements for enterprises. They also address the ignored operational and debugging challenges that are inherent in distributed applications. With this approach, enterprises can focus on delivering business-oriented Microservices instead of allocating and investing time and resources on platform and support services.
Macaw has taken third approach and is built ground up for Microservices. Macaw is architected to address Enterprise needs at scale and will be detailed further in the future blogs.