Essentials of Microservices Platform
Since major web 2.0 companies like Netflix, Twitter and Nike have pioneered the adoption of Microservices, a number of enterprises are considering embracing microservice architecture to replace traditional monolithic applications. These web 2.0 companies have expertise, talent and dedicated software engineering teams to build, maintain and evolve custom platforms and home grown tools to support thier application and service portfolio. However, a typically enterprise doesn’t have
such expertise or resources to build and evolve such massive home grown tools. So, how can enterprises achieve a similar experience like a web 2.0. How can they deliver uninterrupted, fast and effective services based on microservices architecture beyond POCs?
A solid enterprise grade, turn-key platform that is easy to operate, and extensible by customers and partners is what enterprises need today. Following are some core principles and key capabilities of an enterprise grade microservices platform
- Provide turnkey and enterprise application essential capabilities out of the box for rapid development and operations (DbaaS, Service Provisioner, API Gateway, load balancing, …)
- It should be prescriptive and provide recommended best practice based implementation and design choices
- It should leverage best of breed open source technologies to the extent feasible (Kafka, Docker, Spark, Elastic Search etc..)
- Support resource orchestration and scheduling choice of tools to select from (Docker Swarm, K8s etc…)
- Ability to Integrate with existing DevOps and CI/CD tools to reduce learning curve (Jenkins, Team City, etc…)
- Workable with wide choices of underlying infrastructure – on-prem as well as cloud (Ex: Baremetal, VMware, AWS, Azure etc…)
- Built-in management and self-governance capabilities (Logging as a Service, Message Correlation, dashboards, DevOps Console, …)
- Should support enterprise capabilities like multi-tenancy, security and integration (LDAP, Ticketing, Alerts …)
- Broad range of programming languages support (Java, Javascript, Python, …)
Macaw is built keeping these principle in mind to provide a prescriptive approach for development and governance of Microservices applications.For more details visit http://www.macaw.io