SlideShare a Scribd company logo
1 of 45
Download to read offline
All About Microservices
March 2015
Software Architect
Kasun Indrasiri
WSO2 Meetup
Microservices in Practice
*	
  *	
  
‘Microservices’?	
  	
  
*	
  *	
  
‘Monolithic’	
  Architecture	
  	
  
*	
  *	
  
๏  All	
  func)onali)es	
  are	
  implemented/deployed	
  into	
  a	
  single	
  
so7ware	
  applica)on.	
  	
  
๏  Enterprise	
  so7ware	
  applica)ons	
  -­‐	
  ERPs,	
  CRMs	
  etc.	
  
๏  SOA/web	
  services:	
  'coarse-­‐grained'	
  services,	
  broad	
  scope,	
  
mammoth	
  services	
  with	
  several	
  dozens	
  of	
  opera)ons	
  and	
  
complex	
  message	
  formats	
  	
  
Monolithic	
  Architecture	
  	
  
*	
  *	
  
๏  Use	
  case	
  :	
  Online	
  Retail	
  so*ware	
  applica/on	
  with	
  	
  which	
  
comprises	
  of	
  mul/ple	
  business	
  func/onali/es.	
  	
  
Monolithic	
  Architecture	
  	
  
*	
  *	
  
๏  Developed	
  and	
  deployed	
  as	
  a	
  single	
  unit.	
  
๏  Overwhelmingly	
  complex;	
  which	
  leads	
  to	
  nightmares	
  in	
  
maintaining,	
  upgrading	
  and	
  adding	
  new	
  features.	
  
๏  Redeploy	
  the	
  en)re	
  applica)on,	
  in	
  order	
  to	
  update	
  a	
  part	
  of	
  it.	
  
๏  Scaling	
  :	
  scaled	
  as	
  a	
  single	
  applica)on	
  and	
  difficult	
  to	
  scale	
  
with	
  conflic)ng	
  resource	
  requirements	
  	
  
๏  Reliability	
  -­‐	
  One	
  unstable	
  service	
  can	
  bring	
  the	
  whole	
  
applica)on	
  down.	
  	
  
๏  Hard	
  to	
  innovate,	
  prac)ce	
  agile	
  development	
  and	
  delivery	
  
methodologies	
  	
  
Monolithic	
  Architecture	
  	
  
*	
  *	
  
‘Microservices’	
  Architecture	
  
*	
  *	
  
๏  The	
  founda/on	
  of	
  microservices	
  architecture(MSA)	
  is	
  about	
  
developing	
  a	
  single	
  applica/on	
  as	
  a	
  suite	
  of	
  fine-­‐grained	
  and	
  
independent	
  services	
  that	
  are	
  	
  running	
  in	
  its	
  own	
  process,	
  
developed	
  and	
  deployed	
  independently.	
  
๏  Its	
  just	
  more	
  than	
  segrega)ng	
  the	
  services	
  in	
  a	
  monolith.	
  	
  
Microservices	
  Architecture	
  
*	
  *	
  
๏  Use	
  case	
  :	
  Online	
  retail	
  applica)on	
  can	
  be	
  implemented	
  with	
  a	
  
suite	
  of	
  microservices	
  	
  
Microservices	
  Architecture	
  
*	
  *	
  
๏  Common	
  Misconcep7ons	
  	
  
§  Lines	
  of	
  Code	
  
§  Team	
  size	
  	
  
§  'Micro'	
  is	
  a	
  bit	
  misleading	
  term	
  	
  
§  Use	
  web	
  services	
  and	
  rebranding	
  them	
  as	
  microservices	
  
Designing	
  Microservices	
  :	
  Size,	
  scope	
  and	
  
capabili7es	
  
*	
  *	
  
๏  Single	
  Responsibility	
  Principle(SRP):	
  Having	
  a	
  limited	
  and	
  a	
  focused	
  business	
  
scope.	
  	
  
๏  Find	
  the	
  service	
  boundaries	
  and	
  align	
  them	
  with	
  the	
  business	
  capabili)es	
  (aka	
  
DDD).	
  
๏  Make	
  sure	
  the	
  microservices	
  design	
  ensures	
  the	
  agile/independent	
  
development	
  and	
  deployment	
  of	
  the	
  service.	
  
๏  Focus	
  on	
  scope	
  of	
  the	
  microservice,	
  but	
  not	
  about	
  making	
  the	
  the	
  service	
  
smaller-­‐	
  righted	
  sized	
  services	
  	
  
๏  Unlike	
  service	
  in	
  web	
  services,	
  a	
  given	
  microservice	
  should	
  have	
  a	
  very	
  few	
  
opera)ons/func)onali)es	
  and	
  simple	
  message	
  format.	
  	
  
๏  Start	
  with	
  rela)vely	
  broad	
  service	
  boundaries	
  to	
  begin	
  with,	
  refactoring	
  to	
  
smaller	
  ones	
  (based	
  on	
  business	
  requirements)	
  as	
  )me	
  goes	
  on.	
  	
  
Designing	
  Microservices	
  :	
  Size,	
  scope	
  and	
  
capabili7es	
  
*	
  *	
  
๏  In	
  Monolithic	
  architecture:	
  	
  
§  Func)on	
  calls	
  or	
  language-­‐level	
  method	
  calls	
  
§  SOA/web	
  services	
  :	
  SOAP	
  and	
  WS*	
  with	
  HTTP,	
  JMS	
  etc.	
  	
  
§  Webservices	
  with	
  several	
  dozens	
  of	
  opera)ons	
  and	
  complex	
  
message	
  schemas	
  	
  
๏  In	
  Microservice	
  architecture:	
  	
  
§  Simple	
  and	
  lightweight	
  messaging	
  mechanism.	
  
Messaging	
  in	
  Microservices	
  	
  
*	
  *	
  
๏  Synchronous	
  Messaging	
  
§  Client	
  expects	
  a	
  /mely	
  response	
  from	
  the	
  service	
  and	
  waits	
  /ll	
  it	
  
get	
  it.	
  	
  
§  REST,	
  Thri7	
  	
  
Messaging	
  in	
  Microservices	
  	
  
