44
Introduc)on to WSO2 Microservices Server A5ham Azeez Director, Architecture WSO2 Inc.

WSO2Con 2015 USA: Introducing Microservices Server

Embed Size (px)

Citation preview

Page 1: WSO2Con 2015 USA: Introducing Microservices Server

Introduc)on  to    WSO2    Microservices  Server  

A5ham  Azeez  Director,  Architecture  WSO2  Inc.  

Page 2: WSO2Con 2015 USA: Introducing Microservices Server

Microservices  Architecture  

A  method  of  developing  soAware  applica)ons  as  a  

suite  of  independently  deployable,  small,  modular  

services  in  which  each  service  runs  a  unique  process  

and  communicates  through  a  well-­‐defined,  

lightweight  mechanism  to  serve  a  business  goal.  

Page 3: WSO2Con 2015 USA: Introducing Microservices Server

   Microservices  

Source:  hEp://mar)nfowler.com/ar)cles/microservices.html  

Page 4: WSO2Con 2015 USA: Introducing Microservices Server

The  Scale  Cube  

Source:  hEp://microservices.io/ar)cles/scalecube.html  

   

Page 5: WSO2Con 2015 USA: Introducing Microservices Server

Inner  &  Outer  Architecture  

hEp://blogs.gartner.com/gary-­‐olliffe/2015/01/30/microservices-­‐guts-­‐on-­‐the-­‐outside/  

Page 6: WSO2Con 2015 USA: Introducing Microservices Server

   Polyglot  Persistence  

Source:  hEp://mar)nfowler.com/ar)cles/microservices.html  

Page 7: WSO2Con 2015 USA: Introducing Microservices Server

   Vision  for  Microservices  Server  (MSS)    •  Lightweight  &  fast  run)me  

•  Use  Java  annota)ons  as  a  way  of  defining  microservices  APIs  as  well  as  

metrics  

•  Support  well  known  &  widely  used  methods  such  as  JAXRS  annota)ons  

•  Provide  simple  ways  to  develop  &  deploy  microservices  

•  Built-­‐in  Metrics  &  Analy)cs  APIs  with  out  of  the  box  integra)on  with  WSO2  

Data  Analy)cs  Server  (DAS)  

•  To  be  used  in  the  WSO2  pla]orm  as  a  way  of  replacing  all  admin  services  as  

well  as  defining  other  microservices  for  inter-­‐component  interac)ons  

 

     

   

Page 8: WSO2Con 2015 USA: Introducing Microservices Server

 Microservices  Server  ImplementaGon  •  Based  on  the  new  Carbon  5.0  kernel  •  Transport  is  based  on  NeEy  4.0  

•  Supports  streaming  

•  Close  to  10x  faster  than  CXF  based  JAXRS  implementa)on  used  in  

WSO2  AppServer  

•  5MB  pack  size  

•  Starts  within  300ms  

•  ~25MB  memory  consump)on  for  the  MSS  framework  

 

 

     

   

Page 9: WSO2Con 2015 USA: Introducing Microservices Server

Download  

•  MSS  1.0.0-­‐alpha  release  is  available  at  hEps://github.com/wso2/product-­‐mss/releases  

•  Refer  to  the  gecng  started  guide  in  GitHub  •  A  good  place  to  start  is  the  samples  

–  hEps://github.com/wso2/product-­‐mss/tree/v1.0.0-­‐alpha/samples  

Page 10: WSO2Con 2015 USA: Introducing Microservices Server

Core  Features  in  MSS  •  Quick  &  simple  development  model  using  simple  annota)ons  •  Lightweight  &  high  performance  •  Custom  interceptors    •  JWT  based  security  •  Metrics  gathering  &  publishing  •  Tracing  of  requests  using  a  unique  message  ID  •  Streaming  input  &  streaming  output  support  •  WSO2  DevStudio  based  tooling  for  genera)ng  microservices  projects  

star)ng  from  a  Swagger  API  defini)on  •  Comprehensive  samples  demonstra)ng  how  to  develop  microservices  

applica)on  

Page 11: WSO2Con 2015 USA: Introducing Microservices Server

 MSS  –  Flow  &  Thread  Model  

Page 12: WSO2Con 2015 USA: Introducing Microservices Server

 MSS  -­‐  Performance  Comparison  Throughput  

Page 13: WSO2Con 2015 USA: Introducing Microservices Server

 MSS  -­‐  Memory  ConsumpGon  Comparison  Memory  Consump1on  (MB)  

Page 14: WSO2Con 2015 USA: Introducing Microservices Server

Developer  Experience  &    Programming  Model  

Page 15: WSO2Con 2015 USA: Introducing Microservices Server

Maven  pom.xml  

Page 16: WSO2Con 2015 USA: Introducing Microservices Server

StockQuote  Microservice  

Page 17: WSO2Con 2015 USA: Introducing Microservices Server

Main  Class  

Page 18: WSO2Con 2015 USA: Introducing Microservices Server

Build  it!  

