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

Node.JS Micro services Arcitecture

Avatar for Ady Ady
June 30, 2016

Node.JS Micro services Arcitecture

Given at the You Gotta Love Front-end conference in Tel Aviv, 2016

Avatar for Ady

Ady

June 30, 2016

Other Decks in Programming

Transcript

  1. ADY LEVY Group Lead at Aol, A Verizon company. Working

    with client / server technologies for the past 10 years. Passionate about Javascript and frontend.
  2. WHAT IS THIS LECTURE ALL ABOUT ? Node.js is scalable,

    extensible and should be a first choice for a JS developer. Node.js is not scary and can be used as a first citizen production service/app. Backend architecture like micro services can be easily applied to a node.js app
  3. WHAT IS A MICRO SERVICE? • Single responsibility per service

    • Distributed • Split to small sevices • SOA reinvented...
  4. MONOLITHIC APPLICATION - DISADVANTAGES ? • Needs very strong hardware

    to run • A bug in one of the components will take down the entire app • Very hard to scale • Code quality • Maintenance • Deployment cycle • Testability
  5. ADVANTAGES OF MICRO SERVICES • Single, small codebase per service

    - Each microservice deals with one concern only • Easy to scale horizontally • Deployments contained and much easier (also for rollbacks) • Tests are easier to maintain and manage • Code changes becomes easy • Availability - A bug in one of the services will not take down the entire app • Enables right language / framework for each domain
  6. CHALLENGES • Communication / Synchronization between services (1 call =>

    many internal calls) • Operational overhead (instead of 1 server, maintainance of dozens) • Monitoring • Integration testing • Backward/forward compatibility
  7. LETS SEE SOME CODE First Repo - bit.ly/todo-simple One APP

    -UI , API , Entity Access Second Repo - bit.ly/todo-micro Split to 3 applications.
  8. WHAT DID WE LEARN ? • If you have not

    tried Node.js just yet - do it today! • Node.js is a legit solution for high load backend tasks • Micro services are cool and can easily be applied to a node application