*	
  *	
  
๏  Asynchronous	
  Messaging	
  
§  Client	
  doesn't	
  expects	
  a	
  response	
  immediately,	
  or	
  not	
  accepts	
  a	
  
response	
  at	
  all	
  
§  AMQP,	
  STOMP,	
  MQTT	
  
๏  Message	
  Formats	
  
§  JSON,	
  XML,	
  Thri7,	
  ProtoBuf,	
  Avro	
  	
  
๏  Service	
  Contracts	
  	
  
§  Defining	
  the	
  service	
  interfaces	
  -­‐	
  Swagger,	
  RAML,	
  Thri7	
  IDL	
  
Messaging	
  in	
  Microservices	
  	
  
*	
  *	
  
๏  Required	
  to	
  have	
  the	
  communica)on	
  structures	
  between	
  
different	
  microservices.	
  	
  
๏  SOA/web	
  services	
  used	
  ESB.	
  	
  
๏  Microservices	
  promotes	
  to	
  eliminate	
  the	
  central	
  message	
  bus/
ESB	
  and	
  move	
  the	
  'smart-­‐ness'	
  or	
  business	
  logic	
  to	
  the	
  services	
  
and	
  client(known	
  as	
  'Smart	
  Endpoints').	
  	
  
๏  Connect	
  services	
  through	
  ‘dumb’	
  pipes.	
  	
  
	
  
Integra7ng	
  Microservices	
  (Inter-­‐service	
  
Communica7on)	
  
*	
  *	
  
๏  Point-­‐to-­‐point	
  style	
  -­‐	
  Invoking	
  services	
  directly	
  	
  
Integra7ng	
  Microservices	
  (Inter-­‐service	
  
Communica7on)	
  
*	
  *	
  
๏  API-­‐Gateway	
  style	
  
Integra7ng	
  Microservices	
  (Inter-­‐service	
  
Communica7on)	
  
*	
  *	
  
๏  Message	
  Broker	
  style	
  
Integra7ng	
  Microservices	
  (Inter-­‐service	
  
Communica7on)	
  
*	
  *	
  
๏  Monolithic	
  applica7ons	
  use	
  a	
  centralized	
  database	
  	
  
Data	
  Management	
  
*	
  *	
  
๏  Decentralized	
  Data	
  mananement	
  with	
  Microservices	
  	
  
Data	
  Management	
  
*	
  *	
  
๏  Decentralized	
  Datamananement	
  with	
  Microservices	
  	
  
§  Each	
  microservice	
  can	
  have	
  a	
  private	
  database	
  to	
  persist	
  the	
  data	
  
that	
  requires	
  to	
  implement	
  the	
  business	
  func)onality	
  offered	
  from	
  
it.	
  
§  	
  A	
  given	
  microservice	
  can	
  only	
  access	
  the	
  dedicated	
  private	
  database	
  
but	
  not	
  the	
  databases	
  of	
  other	
  microservices.	
  
§  In	
  some	
  business	
  scenarios,	
  you	
  might	
  have	
  to	
  update	
  several	
  
database	
  for	
  a	
  single	
  transac)on.	
  In	
  such	
  scenarios,	
  the	
  databases	
  of	
  
other	
  microservices	
  should	
  be	
  updated	
  through	
  its	
  service	
  API	
  only	
  
Data	
  Management	
  
*	
  *	
  
๏  Governance	
  -­‐	
  establishing	
  and	
  enforcing	
  how	
  people	
  and	
  
solu)ons	
  work	
  together	
  to	
  achieve	
  organiza)onal	
  objec)ves	
  
§  Design	
  and	
  run)me	
  governance.	
  	
  
๏  In	
  Microservices	
  Architecture:	
  	
  	
  
§  No	
  centralized	
  design-­‐)me	
  governance.	
  
§  Make	
  their	
  own	
  decisions	
  about	
  its	
  design	
  and	
  implementa)on.	
  
§  Foster	
  the	
  sharing	
  of	
  common/reusable	
  services.	
  
§  Run-­‐)me	
  governance	
  aspects	
  such	
  as	
  SLAs,	
  throdling,	
  monitoring,	
  
common	
  security	
  requirements	
  and	
  service	
  discovery	
  may	
  be	
  
implemented	
  at	
  API-­‐GW	
  level.	
  
Decentralized	
  Governance	
  	
  
*	
  *	
  
๏  Service	
  Registry	
  -­‐	
  Holds	
  the	
  microservices	
  instances	
  and	
  their	
  
loca)ons	
  
๏  Service	
  Discovery	
  -­‐	
  find	
  the	
  available	
  microservices	
  and	
  their	
  
loca)on	
  
Service	
  Registry	
  and	
  Service	
  Discovery	
  	
  
*	
  *	
  
๏  Client-­‐side	
  Discovery	
  	
  
Service	
  Discovery	
  	
  
*	
  *	
  
๏  Server-­‐side	
  Discovery	
  	
  
Service	
  Discovery	
  	
  
*	
  *	
  
๏  Ability	
  to	
  deploy/un-­‐deploy	
  independently	
  of	
  other	
  
microservices.	
  
๏  Must	
  be	
  able	
  to	
  scale	
  at	
  each	
  microservices	
  level.	
  	
  
๏  Building	
  and	
  deploying	
  microservices	
  quickly.	
  	
  
๏  Failure	
  in	
  one	
  microservice	
  must	
  not	
  affect	
  any	
  of	
  the	
  other	
  
services.	
  
Microservice	
  Deployment	
  	
  
*	
  *	
  
๏  Docker	
  	
  
§  Docker	
  is	
  becoming	
  an	
  extremely	
  popular	
  way	
  of	
  packaging	
  and	
  
deploying	
  services.	
  	
  
§  Package	
  the	
  microservice	
  as	
  a	
  (Docker)	
  container	
  image.	
  
§  Deploy	
  each	
  service	
  instance	
  as	
  a	
  container.	
  
§  Scaling	
  is	
  done	
  based	
  on	
  changing	
  the	
  number	
  of	
  container	
  
instances.	
  