mvn  clean  install  

Page 19: WSO2Con 2015 USA: Introducing Microservices Server

Run  it!  

java  –jar  stockquote-­‐*.jar  

Page 20: WSO2Con 2015 USA: Introducing Microservices Server

Tooling  (Swagger  -­‐>  Code)  Swagger  API  Defini)on  

MSS  Code  

1

2

3

Page 21: WSO2Con 2015 USA: Introducing Microservices Server

Request  Streaming  

Page 22: WSO2Con 2015 USA: Introducing Microservices Server

AnalyGcs  &  Monitoring  

•  Supports  annota)ons  – Timed  –  measures  execu)on  )me  

– Metered  –  measures  rate  of  events  

– Counted  –  Counts  the  total  invoca)ons  – HTTPMonitoring  –  monitors  HTTP  requests  

Page 23: WSO2Con 2015 USA: Introducing Microservices Server

AnalyGcs  &  Monitoring  

Page 24: WSO2Con 2015 USA: Introducing Microservices Server

AnalyGcs  &  Monitoring  

Page 25: WSO2Con 2015 USA: Introducing Microservices Server

Metrics  Output  to  Console  

Page 26: WSO2Con 2015 USA: Introducing Microservices Server

JMX  Metrics  

Page 27: WSO2Con 2015 USA: Introducing Microservices Server

AnalyGcs  &  Monitoring  

Page 28: WSO2Con 2015 USA: Introducing Microservices Server

Security  

•  Security  is  done  via  a  central  server  issuing  JWT  tokens    

•  The  JWTSecurityInterceptor  verifies    the  signature,  expiry  &  claims  in  the  tokens  

Page 29: WSO2Con 2015 USA: Introducing Microservices Server

Security  

Page 30: WSO2Con 2015 USA: Introducing Microservices Server

•  java  -­‐jar  /opt/stockquote-­‐1.0.0.jar  

•  Drop  microservice  jar  file  into      MSS_HOME/repository/deployment/server/mss    

•  Very  convenient  to  use  Docker  containers  managed  by  Kubernetes  

Microservices  RunGme  

Page 31: WSO2Con 2015 USA: Introducing Microservices Server

Deployment  Op)ons  

Page 32: WSO2Con 2015 USA: Introducing Microservices Server

*  

Docker  Filesystem  

Page 33: WSO2Con 2015 USA: Introducing Microservices Server

StockQuote  Service  -­‐  Dockefile  

Page 34: WSO2Con 2015 USA: Introducing Microservices Server

Kubernetes  –  ReplicaGon  Controller  

Page 35: WSO2Con 2015 USA: Introducing Microservices Server

Kubernetes  -­‐  Service  

Page 36: WSO2Con 2015 USA: Introducing Microservices Server

Kubernetes  UI  

Page 37: WSO2Con 2015 USA: Introducing Microservices Server

Pet  Store  Sample  -­‐  admin  

Page 38: WSO2Con 2015 USA: Introducing Microservices Server

Pet  Store  Sample  -­‐  store  

Page 39: WSO2Con 2015 USA: Introducing Microservices Server

Pet  Store  Sample  

Pet  

Transac)on  

Redis  

Security  

File  server  

Admin  FE  

Store  FE   DAS  

Service  calls  

Data  Publishing  

Page 40: WSO2Con 2015 USA: Introducing Microservices Server

Pet  Store  Sample  –  deployment  view  

Store  FE  Store  

FE  

Store  FE  

Admin  FE  

Kubernetes  Node  1   Kubernetes  Node  2  

Security   Security  

File  server   File  server  

Redis  Sen)nel  

Redis  Sen)nel  

Redis  Master  

Redis  Slave  

Pet  Pet  

Transac)on  Transac)on  

Transac)on  

pods  pods  

pods  

pods  

pods  

pods  

pods  

pods  

pods  

pods  

pods   pods  

pods  

pods  

pods  

S A S T R P F

Kubernetes  Services  

Page 41: WSO2Con 2015 USA: Introducing Microservices Server

Pricing  

•  For  MSS  product  (full  server)  &  MSS  lite  (executable  jar),  pricing  is  same  as  WSO2  AS  based  on  the  number  of  JVMs.  

•  For  container  based  deployments,  it  will  be  the  same  as  for  any  container  based  deployment  of  WSO2  products  (to  be  announced)  

Page 42: WSO2Con 2015 USA: Introducing Microservices Server

Code  • NeEy  based  transport  

hEps://github.com/wso2/carbon-­‐transports  

• MSS  hEps://github.com/wso2/product-­‐mss  

 

     

   

Page 43: WSO2Con 2015 USA: Introducing Microservices Server

Recap  

•  A  brief  look  at  Microservices  Architecture  (MSA)  •  WSO2  Microservices  Server  

–  Development  model  &  programming  model  –  Deployment  model  –  Tooling  –  Comparison  with  other  frameworks  out  there  

Page 44: WSO2Con 2015 USA: Introducing Microservices Server

Thank  You