MICROSERVICE ARCHITECTURE
• Introduction
• Monolith Vs Micro Services
• Refactoring Monolith to Micro Services
• No Dev Ops : CI & CD
• Micro Service deployment using Docker
• Monitor and Maintain the Micro Services in Cloud
• Case Study : NMS / EMS Event Management
• An Architectural style
• Has set of Principles
• Future direction for software architectures
• Infrastructure : Automation – CI & CD
-Circle CI, dockeroscen
• Maintain / Monitor distributed micro services
• Communication between micro services
• Service discovery
• Troubleshoot – logging
• ACID – Transaction
• Load Balancing - Fault Management
• Docker registry
• Deployment – Docker Compose
• Docker Clusters
• Swarm
• Fleet
• Kubernetes (google)
• Mesos and Marathon (apache – open source)
Management & Monitoring
• Consul
• Eureka – NetFlix
• NGINX
• Client / Server Discovery
• Health check
• Load balanced
• NetFlix – Eureka ( service registry)
• “Logstash is an open source tool for collecting, parsing, and storing logs for
future use. Kibana 3 is a web interface that can be used to search and view
the logs that Logstash has indexed. Both of these tools are based on
Elasticsearch. Elasticsearch, Logstash, and Kibana, when used together is
known as an ELK stack”
• End to end solution for analytics, logging, search & visualization
• Now called as Elastic Stack
• Single entry point into a system
• Request routing, composition, and protocol translation
• Facade Pattern
• Performance and Scalability
• Reactive Programming Model
• Service Invocation
• Service Discovery
• Handling Partial Failures
• Programming Style
• Event driven, Scalable, Resilient, Responsive
• Share Nothing Concurrency
• Circuit Breaker
• Observer, Observable
• Java8 Future, Lambda, NIO
• JavaRx, RxJS
• Library for composing asynchronous and event-based programs using
observable sequences for the JVM
• By NetFlix
• Circuit Breaker Pattern
• Hystrix
• ACID
• Event Sourcing
• Stop Digging
• Split Frontend and Backend
• Extract Services
• Prioritizing Which Modules to Convert into Service
• Using Domain Model Pattern
• Spring bootstrep
• Mavan Docker - Plugin
• org.springframework.cloud.*
• org.springframework.cloud.consul.*
• Martin Flower- https://www.youtube.com/watch?v=wgdBVIX9ifA
• https://www.youtube.com/watch?v=iJVW7v8O9BU
• https://www.nginx.com/blog/introduction-to-microservices/
• https://www.infoq.com/presentations/Netflix-API-rxjava-hystrix
• http://dzone.com/refcardz/getting-started-with-microservices
• http://www.kennybastani.com/2016/04/event-sourcing-microservices-spring-
cloud.html
• http://www.kennybastani.com/2015/07/spring-cloud-docker-
microservices.html
Micro services Architecture

Micro services Architecture

  • 1.
  • 2.
    • Introduction • MonolithVs Micro Services • Refactoring Monolith to Micro Services • No Dev Ops : CI & CD • Micro Service deployment using Docker • Monitor and Maintain the Micro Services in Cloud • Case Study : NMS / EMS Event Management
  • 7.
    • An Architecturalstyle • Has set of Principles • Future direction for software architectures
  • 13.
    • Infrastructure :Automation – CI & CD -Circle CI, dockeroscen • Maintain / Monitor distributed micro services • Communication between micro services • Service discovery • Troubleshoot – logging • ACID – Transaction • Load Balancing - Fault Management
  • 16.
    • Docker registry •Deployment – Docker Compose • Docker Clusters • Swarm • Fleet • Kubernetes (google) • Mesos and Marathon (apache – open source) Management & Monitoring • Consul • Eureka – NetFlix • NGINX
  • 18.
    • Client /Server Discovery • Health check • Load balanced • NetFlix – Eureka ( service registry)
  • 22.
    • “Logstash isan open source tool for collecting, parsing, and storing logs for future use. Kibana 3 is a web interface that can be used to search and view the logs that Logstash has indexed. Both of these tools are based on Elasticsearch. Elasticsearch, Logstash, and Kibana, when used together is known as an ELK stack” • End to end solution for analytics, logging, search & visualization • Now called as Elastic Stack
  • 24.
    • Single entrypoint into a system • Request routing, composition, and protocol translation • Facade Pattern • Performance and Scalability • Reactive Programming Model • Service Invocation • Service Discovery • Handling Partial Failures
  • 25.
    • Programming Style •Event driven, Scalable, Resilient, Responsive • Share Nothing Concurrency • Circuit Breaker • Observer, Observable • Java8 Future, Lambda, NIO • JavaRx, RxJS
  • 29.
    • Library forcomposing asynchronous and event-based programs using observable sequences for the JVM • By NetFlix
  • 30.
    • Circuit BreakerPattern • Hystrix
  • 32.
  • 34.
    • Stop Digging •Split Frontend and Backend • Extract Services • Prioritizing Which Modules to Convert into Service • Using Domain Model Pattern
  • 40.
    • Spring bootstrep •Mavan Docker - Plugin • org.springframework.cloud.* • org.springframework.cloud.consul.*
  • 41.
    • Martin Flower-https://www.youtube.com/watch?v=wgdBVIX9ifA • https://www.youtube.com/watch?v=iJVW7v8O9BU • https://www.nginx.com/blog/introduction-to-microservices/ • https://www.infoq.com/presentations/Netflix-API-rxjava-hystrix • http://dzone.com/refcardz/getting-started-with-microservices • http://www.kennybastani.com/2016/04/event-sourcing-microservices-spring- cloud.html • http://www.kennybastani.com/2015/07/spring-cloud-docker- microservices.html