§  Building,	
  deploying	
  and	
  star)ng	
  microservice	
  will	
  be	
  much	
  faster	
  as	
  
we	
  are	
  using	
  docker	
  containers	
  	
  
Microservice	
  Deployment	
  	
  
*	
  *	
  
๏  Kubernetes	
  
§  Extending	
  Docker's	
  capabili)es	
  by	
  allowing	
  to	
  manage	
  a	
  cluster	
  of	
  
Linux	
  containers	
  as	
  a	
  single	
  system,	
  managing	
  and	
  running	
  Docker	
  
containers	
  across	
  mul)ple	
  hosts,	
  offering	
  co-­‐loca)on	
  of	
  containers,	
  
service	
  discovery	
  and	
  replica)on	
  control.	
  	
  
Microservice	
  Deployment	
  	
  
*	
  *	
  
๏  Use	
  case	
  :	
  The	
  microservices	
  of	
  Online	
  Retail	
  so*ware	
  
applica/on	
  with	
  can	
  be	
  deployed	
  and	
  scaled	
  with	
  Docker	
  and	
  
Kubernetes.	
  	
  
Microservice	
  Deployment	
  	
  
*	
  *	
  
๏  Security	
  in	
  Monolithic	
  applica)ons	
  	
  
§  Its	
  about	
  'who	
  is	
  the	
  caller',	
  'what	
  can	
  the	
  caller	
  do'	
  and	
  'how	
  do	
  we	
  
propagate	
  that	
  informa/on'.	
  	
  
§  O7en	
  implemented	
  at	
  a	
  common	
  security	
  component	
  which	
  is	
  at	
  
the	
  beginning	
  of	
  the	
  request	
  handling	
  chain	
  and	
  that	
  component	
  
populates	
  the	
  required	
  informa)on	
  with	
  the	
  use	
  of	
  an	
  underlying	
  
user	
  repository	
  
๏  Security	
  in	
  Microservices	
  	
  
§  a	
  security	
  component	
  implemented	
  at	
  each	
  microservices	
  level	
  that	
  
uses	
  a	
  central	
  user	
  repository/store.	
  	
  
§  Leverage	
  the	
  widely	
  used	
  API-­‐Security	
  standards	
  such	
  as	
  OAuth2	
  and	
  
OpenID	
  Connect	
  	
  
Security	
  with	
  Microservice	
  
*	
  *	
  
๏  OAuth	
  2.0	
  	
  
§  The	
  client	
  authen)cates	
  with	
  authoriza)on	
  server	
  and	
  get	
  an	
  
opaque	
  token	
  which	
  is	
  known	
  as	
  'Access	
  token'.	
  Access	
  token	
  has	
  
zero	
  informa)on	
  about	
  the	
  user/client.	
  	
  
§  It	
  only	
  has	
  a	
  reference	
  to	
  the	
  user	
  informa)on	
  that	
  can	
  only	
  be	
  
retrieved	
  by	
  the	
  Authoriza)on	
  server.	
  Hence	
  this	
  is	
  known	
  as	
  a	
  'by-­‐
reference	
  token'	
  and	
  it	
  is	
  safe	
  to	
  use	
  this	
  token	
  even	
  in	
  the	
  public	
  
network/internet.	
  	
  
Security	
  with	
  Microservice	
  
*	
  *	
  
๏  OpenID	
  Connect	
  	
  	
  
§  OpenID	
  Connect	
  behaves	
  similar	
  to	
  OAuth	
  but	
  in	
  addi)on	
  to	
  the	
  Access	
  token,	
  
the	
  authoriza)on	
  server	
  issues	
  an	
  ID	
  token	
  which	
  contains	
  informa)on	
  about	
  
the	
  user.	
  
§  Implement	
  with	
  a	
  JWT	
  (JSON	
  Web	
  Token)	
  and	
  that	
  is	
  signed	
  by	
  authoriza)on	
  
server.	
  So,	
  this	
  ensures	
  the	
  trust	
  between	
  the	
  authoriza)on	
  server	
  and	
  the	
  
client.	
  	
  
§  JWT	
  token	
  is	
  therefore	
  known	
  as	
  a	
  'By-­‐value	
  token'	
  as	
  it	
  contains	
  the	
  
informa)on	
  of	
  the	
  user	
  and	
  obviously	
  it	
  is	
  not	
  safe	
  to	
  use	
  it	
  outside	
  the	
  
internal	
  network.	
  	
  
Security	
  with	
  Microservice	
  
*	
  *	
  
๏  Microservice	
  security	
  with	
  OAuth2	
  and	
  OpenID	
  Connect	
  
Security	
  with	
  Microservice	
  
*	
  *	
  
๏  Suppor)ng	
  distributed	
  transac)ons	
  across	
  mul)ple	
  
microservices	
  –	
  Too	
  complex.	
  
๏  Microservice	
  architecture	
  itself	
  encourages	
  the	
  transac)on-­‐
less	
  coordina)on	
  between	
  services.	
  
๏  Mandatory	
  transac)on	
  requirements	
  can	
  be	
  fulfilled	
  with	
  
'compensa)ng	
  opera)ons'	
  	
  
Transac7ons	
  
*	
  *	
  
๏  Increases	
  the	
  possibility	
  of	
  having	
  failures	
  at	
  each	
  service	
  level	
  
๏  Unavailable	
  or	
  unresponsive	
  microservice	
  should	
  not	
  bring	
  the	
  
whole	
  system	
  down	
  
๏  Microservices	
  should	
  be	
  fault	
  tolerant,	
  be	
  able	
  to	
  recover	
  
when	
  that	
  is	
  possible	
  and	
  the	
  client	
  has	
  to	
  handle	
  it	
  gracefully.	
  
๏  Error	
  handling	
  paderns	
  
§  Circuit	
  Breaker	
  
§  Timeout	
  
§  Bulkhead	
  
Design	
  for	
  Failures	
  
*	
  *	
  
๏  Orchestra)on	
  at	
  Microservices	
  Layer	
  	
  
Orchestra7ng	
  Microservices	
  	
  
*	
  *	
  
๏  Orchestra)on	
  at	
  the	
  Gateway	
  Layer	
  
