Microservices

Introduction and TRX case study

Introduction

  • No proper definition
  • No guidelines for implementation
  • Alternative to monoliths

Monolith v/s Microservices

Characteristics of Microservices

  • Components and Services
  • Organised around business capabilities

Conways's Law

Any organisation that designs a system will produce a design whose structure is a copy of the organisation's communication structure

Principles

  • Captures business domain
  • Isolate failures
  • Deploy independently
  • Culture of automation
  • Evolving

Postel's Law

Be conservative in what you send, be liberal in what you accept

CAP Theorem

It is impossible for a distributed computer system to simultaneously provide all three of the following guarantees:

  • Consistency (all nodes see the same data at the same time)
  • Availability (a guarantee that every request receives a response about whether it succeeded or failed)
  • Partition tolerance (the system continues to operate despite arbitrary message loss or failure of part of the system)

How big should a service be?

This question was answered by Amazon as

Actually there is no underline rule for this!

TRX architecture

  • Web interface

  • User management

  • Content entry

  • Notifications

  • Blocks

  • Search

Microservice for download

Requirement

  • Downloads upto ~4GB
  • Concurrent downloads ~20 users
  • Number of files ~1000
  • Needed to present the zip
  • Cloud hosting

Drupal simply gave up!

Benefits of this approach to Srijan

  • Venturing into new technologies without compromising on quality
  • Getting into enterprise system as a service
  • Pitch for bigger systems overcoming the discussion of Drupal versus conversations

Thanks!

Microservices

By Arijit Dutta

Microservices

  • 1,021