Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Understanding Microservice Architecture WSO2Con Asia 2016


Published on

Today many organizations are leveraging microservice architecture (MSA), which is becoming increasingly popular because of its many potential advantages. MSA itself is divided into two areas – inner and outer architectures – which require separate attention. Moreover, MSA requires a certain level of developer and devops experience too. This talk will be an awareness session about MSA and will also discuss WSO2′s strategic initiatives in both the platform level and WSO2 MSF4J framework level.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Understanding Microservice Architecture WSO2Con Asia 2016

  1. 1. Understanding Microservice Architecture (MSA) Sagara Gunathunga Software Architect WSO2
  2. 2. Monolithic Applications Built as a single unit, so they are responsible for every possible functionality: handling HTTP requests, UIs, executing domain logic, database operations, communication with the browser/client, handling authentication and so on.
  3. 3. Drawbacks of Monolithic  Even smallest changes involves building and deploying the whole application.  Scalability issues : have to run multiple instances, even if you know that bottlenecks are lay on one component.  One technical stack is defined for whole solution, without considering most suitable technology for each components.  High coupling among project teams.  Can’t evolve or replace part of the application easily.
  4. 4. What is ‘MSA’ ? An architectural style to developing a single application as a suite of small services - Martin Fowler
  5. 5. Monolithic Vs Microservice
  6. 6. ‘MSA’ - Two Architecture Viewpoints The Inner Architecture - Architecture of an individual Microservice. The Outer Architecture - Architecture of the ecosystem in which Microservices will be built, deployed and executed. Inner Architecture Outer Architecture
  7. 7. ‘MSA’ - Inner Architecture Inner Architecture
  8. 8. Characteristics of Microservice 1. “Micro" is a concept of scope rather than size. A microservice must have a single purpose and be loosely coupled in design • NOT a service implemented with a small amount of code. • NOT a simple API to a more complex service implemented as part of a monolithic application. • NOT a service exposed via API by another party
  9. 9. 2. Microservices should be independently deployable and independently disposable Characteristics Microservice • Microservices must to be disposable. If a microservice fails or is superseded a better service, then simply dispose of the old one. • Require lot of support from deployment architecture and operational environment in which microservices will be built, deployed and executed.
  10. 10. 3. Organized around Business Capabilities not around management focused teams such as UI ,server-side, DB Characteristics of Microservice
  11. 11. 4. Decentralized Data Management Characteristics of Microservice
  12. 12. 5. Supports Technology Heterogeneity among services Characteristics of Microservice
  13. 13. MSA and SOA MSA is not based on all-new architectural principle; It combines SOA best practices with modern application delivery tooling and organizational disciplines. +
  14. 14. ‘MSA’ - Outer Architecture Outer Architecture
  15. 15. ‘MSA’ - Outer Architecture • Service Gateway • Expose services as managed APIs • Provides traffic and policy (security) management • Service Routing • Route message to right service based on clients and service polices • Load Balancing • Support service scalability • Service Discovery • Register and find services and endpoints dynamically
  16. 16. ‘MSA’ - Outer Architecture • Shared configuration • Sharing configuration details among new nodes. • Dependency management • Track and manage dependencies among services • Messaging channels • Support asynchronous communication based on publish/subscribe and event sourcing patterns.
  17. 17. MSA challenges – End to end Monitoring 1. Service level (APM) & deployment level dashboards 2. Transaction tracing, replay and log analysis 1. Service Instrumentation
  18. 18. MSA challenges – Security 1. Authentication and Authorization 2. Security context propagation among services
  19. 19. MSA challenges – Service Discovery • Client-side Service Discovery • Server-Side Service Discovery
  20. 20. MSA challenges – Deployment Scalability • Application platform as a service (aPaaS) • WSO2 AppCloud • OS container management systems • Google Kubernetes • Apache Mesos • Lightweight server OS • CoreOS • Atomic
  21. 21. MSA and WSO2 Although aPaaS platforms come closest, they are still general-purpose platforms, and there is currently no such thing as a holistic, commercially supported "microservice platform" that brings together all of the necessary capabilities. - Gartner (January 2015) WSO2 offer …. ① A competitive Microservice framework to support “Inner Architecture” (WSO2 MSF4J) ②A complete platform to support “Outer Architecture “ ( Analytics, Security, discovery , gateways, MQ etc.)
  22. 22. MSA and WSO2 Service Gateway Service Routing Service Discovery Shared Configuration Dependency Management Messaging Monitoring Security
  23. 23. WSO2 MSF4J
  24. 24. MSA Drawbacks • Complexity Is Moved Not Removed - Understanding, managing and testing dependencies is difficult. • Centralized governance is not possible - Large numbers of Microservices are difficult to orchestrate • Increase Network communication - Independently running component interact with each other using N/W calls. Such system require reliable and fast network connections.
  25. 25. MSA Drawbacks • Network Security - Inter Service Communication need to be secured to avoid any inter communication security breach these application are more prone to security vulnerabilities. • Production monitoring - Monitoring the application in production deployment becomes a complex job, with multiple services.
  26. 26. Thank You