Orchestra7ng	
  Microservices	
  	
  
*	
  *	
  
๏  Choreography	
  Style	
  
Orchestra7ng	
  Microservices	
  	
  
*	
  *	
  
๏  Inner	
  and	
  Outer	
  Architecture	
  
Microservices	
  in	
  Modern	
  Enterprises	
  	
  
*	
  *	
  
๏  Inner	
  and	
  Outer	
  Architecture	
  
§  Inner	
  Architecture	
  :	
  The	
  pure	
  microservices	
  components	
  	
  which	
  is	
  
less	
  complex	
  are	
  categorized	
  under	
  'Inner	
  Architecture'	
  	
  
§  Outer	
  Architecture	
  :	
  This	
  delivers	
  the	
  plajorm	
  capabili)es	
  that	
  are	
  
required	
  to	
  build	
  a	
  solu)on	
  around	
  the	
  microservices	
  that	
  we	
  build.	
  
Microservices	
  in	
  Modern	
  Enterprises	
  	
  
*	
  *	
  
๏  Modern	
  Enterprise	
  Architecture	
  with	
  Microservices,	
  
Enterprise	
  Integra)on	
  and	
  API	
  Management	
  
Microservices	
  in	
  Modern	
  Enterprises	
  	
  
*	
  *	
  
๏  Microservices	
  is	
  not	
  a	
  panacea	
  :	
  It	
  won't	
  solve	
  all	
  your	
  
enterprise	
  IT	
  needs	
  
๏  ‘SOA	
  done	
  right’?	
  	
  
๏  Most	
  enterprise	
  won't	
  be	
  able	
  to	
  convert	
  their	
  en)re	
  
enterprise	
  IT	
  systems	
  to	
  microservices.	
  	
  
๏  Enterprise	
  Integra)on	
  never	
  goes	
  away.	
  
๏  Microservices	
  are	
  exposed	
  as	
  APIs.	
  	
  
๏  Interac)on	
  between	
  microservices	
  should	
  be	
  support	
  via	
  a	
  
lightweight	
  orchestra)on	
  engine/Gateway	
  or	
  inside	
  another	
  
microservice.	
  	
  
Microservices	
  –	
  Conclusion	
  	
  
*	
  *	
  
QnA	
  
*	
  *	
  
References	
  	
  
๏  hdp://kasunpanorama.blogspot.com/2015/11/microservices-­‐
in-­‐prac)ce.html	
  
๏  hdp://kasunpanorama.blogspot.com/2016/02/microservices-­‐
enterprise-­‐integra)on.html	
  
๏  hdp://microservices.io/paderns/	
  
๏  hdp://mar)nfowler.com/microservices/	
  
Contact	
  us	
  !	
  

More Related Content

What's hot

Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architectureThe Software House
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice ArchitectureNguyen Tung
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principlesSanjoy Kumar Roy
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices Amazon Web Services
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Araf Karsh Hamid
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices Bozhidar Bozhanov
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesAraf Karsh Hamid
 
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...Microservices Tutorial for Beginners | Microservices Architecture | Microserv...
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...Edureka!
 
Microservices architecture overview v3
Microservices architecture overview v3Microservices architecture overview v3
Microservices architecture overview v3Dmitry Skaredov
 
Microservices design patterns
Microservices design patternsMicroservices design patterns
Microservices design patternsMasashi Narumoto
 
Microservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaAraf Karsh Hamid
 
Microservices Design Patterns Explained | Edureka
Microservices Design Patterns Explained | EdurekaMicroservices Design Patterns Explained | Edureka
Microservices Design Patterns Explained | EdurekaEdureka!
 
A Pattern Language for Microservices
A Pattern Language for MicroservicesA Pattern Language for Microservices
A Pattern Language for MicroservicesChris Richardson
 
Event-driven microservices
Event-driven microservicesEvent-driven microservices
Event-driven microservicesAndrew Schofield
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To MicroservicesLalit Kale
 

What's hot (20)

Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Microservice intro
Microservice introMicroservice intro
Microservice intro
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...Microservices Tutorial for Beginners | Microservices Architecture | Microserv...
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...
 
Microservices architecture overview v3
Microservices architecture overview v3Microservices architecture overview v3
Microservices architecture overview v3
 
Microservices design patterns
Microservices design patternsMicroservices design patterns
Microservices design patterns
 
Microservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and Kafka
 
Microservices Design Patterns Explained | Edureka
Microservices Design Patterns Explained | EdurekaMicroservices Design Patterns Explained | Edureka
Microservices Design Patterns Explained | Edureka
 
A Pattern Language for Microservices
A Pattern Language for MicroservicesA Pattern Language for Microservices
A Pattern Language for Microservices
 
Event-driven microservices
Event-driven microservicesEvent-driven microservices
Event-driven microservices
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
 

Viewers also liked

The Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital TransformationThe Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital TransformationKasun Indrasiri
 
Cloud World Forum - Core DevOps at BGCH - Doc, Comms and Honesty
Cloud World Forum - Core DevOps at BGCH - Doc, Comms and HonestyCloud World Forum - Core DevOps at BGCH - Doc, Comms and Honesty
Cloud World Forum - Core DevOps at BGCH - Doc, Comms and Honestyjharrisonbgch
 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale AgileEberhard Wolff
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesEberhard Wolff
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology StackEberhard Wolff
 
DevOps unraveled - Nyenrode masterclass on Agile Management
DevOps unraveled - Nyenrode masterclass on Agile ManagementDevOps unraveled - Nyenrode masterclass on Agile Management
DevOps unraveled - Nyenrode masterclass on Agile ManagementInspectie van het Onderwijs
 
Anonymous Individual Integration for IoT
Anonymous Individual Integration for IoTAnonymous Individual Integration for IoT
Anonymous Individual Integration for IoTPaul Fremantle
 
A High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf HamburgA High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf HamburgDr. Arif Wider
 
DevopsBusinessCaseTemplate
DevopsBusinessCaseTemplateDevopsBusinessCaseTemplate
DevopsBusinessCaseTemplatePeter Lamar
 
