According to Sam Newman the author of “Building Microservices”, microservices are a group of small autonomous services that work together and are modelled around a business domain. In this Innovation Session, Kalinga Dissanayake and Azeem Mumtaz from the Platform team give an insight to microservices.
7. Principle 01 -Small autonomous services that work together
Merchant API
Admin API
Consumer API
Payment API
8. Principle 01 -Small autonomous services that work together
Merchant API
Admin API
Consumer API
Payment API
Small??
Autonomous Services?
Work together
9. Principle 01 -Small autonomous services that work together
Merchant API
Wallet API
Notifications API
Employee Mgt
API
CINCO
Onboarding API Menu Related API
Rewards API
12. Merchant API
Wallet API
Notifications API
Employee Mgt
API
CINCO
Onboarding API Menu Related API
Rewards API
Principle 02 - Business Domain Based Modelling
16. Principle 04 - Hide implementation Details
Merchant API
LEAPSET
DB
PROFILE
DB
Consumer API
Admin API
Payment API
Drastically impacts the
ability to change
17. Principle 04 - Hide implementation Details
Data Level APIs
LEAPSET
DB
PROFILE
DB
Merchant API
Easier said than done,
of course.
Especially for startups
and where time to
market is critical
Authentication
Services
You need to make a
request to get the data.
People who manage
these data level
services can do their
job
19. Microservices architecture boasts about autonomy
Microservices architecture optimizes around autonomy
Principle 05 - Decentralization
20. ● Do we still need to rely on another party to create a new server
instances?
○ I know.. I know … checks and balances are required.. that’s fine.
○ Practical issues...shush!
● Do we still rely on another party for deployment?
○ Deserves a separate section on its own - Mr Mumtaz will cover it
● Do we have to communicate to all other teams in the Cake
ecosystem for us to push a release
● Is it a one man show? What happens if “that man” is done and
dusted?
○ One centralized architect? Is he the guru for everything or is to
the team that comes together..Where is brainstorming?
collective decision making? Many brains against one?
● Decentralization does not mean decentralizing everything
Principle 05 - Decentralization
21. Principle 05 - Dumb Pipes
ESB
Merchant API Admin API Payment API IDM Other APIS
Clients
● Should not be domain aware
● Cannot become too smart
23. Principle 06 - Consumer First
● Api Blueprint
● Raml
● Swagger
○ Features;
■ Industry Standard - Open API Initiative (OAI) - Has
announced an open governance model around the Swagger
Specification under the Linux Foundation.
■ Largest community and has been around since 2011.
■ Stub generators and Live documentation demo. Can be used
as interactive sandbox
■ Open source 100%
○ Platform Swagger Url
■ https://plat1-api.leapset.com:8343/sandbox/
27. Principle 07
● Log aggregation tools - make it highly observable.
○ Logstash
○ Just imagine logging into 40 servers to debug issues
● Tools that can be used for monitoring
○ Cacti
○ Nagios
○ Graphite
○ Grafana
31. Docker
Docker allows you to package an application with all of its dependencies
into a standardized unit for software development.
32. Docker
● Lightweight
● Open
● Secure
● Accelerate Developer Onboarding
○ Eliminate Environment Inconsistencies
● Easily Share and Collaborate on Applications
○ Ship More Software Faster
○ Portable
○ Fast
33. AWS Elastic Beanstalk
● An AWS Product
● Infrastructure manager
● Reduces management complexity without restricting choice or
control
● Quickly deploy and manage applications in the AWS cloud