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

Are microservices right for your next project/organization?

Are microservices right for your next project/organization?

Oliver Mensah

July 01, 2018
Tweet

More Decks by Oliver Mensah

Other Decks in Technology

Transcript

  1. Are MicroServices Right For Your Next Project or Organization? Oliver

    Mensah Facebook Developer Circle, Co-Lead @Oliver_Mensah linkedin.com/in/olivermensah
  2. DEMO APP  A client need a web platform to

    record faulty report from customers about the electrical appliance they bought from their shop.  In the future the system  should be able to manage customer information  must used machine learning model to give recommendation on how to solve the problem.  must be able to be extended easily.
  3.  “That monolith is going to add overhead into your

    process, and that software development life-cycle is going to begin to slow down. We went through the code, and pulled out functional units that served a single purpose, and we wrapped those with a web service interface.  ”  Rob Brigham, AWS Senior Product Management
  4. Application Development Life Cycle Requirements Plan & Design Plan &

    Design Develop T est Release Monitor Maintain
  5. Brownfield Microservices  System:  Existing Monolithic Application  Approach:

     Identify seams/domains  Validation:  Run Unit and Integration Testing  Where to Decompose:  By technology  By Dependencies
  6. Greenfield Microservices  System:  A New Application or domain

    to exiting application  Approach:  Identify seams/domains  Validation:  Run Unit and Integration Testing  Where to Decompose:  Minimal viable product  Customer needs and demand
  7. Technologies for Microservices  Communication  Message queuing protocol |

    HTTP(REST)  Hosting Platforms  Self Hosting| Virtualization | Containers | Registry and Discovery  Observable Microservices  Monitoring I Logging Tools  Performance  Scaling | Caching | API Gateway  Automation Tools  Continuous Integration | Continuous Deployment