Demystifying Operational Features for Product Owners - AgileCam - SkeltonThat...
Demystifying Operational Features for Product Owners - AgileCam - SkeltonThat...Demystifying Operational Features for Product Owners - AgileCam - SkeltonThat...
Demystifying Operational Features for Product Owners - AgileCam - SkeltonThat...Skelton Thatcher Consulting Ltd
 
Bluemix DevOps Meetup
Bluemix DevOps MeetupBluemix DevOps Meetup
Bluemix DevOps MeetupKyle Brown
 
PHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsPHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsGuilherme Blanco
 
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...Roger Snook
 
Accion Labs Microservices Whitepaper
Accion Labs Microservices WhitepaperAccion Labs Microservices Whitepaper
Accion Labs Microservices WhitepaperTony Kernan
 
DevOps for the Mobile Enterprise: Test and Deploy
DevOps for the Mobile Enterprise: Test and DeployDevOps for the Mobile Enterprise: Test and Deploy
DevOps for the Mobile Enterprise: Test and DeployRosalind Radcliffe
 
micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)smancke
 
MicroServices, yet another architectural style?
MicroServices, yet another architectural style?MicroServices, yet another architectural style?
MicroServices, yet another architectural style?ACA IT-Solutions
 

Viewers also liked (20)

The Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital TransformationThe Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital Transformation
 
Cloud World Forum - Core DevOps at BGCH - Doc, Comms and Honesty
Cloud World Forum - Core DevOps at BGCH - Doc, Comms and HonestyCloud World Forum - Core DevOps at BGCH - Doc, Comms and Honesty
Cloud World Forum - Core DevOps at BGCH - Doc, Comms and Honesty
 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale Agile
 
Microintegration
MicrointegrationMicrointegration
Microintegration
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to Microservices
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
 
DevOps unraveled - Nyenrode masterclass on Agile Management
DevOps unraveled - Nyenrode masterclass on Agile ManagementDevOps unraveled - Nyenrode masterclass on Agile Management
DevOps unraveled - Nyenrode masterclass on Agile Management
 
Anonymous Individual Integration for IoT
Anonymous Individual Integration for IoTAnonymous Individual Integration for IoT
Anonymous Individual Integration for IoT
 
A High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf HamburgA High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf Hamburg
 
DevopsBusinessCaseTemplate
DevopsBusinessCaseTemplateDevopsBusinessCaseTemplate
DevopsBusinessCaseTemplate
 
Demystifying Operational Features for Product Owners - AgileCam - SkeltonThat...
Demystifying Operational Features for Product Owners - AgileCam - SkeltonThat...Demystifying Operational Features for Product Owners - AgileCam - SkeltonThat...
Demystifying Operational Features for Product Owners - AgileCam - SkeltonThat...
 
Bluemix DevOps Meetup
Bluemix DevOps MeetupBluemix DevOps Meetup
Bluemix DevOps Meetup
 
PHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsPHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object Calisthenics
 
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
 
Accion Labs Microservices Whitepaper
Accion Labs Microservices WhitepaperAccion Labs Microservices Whitepaper
Accion Labs Microservices Whitepaper
 
DevOps for the Mobile Enterprise: Test and Deploy
DevOps for the Mobile Enterprise: Test and DeployDevOps for the Mobile Enterprise: Test and Deploy
DevOps for the Mobile Enterprise: Test and Deploy
 
micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)
 
Kubernetes 101 Workshop
Kubernetes 101 WorkshopKubernetes 101 Workshop
Kubernetes 101 Workshop
 
MicroServices, yet another architectural style?
MicroServices, yet another architectural style?MicroServices, yet another architectural style?
MicroServices, yet another architectural style?
 
Siddhi CEP 1st presentation
Siddhi CEP 1st presentationSiddhi CEP 1st presentation
Siddhi CEP 1st presentation
 

Similar to Microservices in Practice

