Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The part they do not tell you about micro services

Muktesh
December 06, 2017

The part they do not tell you about micro services

My session presented at Java one @017

Muktesh

December 06, 2017
Tweet

More Decks by Muktesh

Other Decks in Technology

Transcript

  1. WHO AM I u Senior Software Engineer at Capital One

    LLC u Interested in open-source, cloud and technology evangelism u Experienced in various Full stack technologies (UI to backend with DevOps added latest in armory) u Technical conference and meetup junkie u Open source contributor to various open source and Apache products (eg: Hystrix, Spinakker, etc.) u Reviewer in various JSRs u President, founder and member of various organizations/groups • Sunnyvale Java User Group • San Francisco Java User Group • Google Developer Group (SF Edition) • Java Community Program u Twitter: • https://twitter.com/mukteshkrmishra u Linked-in • https://www.linkedin.com/in/mukteshkrmishra/
  2. Warning!! u This presentation could be using all well established

    norms in microservice world, but you will find some new challenges and ways to tackle them. u So hang tight and enjoy. J
  3. My objective u Is: o To get you excited about

    some aspects which are not covered while switching to microservices o To make microservice architecture more manageable u Isn’t : o Branding/forcing to use any particular product / tools
  4. Agenda u Why microservices u Challenges in adapting microservice architecture

    : The hidden part u Service discovery u Maintainability u Containerization and monitoring u Fallback behavior and monitoring u Our solution : A secret home home grown free recipe u Code demo
  5. Why microservices u More atomic u Easy to develop u

    Easy decoupling between logics (core and business) u Polyglot persistence (since each module becomes an entity) u Easy to maintain (since code base is small) u Distributed data u Resilient and scalable
  6. Here comes challenging part u Who likes challenges (everybody does,

    but upto some extent. That is what the main purpose to develop/ adapt a technology. u Service discovery u Scattered u Monitoring and alerting u Security u Containers (new guests joining the party)
  7. Monitoring: the hardest part u What to monitor (to many

    components involved: jvm, Circuit breakers, containers) u Everything is so distributed, how do I monitor? u Containers are always changing their identity (ip and ports)
  8. API 1 API n API 2 … API 1 API

    n API 2 … API 1 API n API 2 … Turbine Continuous Pull of metrics data PULL MODEL Dashboard pulls data from turbine Traditional world : I need more control beforehand.
  9. ECS Overcoming the challenge.. API 1 … API 2 API

    n EC2 API 1 … API 2 API n EC2 ECS ECS PUSH MODEL Pulls metrics data from SQS Pushes metrics data to SQS