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

The Part they do not tell you about microservices

Muktesh
September 26, 2018

The Part they do not tell you about microservices

Muktesh

September 26, 2018
Tweet

More Decks by Muktesh

Other Decks in Technology

Transcript

  1. WHO ARE WE • Senior Software Engineer at Capital One

    LLC • Interested in open-source, cloud and technology evangelism • Experienced in various Full stack technologies (UI to backend with DevOps added latest in armory) • OS Contributor to various open source and Apache products (eg: Hystrix, Spinakker, Spring etc.) and reviewer in various JSRs • 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 • Senior Software Engineer at Capital One LLC • Interested in open-source development systems • Experienced in Full stack technologies • Member of various groups • SF Google Developer Group • SF Women InTech
  2. OUR OBJECTIVE • To get you excited about some aspects

    which are not covered while switching to microservices • To make microservice architecture more manageable Is: • branding/forcing to us any particular tool Isn’t:
  3. AGENDA • Let’s go to microservice • They say, “GREAT

    POWER COMES WITH GREATER RESPONSIBILITY”, is it? • Are you ready to take the bluepill (hype driven development] • Traditional world: I need more control beforehand • Overcoming the challenges • Time to see results • Next steps
  4. LET’S GO TO MICROSERVICES • I heard about microservices •

    Good architecture pattern • Polyglot persistence • Easy to maintain (supposedly) • Scalable and resilient • Atomic components, that are decoupled YAY J OK, I guess then we should implement this.
  5. THEY SAY “GREAT POWER COMES WITH GREATER RESPONSIBILITY”, IS IT?

    • I am done with breaking my architecture from monolith to microservices. What next? • I do not know where it will sit. • It still takes so much time to deploy. • Failure of one still affects another
  6. ARE YOU READY TO TAKE THE BLUEPILL (HYPE DRIVEN DEVELOPMENT]

    • Containers • Container Orchestration • Circuit breakers/resiliency • Service discovery • Automated deployment and Testing • Spinnaker and Self Service capabilities • More Observability and monitoring****
  7. TRADITIONAL WORLD: I NEED MORE CONTROL BEFOREHAND • Traditional monitoring

    model are pull based where before pulling the data you need to tell controller where they are sitting. • This fails once you go to microservice container architecture as ports and host are assigned dynamically.
  8. ECS OVER COMING THE CHALLENGES : AN ATOMIC APPROACH API

    1 … API 2 API n EC2 API 1 … API 2 API n EC2 ECS ECS Pulls metrics data from SQS Pushes metrics data to SQS Note: Only one way is subscription is shown here. However we can subscribe/use metrices into different mechanisms, viz Kafla, RabbitMq etc.
  9. OK, WHAT DID WE LEARN? • Microservice architecture brings some

    known tradeoff with implementation • Can be reduced using best practices like automated deployment, circuit breakers, automated testing and better devops • Monitoring is a first class citizen in Microservice architecture • Make sure you monitor all factors consisting your architecture starting from infrastructure to every living line of code • More insight means more control • Catch anomalies as soon as possible and take action
  10. IMPORTANT LINKS • Dropwizard : https://www.dropwizard.io/1.3.5/docs/ • Micrometer: https://micrometer.io/ •

    Docker metrics: https://docs.docker.com/config/containers/runmetrics/ • Grafana: https://grafana.com/ • influxdb: https://www.influxdata.com/ • Kafka: https://kafka.apache.org/ • Rabbitmq: https://www.rabbitmq.com/
  11. NOT ENOUGH? JOIN US AT ORACLE CODE ONE (AKA JAVA

    ONE) https://oracle.rainfocus.com/widget/oracle/oow 18/catalogcodeone18?search=muktesh • Cruise in the cloud with high confidence: how Istio changes the world [bof5802] • Waking up in the weeds of microservices? how to diagnose your first bug [bof5646]