[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for EnterprisesWSO2
 
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...apidays
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises Kasun Indrasiri
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...WSO2
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern LaunguageInho Kang
 
AppDev with Microservices
AppDev with MicroservicesAppDev with Microservices
AppDev with MicroservicesRishabh Dugar
 
Discussion About Microservices Architecture
Discussion About Microservices ArchitectureDiscussion About Microservices Architecture
Discussion About Microservices ArchitectureRalph Osmond Rimorin
 
Reference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesReference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesRakesh Gujjarlapudi
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services ArchitectureAli BAKAN
 
Microservices, Containers, Scheduling and Orchestration - A Primer
Microservices, Containers, Scheduling and Orchestration - A PrimerMicroservices, Containers, Scheduling and Orchestration - A Primer
Microservices, Containers, Scheduling and Orchestration - A PrimerGareth Llewellyn
 
Microservices and developer pattern saga
Microservices and developer pattern sagaMicroservices and developer pattern saga
Microservices and developer pattern sagaviktorklyuster
 
About microservices on cloud computing services
About microservices on cloud computing servicesAbout microservices on cloud computing services
About microservices on cloud computing servicesssuser53aac4
 
Microservices Design Principles.pdf
Microservices Design Principles.pdfMicroservices Design Principles.pdf
Microservices Design Principles.pdfSimform
 
Building microservices on azure
Building microservices on azureBuilding microservices on azure
Building microservices on azureVaibhav Gujral
 
Software Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesAngelos Kapsimanis
 
Migrating to Microservices Patterns and Technologies (edition 2023)
 Migrating to Microservices Patterns and Technologies (edition 2023) Migrating to Microservices Patterns and Technologies (edition 2023)
Migrating to Microservices Patterns and Technologies (edition 2023)Ahmed Misbah
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?NGINX, Inc.
 

Similar to Microservices in Practice (20)

[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises
 
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
 
Microservice's in detailed
Microservice's in detailedMicroservice's in detailed
Microservice's in detailed
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern Launguage
 
AppDev with Microservices
AppDev with MicroservicesAppDev with Microservices
AppDev with Microservices
 
Discussion About Microservices Architecture
Discussion About Microservices ArchitectureDiscussion About Microservices Architecture
Discussion About Microservices Architecture
 
Reference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesReference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to Kubernetes
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
 
Microservices, Containers, Scheduling and Orchestration - A Primer
Microservices, Containers, Scheduling and Orchestration - A PrimerMicroservices, Containers, Scheduling and Orchestration - A Primer
Microservices, Containers, Scheduling and Orchestration - A Primer
 
ZhuSem.ppt
ZhuSem.pptZhuSem.ppt
ZhuSem.ppt
 
Microservices and developer pattern saga
Microservices and developer pattern sagaMicroservices and developer pattern saga
Microservices and developer pattern saga
 
About microservices on cloud computing services
About microservices on cloud computing servicesAbout microservices on cloud computing services
About microservices on cloud computing services
 
Microservices Design Principles.pdf
Microservices Design Principles.pdfMicroservices Design Principles.pdf
Microservices Design Principles.pdf
 
Micro Services
Micro ServicesMicro Services
Micro Services
 
Building microservices on azure
Building microservices on azureBuilding microservices on azure
Building microservices on azure
 
Software Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based Architectures
 
Migrating to Microservices Patterns and Technologies (edition 2023)
 Migrating to Microservices Patterns and Technologies (edition 2023) Migrating to Microservices Patterns and Technologies (edition 2023)
Migrating to Microservices Patterns and Technologies (edition 2023)
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?
 

More from Kasun Indrasiri

Microservices Integration Patterns with Kafka
Microservices Integration Patterns with KafkaMicroservices Integration Patterns with Kafka
Microservices Integration Patterns with KafkaKasun Indrasiri
 
Adaptive and Iterative Integration for Microservices and Cloud Native Archite...
Adaptive and Iterative Integration for Microservices and Cloud Native Archite...Adaptive and Iterative Integration for Microservices and Cloud Native Archite...
Adaptive and Iterative Integration for Microservices and Cloud Native Archite...Kasun Indrasiri
 
Bridging Microservices, APIs and Integration
Bridging Microservices, APIs and IntegrationBridging Microservices, APIs and Integration
Bridging Microservices, APIs and IntegrationKasun Indrasiri
 
Integration Microservices
Integration MicroservicesIntegration Microservices
Integration MicroservicesKasun Indrasiri
 
Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Kasun Indrasiri
 
Reactive Programming in Java 8 with Rx-Java
Reactive Programming in Java 8 with Rx-JavaReactive Programming in Java 8 with Rx-Java
Reactive Programming in Java 8 with Rx-JavaKasun Indrasiri
 
WSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationWSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationKasun Indrasiri
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformKasun Indrasiri
 
The Middleware technology that connects the enterprise
The Middleware technology that connects the enterpriseThe Middleware technology that connects the enterprise
The Middleware technology that connects the enterprise Kasun Indrasiri
 
API, Integration, and SOA Convergence
API, Integration, and SOA ConvergenceAPI, Integration, and SOA Convergence
API, Integration, and SOA ConvergenceKasun Indrasiri
 
The Past, Present and Future of Enterprise Integration
The Past, Present and Future of  Enterprise IntegrationThe Past, Present and Future of  Enterprise Integration
The Past, Present and Future of Enterprise IntegrationKasun Indrasiri
 
WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration Kasun Indrasiri
 

More from Kasun Indrasiri (14)

Microservices Integration Patterns with Kafka
Microservices Integration Patterns with KafkaMicroservices Integration Patterns with Kafka
Microservices Integration Patterns with Kafka
 
Adaptive and Iterative Integration for Microservices and Cloud Native Archite...
Adaptive and Iterative Integration for Microservices and Cloud Native Archite...Adaptive and Iterative Integration for Microservices and Cloud Native Archite...
Adaptive and Iterative Integration for Microservices and Cloud Native Archite...
 
Bridging Microservices, APIs and Integration
Bridging Microservices, APIs and IntegrationBridging Microservices, APIs and Integration
Bridging Microservices, APIs and Integration
 
Integration Microservices
Integration MicroservicesIntegration Microservices
Integration Microservices
 
Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0
 
Reactive Programming in Java 8 with Rx-Java
Reactive Programming in Java 8 with Rx-JavaReactive Programming in Java 8 with Rx-Java
Reactive Programming in Java 8 with Rx-Java
 
WSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationWSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise Integration
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
 
WSO2 Gateway
WSO2 GatewayWSO2 Gateway
WSO2 Gateway
 
The Middleware technology that connects the enterprise
The Middleware technology that connects the enterpriseThe Middleware technology that connects the enterprise
The Middleware technology that connects the enterprise
 
API, Integration, and SOA Convergence
API, Integration, and SOA ConvergenceAPI, Integration, and SOA Convergence
API, Integration, and SOA Convergence
 
The Past, Present and Future of Enterprise Integration
The Past, Present and Future of  Enterprise IntegrationThe Past, Present and Future of  Enterprise Integration
The Past, Present and Future of Enterprise Integration
 
WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration
 
Connected Retail
Connected RetailConnected Retail
Connected Retail
 

Recently uploaded

Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 

Recently uploaded (20)

Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 

Microservices in Practice

  • 1. All About Microservices March 2015 Software Architect Kasun Indrasiri WSO2 Meetup Microservices in Practice
  • 3. *  *   ‘Monolithic’  Architecture    
  • 4. *  *   ๏  All  func)onali)es  are  implemented/deployed  into  a  single   so7ware  applica)on.     ๏  Enterprise  so7ware  applica)ons  -­‐  ERPs,  CRMs  etc.   ๏  SOA/web  services:  'coarse-­‐grained'  services,  broad  scope,   mammoth  services  with  several  dozens  of  opera)ons  and   complex  message  formats     Monolithic  Architecture    
  • 5. *  *   ๏  Use  case  :  Online  Retail  so*ware  applica/on  with    which   comprises  of  mul/ple  business  func/onali/es.     Monolithic  Architecture    
  • 6. *  *   ๏  Developed  and  deployed  as  a  single  unit.   ๏  Overwhelmingly  complex;  which  leads  to  nightmares  in   maintaining,  upgrading  and  adding  new  features.   ๏  Redeploy  the  en)re  applica)on,  in  order  to  update  a  part  of  it.   ๏  Scaling  :  scaled  as  a  single  applica)on  and  difficult  to  scale   with  conflic)ng  resource  requirements     ๏  Reliability  -­‐  One  unstable  service  can  bring  the  whole   applica)on  down.     ๏  Hard  to  innovate,  prac)ce  agile  development  and  delivery   methodologies     Monolithic  Architecture    
  • 7. *  *   ‘Microservices’  Architecture  
  • 8. *  *   ๏  The  founda/on  of  microservices  architecture(MSA)  is  about   developing  a  single  applica/on  as  a  suite  of  fine-­‐grained  and   independent  services  that  are    running  in  its  own  process,   developed  and  deployed  independently.   ๏  Its  just  more  than  segrega)ng  the  services  in  a  monolith.     Microservices  Architecture  
  • 9. *  *   ๏  Use  case  :  Online  retail  applica)on  can  be  implemented  with  a   suite  of  microservices     Microservices  Architecture  
  • 10. *  *   ๏  Common  Misconcep7ons     §  Lines  of  Code   §  Team  size     §  'Micro'  is  a  bit  misleading  term     §  Use  web  services  and  rebranding  them  as  microservices   Designing  Microservices  :  Size,  scope  and   capabili7es  
  • 11. *  *   ๏  Single  Responsibility  Principle(SRP):  Having  a  limited  and  a  focused  business   scope.     ๏  Find  the  service  boundaries  and  align  them  with  the  business  capabili)es  (aka   DDD).   ๏  Make  sure  the  microservices  design  ensures  the  agile/independent   development  and  deployment  of  the  service.   ๏  Focus  on  scope  of  the  microservice,  but  not  about  making  the  the  service   smaller-­‐  righted  sized  services     ๏  Unlike  service  in  web  services,  a  given  microservice  should  have  a  very  few   opera)ons/func)onali)es  and  simple  message  format.     ๏  Start  with  rela)vely  broad  service  boundaries  to  begin  with,  refactoring  to   smaller  ones  (based  on  business  requirements)  as  )me  goes  on.     Designing  Microservices  :  Size,  scope  and   capabili7es  
  • 12. *  *   ๏  In  Monolithic  architecture:     §  Func)on  calls  or  language-­‐level  method  calls   §  SOA/web  services  :  SOAP  and  WS*  with  HTTP,  JMS  etc.     §  Webservices  with  several  dozens  of  opera)ons  and  complex   message  schemas     ๏  In  Microservice  architecture:     §  Simple  and  lightweight  messaging  mechanism.   Messaging  in  Microservices    
  • 13. *  *   ๏  Synchronous  Messaging   §  Client  expects  a  /mely  response  from  the  service  and  waits  /ll  it   get  it.     §  REST,  Thri7     Messaging  in  Microservices    
  • 14. *  *   ๏  Asynchronous  Messaging   §  Client  doesn't  expects  a  response  immediately,  or  not  accepts  a   response  at  all   §  AMQP,  STOMP,  MQTT   ๏  Message  Formats   §  JSON,  XML,  Thri7,  ProtoBuf,  Avro     ๏  Service  Contracts     §  Defining  the  service  interfaces  -­‐  Swagger,  RAML,  Thri7  IDL   Messaging  in  Microservices    
  • 15. *  *   ๏  Required  to  have  the  communica)on  structures  between   different  microservices.     ๏  SOA/web  services  used  ESB.     ๏  Microservices  promotes  to  eliminate  the  central  message  bus/ ESB  and  move  the  'smart-­‐ness'  or  business  logic  to  the  services   and  client(known  as  'Smart  Endpoints').     ๏  Connect  services  through  ‘dumb’  pipes.       Integra7ng  Microservices  (Inter-­‐service   Communica7on)  
  • 16. *  *   ๏  Point-­‐to-­‐point  style  -­‐  Invoking  services  directly     Integra7ng  Microservices  (Inter-­‐service   Communica7on)  
  • 17. *  *   ๏  API-­‐Gateway  style   Integra7ng  Microservices  (Inter-­‐service   Communica7on)  
  • 18. *  *   ๏  Message  Broker  style   Integra7ng  Microservices  (Inter-­‐service   Communica7on)  
  • 19. *  *   ๏  Monolithic  applica7ons  use  a  centralized  database     Data  Management  
  • 20. *  *   ๏  Decentralized  Data  mananement  with  Microservices     Data  Management  
  • 21. *  *   ๏  Decentralized  Datamananement  with  Microservices     §  Each  microservice  can  have  a  private  database  to  persist  the  data   that  requires  to  implement  the  business  func)onality  offered  from   it.   §   A  given  microservice  can  only  access  the  dedicated  private  database   but  not  the  databases  of  other  microservices.   §  In  some  business  scenarios,  you  might  have  to  update  several   database  for  a  single  transac)on.  In  such  scenarios,  the  databases  of   other  microservices  should  be  updated  through  its  service  API  only   Data  Management  
  • 22. *  *   ๏  Governance  -­‐  establishing  and  enforcing  how  people  and   solu)ons  work  together  to  achieve  organiza)onal  objec)ves   §  Design  and  run)me  governance.     ๏  In  Microservices  Architecture:       §  No  centralized  design-­‐)me  governance.   §  Make  their  own  decisions  about  its  design  and  implementa)on.   §  Foster  the  sharing  of  common/reusable  services.   §  Run-­‐)me  governance  aspects  such  as  SLAs,  throdling,  monitoring,   common  security  requirements  and  service  discovery  may  be   implemented  at  API-­‐GW  level.   Decentralized  Governance    
  • 23. *  *   ๏  Service  Registry  -­‐  Holds  the  microservices  instances  and  their   loca)ons   ๏  Service  Discovery  -­‐  find  the  available  microservices  and  their   loca)on   Service  Registry  and  Service  Discovery    
  • 24. *  *   ๏  Client-­‐side  Discovery     Service  Discovery    
  • 25. *  *   ๏  Server-­‐side  Discovery     Service  Discovery    
  • 26. *  *   ๏  Ability  to  deploy/un-­‐deploy  independently  of  other   microservices.   ๏  Must  be  able  to  scale  at  each  microservices  level.     ๏  Building  and  deploying  microservices  quickly.     ๏  Failure  in  one  microservice  must  not  affect  any  of  the  other   services.   Microservice  Deployment    
  • 27. *  *   ๏  Docker     §  Docker  is  becoming  an  extremely  popular  way  of  packaging  and   deploying  services.     §  Package  the  microservice  as  a  (Docker)  container  image.   §  Deploy  each  service  instance  as  a  container.   §  Scaling  is  done  based  on  changing  the  number  of  container   instances.   §  Building,  deploying  and  star)ng  microservice  will  be  much  faster  as   we  are  using  docker  containers     Microservice  Deployment    
  • 28. *  *   ๏  Kubernetes   §  Extending  Docker's  capabili)es  by  allowing  to  manage  a  cluster  of   Linux  containers  as  a  single  system,  managing  and  running  Docker   containers  across  mul)ple  hosts,  offering  co-­‐loca)on  of  containers,   service  discovery  and  replica)on  control.     Microservice  Deployment    
  • 29. *  *   ๏  Use  case  :  The  microservices  of  Online  Retail  so*ware   applica/on  with  can  be  deployed  and  scaled  with  Docker  and   Kubernetes.     Microservice  Deployment    
  • 30. *  *   ๏  Security  in  Monolithic  applica)ons     §  Its  about  'who  is  the  caller',  'what  can  the  caller  do'  and  'how  do  we   propagate  that  informa/on'.     §  O7en  implemented  at  a  common  security  component  which  is  at   the  beginning  of  the  request  handling  chain  and  that  component   populates  the  required  informa)on  with  the  use  of  an  underlying   user  repository   ๏  Security  in  Microservices     §  a  security  component  implemented  at  each  microservices  level  that   uses  a  central  user  repository/store.     §  Leverage  the  widely  used  API-­‐Security  standards  such  as  OAuth2  and   OpenID  Connect     Security  with  Microservice  
  • 31. *  *   ๏  OAuth  2.0     §  The  client  authen)cates  with  authoriza)on  server  and  get  an   opaque  token  which  is  known  as  'Access  token'.  Access  token  has   zero  informa)on  about  the  user/client.     §  It  only  has  a  reference  to  the  user  informa)on  that  can  only  be   retrieved  by  the  Authoriza)on  server.  Hence  this  is  known  as  a  'by-­‐ reference  token'  and  it  is  safe  to  use  this  token  even  in  the  public   network/internet.     Security  with  Microservice  
  • 32. *  *   ๏  OpenID  Connect       §  OpenID  Connect  behaves  similar  to  OAuth  but  in  addi)on  to  the  Access  token,   the  authoriza)on  server  issues  an  ID  token  which  contains  informa)on  about   the  user.   §  Implement  with  a  JWT  (JSON  Web  Token)  and  that  is  signed  by  authoriza)on   server.  So,  this  ensures  the  trust  between  the  authoriza)on  server  and  the   client.     §  JWT  token  is  therefore  known  as  a  'By-­‐value  token'  as  it  contains  the   informa)on  of  the  user  and  obviously  it  is  not  safe  to  use  it  outside  the   internal  network.     Security  with  Microservice  
  • 33. *  *   ๏  Microservice  security  with  OAuth2  and  OpenID  Connect   Security  with  Microservice  
  • 34. *  *   ๏  Suppor)ng  distributed  transac)ons  across  mul)ple   microservices  –  Too  complex.   ๏  Microservice  architecture  itself  encourages  the  transac)on-­‐ less  coordina)on  between  services.   ๏  Mandatory  transac)on  requirements  can  be  fulfilled  with   'compensa)ng  opera)ons'     Transac7ons  
  • 35. *  *   ๏  Increases  the  possibility  of  having  failures  at  each  service  level   ๏  Unavailable  or  unresponsive  microservice  should  not  bring  the   whole  system  down   ๏  Microservices  should  be  fault  tolerant,  be  able  to  recover   when  that  is  possible  and  the  client  has  to  handle  it  gracefully.   ๏  Error  handling  paderns   §  Circuit  Breaker   §  Timeout   §  Bulkhead   Design  for  Failures  
  • 36. *  *   ๏  Orchestra)on  at  Microservices  Layer     Orchestra7ng  Microservices    
  • 37. *  *   ๏  Orchestra)on  at  the  Gateway  Layer   Orchestra7ng  Microservices    
  • 38. *  *   ๏  Choreography  Style   Orchestra7ng  Microservices    
  • 39. *  *   ๏  Inner  and  Outer  Architecture   Microservices  in  Modern  Enterprises    
  • 40. *  *   ๏  Inner  and  Outer  Architecture   §  Inner  Architecture  :  The  pure  microservices  components    which  is   less  complex  are  categorized  under  'Inner  Architecture'     §  Outer  Architecture  :  This  delivers  the  plajorm  capabili)es  that  are   required  to  build  a  solu)on  around  the  microservices  that  we  build.   Microservices  in  Modern  Enterprises    
  • 41. *  *   ๏  Modern  Enterprise  Architecture  with  Microservices,   Enterprise  Integra)on  and  API  Management   Microservices  in  Modern  Enterprises    
  • 42. *  *   ๏  Microservices  is  not  a  panacea  :  It  won't  solve  all  your   enterprise  IT  needs   ๏  ‘SOA  done  right’?     ๏  Most  enterprise  won't  be  able  to  convert  their  en)re   enterprise  IT  systems  to  microservices.     ๏  Enterprise  Integra)on  never  goes  away.   ๏  Microservices  are  exposed  as  APIs.     ๏  Interac)on  between  microservices  should  be  support  via  a   lightweight  orchestra)on  engine/Gateway  or  inside  another   microservice.     Microservices  –  Conclusion    
  • 44. *  *   References     ๏  hdp://kasunpanorama.blogspot.com/2015/11/microservices-­‐ in-­‐prac)ce.html   ๏  hdp://kasunpanorama.blogspot.com/2016/02/microservices-­‐ enterprise-­‐integra)on.html   ๏  hdp://microservices.io/paderns/   ๏  hdp://mar)nfowler.com/microservices/