Microservices Architecture Building 'SMART' & 'Agile' Software Sabby Gupta {Product Architect -> Zaloni Inc.} 1
What’s in it for me? 2
3
History 2010s2000s1990s1980s< 1970s Netflix, Amazon, Google manage their growth - apis, devops, distributed paradigm SOA, Mobile, Efficiency & Cost savings, Agile, CI/CD LISP, PROLOG, ERLANG, SMALLTALK Web Services - Microsoft lead, DCOM/CORBA Actor Model (Carl Hewitt) and human services (do one thing right) 4
What are microservices? 5
Microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. ~Martin Fowler~ 6
Compare to SOA? ● Horizontal vs Vertical Design ● Reusability ● Governance Standards ○ Web Services (WS-*), XML, HTTP, SOAP etc ● EAI - ESB Focus - Smart Pipes ● Popularity of containers ● SOA DONE RIGHT (opinionated way)!! 7
Technical Value 8
Technology Heterogeneity 9
Ease of deployment 10
Composability 11
Resilience Bulkheading - manage failure without having it cascade throughout the services participating in the workflow 12
Scaling 13
Optimizing for replaceability 14
Organizational Value 15
Organizational Alignment “Any organization that designs a system (defined more broadly here than just information systems) will inevitably produce a design whose structure is a copy of the organization’s communication structure.” ~Melvin Conway~ If you have four groups working on a compiler, you’ll get a 4-pass compiler. ~Eric S. Raymond~ 16
Sample Reference Architecture 17
Development & Ops Process 18
Microservice Architecture https://jhipster.github.io/microservices-architecture/ 19
Principles of Microservices 20
Principle 1 - Business Domain Modelling & Responsibilities Order Customer Bonus Program # Delivery Customer Delivery Address Delivery Service Type Billing Customer Billing Address Tax Rate 21
22
Principle 2 - Automation 23
Principle 3 - Encapsulate & Aggregate 24
Principle 4 - Autonomy / Self-Service 25
Dumb Pipes, Smart Endpoints 26
Principle 5 - Deploy Independently Service :: Host Consumer Driven Contracts Versioning 27
Principle 6 - Api First Design Documentation 28
Principle 6 - Api First Design Service Discovery 29
Principle 7 - Failure Isolation Bulkheading Circuit Breaker 30
Principle 8 - Devops Log Aggregation Stats Aggregation Service Ops Correlation 31
Principle 9 - Organizational Culture & Psychological Safety ~Peter Drucker~ 32
Silver Bullet? - Invest in aligning teams to service architecture - Invest in understanding and modeling business domain - Invest in infra automation - Invest in automated testing - Invest in Continuous Delivery - Invest in API First Design - Will experience hockey stick growth in microservice adoption - OK to start monolithic and move to microservices 33
Thanks! Contact us: Zaloni Inc 633 Davis Dr, Durham, NC 27709 sgupta@zaloni.com @sabygupta https://www.linkedin.com/in /sabyasachigupta/ 34

Microservices Architecture: Building 'SMART' & 'Agile' Software