SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Introduction to
WSO2
Microservices Server
Afkham Azeez
Director, Architecture
WSO2 Inc.
Microservices Architecture
A method of developing software applications 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.
• a service-oriented architecture composed of loosely
coupled elements that have bounded contexts
• Loosely coupled
– Can update independently
– No coupling at database level
• Bounded context
– Can update a microservices code without understanding
internals of peers
Microservices Architecture
Microservices
Source: http://martinfowler.com/articles/microservices.html
The Scale Cube
Source: http://microservices.io/articles/scalecube.html
Inner & Outer Architecture
Polyglot Persistence
Source: http://martinfowler.com/articles/microservices.html
Vision for Microservices Server (MSS)
• Lightweight & fast runtime
• Use Java annotations as a way of defining microservices APIs as well as
metrics
• Support well known & widely used methods such as JAXRS annotations
• Provide simple ways to develop & deploy microservices
• Built-in Metrics & Analytics APIs with out of the box integration with WSO2
Data Analytics Server (DAS)
• To be used in the WSO2 platform as a way of replacing all admin services as
well as defining other microservices for inter-component interactions
Microservices Server Implementation
• Based on the new Carbon 5.0 kernel
• Transport is based on Netty 4.0
• Supports streaming
• Close to 10x faster than CXF based JAXRS implementation used in
WSO2 AppServer
• 5MB pack size
• Starts within 300ms
• ~25MB memory consumption for the MSS framework
Download
• MSS 1.0.0-alpha release is available at
https://github.com/wso2/product-mss/releases
• Refer to the getting started guide in GitHub
• A good place to start is the samples
– https://github.com/wso2/product-mss/tree/v1.0.0-alpha/samples
Core Features in MSS
• Quick & simple development model using simple annotations
• 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 generating microservices projects
starting from a Swagger API definition
• Comprehensive samples demonstrating how to develop microservices
application
MSS – Flow & Thread Model
Runner
Request Streaming
• 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 Runtime
Pets vs. Cattle
• Traditional Approach
– Treat servers like pets
– Get emotionally attached
to them
– Mourn their deaths
• New Approach
– Treat servers like cattle
– Get work done & dispose
– Don’t mourn their deaths.
Buy new ones.
*
What is Kubernetes?
๏ The Greek word “kubernetes,” means “helmsman of a ship
๏ Kubernetes is a platform for hosting Docker containers in a
clustered environment with multiple Docker hosts
๏ Provides container grouping, load balancing, auto-healing,
manual scaling features ...etc
๏ Project was started by Google
๏ Contributors == Google, CodeOS, Redhat, Mesosphere,
Microsoft, HP, IBM, VMWare, Pivotal, SaltStack, etc
*
Key Kubernetes Concepts
๏ Pod - A group of Containers
๏ Labels - Labels for identifying pods
๏ Proxy/Service - A load balancer for Pods
๏ etcd - A metadata service
๏ cAdvisor - Container Advisor provides resource
usage/performance statistics
๏ Replication Controller - Manages replication of pods
๏ Scheduler - Schedules pods in worker nodes
๏ API Server - Kubernetes API server
Kubernetes Architecture
Kubernetes – Replication Controller
Kubernetes - Service
Kubernetes UI
Security
• Security is done via a central server issuing JWT
tokens
• The JWTSecurityInterceptor verifies the
signature, expiry & claims in the tokens
Analytics & Monitoring
• Supports annotations
–Timed – measures execution time
–Metered – measures rate of events
–Counted – Counts the total invocations
–HTTPMonitoring – monitors HTTP requests
Analytics & Monitoring
Analytics & Monitoring
JMX Metrics
Metrics Output to Console
Tooling (Swagger -> Code)
Swagger API
Definition
MSS Code
1
2
3
MSS - Performance Comparison
Throughput
MSS - Memory Consumption Comparison
Memory Consumption (MB)
Pet Store Sample
Pet
Transaction
Redis
Security
File
server
Admin FE
Store FE DAS
Service calls
Data Publishing
Pet Store Sample – deployment view
Store
FEStore
FE
Store
FE
Admin
FE
Kubernetes Minion 1 Kubernetes Minion 2
Security Security
File
server
File
server
Redis
Sentinel
Redis
Sentinel
Redis
Master
Redis
Slave
Pet
Pet
Transaction
Transaction
Transaction
pods
pods
pods
pods
pods
pods
pods
pods
pods
pods
pods pods
pods
pods
pods
S A S T R P F
Kubernetes Services
Pet Store Sample
Pet Store Sample
Demo: MSS Pet store sample
Things to Note
• Expensive remote calls (instead of in-process calls)
• Coarser-grained remote APIs
• Increased complexity when redistributing responsibilities
between components
• Centralized governance isn’t optimal
• Decentralized data management – de-normalized data
• Need to design for interruptions
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)
Code
• Netty based transporthttps://github.com/wso2/carbon-
transports
• MSS https://github.com/wso2/product-mss
Thank You

Weitere ähnliche Inhalte

Was ist angesagt?

An Introduction to WSO2 Microservices Framework for Java
An Introduction to WSO2 Microservices Framework for JavaAn Introduction to WSO2 Microservices Framework for Java
An Introduction to WSO2 Microservices Framework for JavaWSO2
 
An Introduction to WSO2 Microservices Framework for Java
An Introduction to WSO2 Microservices Framework for JavaAn Introduction to WSO2 Microservices Framework for Java
An Introduction to WSO2 Microservices Framework for JavaSagara Gunathunga
 
Developing Micro-Services for Cloud using Java
Developing Micro-Services for Cloud using JavaDeveloping Micro-Services for Cloud using Java
Developing Micro-Services for Cloud using JavaWSO2
 
Building Services with WSO2 Application Server and WSO2 Microservices Framewo...
Building Services with WSO2 Application Server and WSO2 Microservices Framewo...Building Services with WSO2 Application Server and WSO2 Microservices Framewo...
Building Services with WSO2 Application Server and WSO2 Microservices Framewo...Sagara Gunathunga
 
WSO2 Workshop Sydney 2016 - Microservices
WSO2 Workshop Sydney 2016 - MicroservicesWSO2 Workshop Sydney 2016 - Microservices
WSO2 Workshop Sydney 2016 - MicroservicesDassana Wijesekara
 
Glass fish performance tuning tips from the field
Glass fish performance tuning tips from the fieldGlass fish performance tuning tips from the field
Glass fish performance tuning tips from the fieldPayara
 
GUJavaSC - Criando Micro-serviços Reativos com Java
GUJavaSC - Criando Micro-serviços Reativos com JavaGUJavaSC - Criando Micro-serviços Reativos com Java
GUJavaSC - Criando Micro-serviços Reativos com JavaRodrigo Cândido da Silva
 
High performance java ee with j cache and cdi
High performance java ee with j cache and cdiHigh performance java ee with j cache and cdi
High performance java ee with j cache and cdiPayara
 
Play 2 Java Framework with TDD
Play 2 Java Framework with TDDPlay 2 Java Framework with TDD
Play 2 Java Framework with TDDBasav Nagur
 
Compute Security - Container Security
Compute Security - Container SecurityCompute Security - Container Security
Compute Security - Container SecurityEng Teong Cheah
 
What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0? What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0? Ambassador Labs
 
JavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EEJavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EERodrigo Cândido da Silva
 
Consolidating Infrastructure with Azure Kubernetes Service
Consolidating Infrastructure with Azure Kubernetes ServiceConsolidating Infrastructure with Azure Kubernetes Service
Consolidating Infrastructure with Azure Kubernetes ServiceEng Teong Cheah
 
JavaEE Microservices platforms
JavaEE Microservices platformsJavaEE Microservices platforms
JavaEE Microservices platformsPayara
 
APIs for API Management: Consume and Develop Apps
APIs for API Management: Consume and Develop AppsAPIs for API Management: Consume and Develop Apps
APIs for API Management: Consume and Develop AppsWSO2
 
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
 
NodeJS Microservices, Built it Now, Scale it Later!
NodeJS Microservices, Built it Now, Scale it Later!NodeJS Microservices, Built it Now, Scale it Later!
NodeJS Microservices, Built it Now, Scale it Later!Lalit Shandilya
 
How to Deploy WSO2 Enterprise Integrator in Containers
How to Deploy WSO2 Enterprise Integrator in ContainersHow to Deploy WSO2 Enterprise Integrator in Containers
How to Deploy WSO2 Enterprise Integrator in ContainersWSO2
 
Microservices with Spring Cloud
Microservices with Spring CloudMicroservices with Spring Cloud
Microservices with Spring CloudDaniel Eichten
 

Was ist angesagt? (20)

An Introduction to WSO2 Microservices Framework for Java
An Introduction to WSO2 Microservices Framework for JavaAn Introduction to WSO2 Microservices Framework for Java
An Introduction to WSO2 Microservices Framework for Java
 
An Introduction to WSO2 Microservices Framework for Java
An Introduction to WSO2 Microservices Framework for JavaAn Introduction to WSO2 Microservices Framework for Java
An Introduction to WSO2 Microservices Framework for Java
 
Developing Micro-Services for Cloud using Java
Developing Micro-Services for Cloud using JavaDeveloping Micro-Services for Cloud using Java
Developing Micro-Services for Cloud using Java
 
Building Services with WSO2 Application Server and WSO2 Microservices Framewo...
Building Services with WSO2 Application Server and WSO2 Microservices Framewo...Building Services with WSO2 Application Server and WSO2 Microservices Framewo...
Building Services with WSO2 Application Server and WSO2 Microservices Framewo...
 
WSO2 Workshop Sydney 2016 - Microservices
WSO2 Workshop Sydney 2016 - MicroservicesWSO2 Workshop Sydney 2016 - Microservices
WSO2 Workshop Sydney 2016 - Microservices
 
Glass fish performance tuning tips from the field
Glass fish performance tuning tips from the fieldGlass fish performance tuning tips from the field
Glass fish performance tuning tips from the field
 
GUJavaSC - Criando Micro-serviços Reativos com Java
GUJavaSC - Criando Micro-serviços Reativos com JavaGUJavaSC - Criando Micro-serviços Reativos com Java
GUJavaSC - Criando Micro-serviços Reativos com Java
 
High performance java ee with j cache and cdi
High performance java ee with j cache and cdiHigh performance java ee with j cache and cdi
High performance java ee with j cache and cdi
 
Microservices with Spring
Microservices with SpringMicroservices with Spring
Microservices with Spring
 
Play 2 Java Framework with TDD
Play 2 Java Framework with TDDPlay 2 Java Framework with TDD
Play 2 Java Framework with TDD
 
Compute Security - Container Security
Compute Security - Container SecurityCompute Security - Container Security
Compute Security - Container Security
 
What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0? What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0?
 
JavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EEJavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EE
 
Consolidating Infrastructure with Azure Kubernetes Service
Consolidating Infrastructure with Azure Kubernetes ServiceConsolidating Infrastructure with Azure Kubernetes Service
Consolidating Infrastructure with Azure Kubernetes Service
 
JavaEE Microservices platforms
JavaEE Microservices platformsJavaEE Microservices platforms
JavaEE Microservices platforms
 
APIs for API Management: Consume and Develop Apps
APIs for API Management: Consume and Develop AppsAPIs for API Management: Consume and Develop Apps
APIs for API Management: Consume and Develop Apps
 
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
 
NodeJS Microservices, Built it Now, Scale it Later!
NodeJS Microservices, Built it Now, Scale it Later!NodeJS Microservices, Built it Now, Scale it Later!
NodeJS Microservices, Built it Now, Scale it Later!
 
How to Deploy WSO2 Enterprise Integrator in Containers
How to Deploy WSO2 Enterprise Integrator in ContainersHow to Deploy WSO2 Enterprise Integrator in Containers
How to Deploy WSO2 Enterprise Integrator in Containers
 
Microservices with Spring Cloud
Microservices with Spring CloudMicroservices with Spring Cloud
Microservices with Spring Cloud
 

Ähnlich wie WSO2Con 2015-us-introduction-to-mss-v2

WSO2Con 2015 USA: Introducing Microservices Server
WSO2Con 2015 USA: Introducing Microservices ServerWSO2Con 2015 USA: Introducing Microservices Server
WSO2Con 2015 USA: Introducing Microservices ServerWSO2
 
Building Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASBuilding Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASKasun Gajasinghe
 
WSO2 Microservices Framework for Java - Product Overview
WSO2 Microservices Framework for Java - Product OverviewWSO2 Microservices Framework for Java - Product Overview
WSO2 Microservices Framework for Java - Product OverviewWSO2
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises Kasun Indrasiri
 
Accelerate Application Innovation Journey with Azure Kubernetes Service
Accelerate Application Innovation Journey with Azure Kubernetes Service Accelerate Application Innovation Journey with Azure Kubernetes Service
Accelerate Application Innovation Journey with Azure Kubernetes Service WinWire Technologies Inc
 
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)Amazon Web Services
 
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
 
WSO2Con ASIA 2016: Building Apps Using WSO2 App Dev Platform
WSO2Con ASIA 2016: Building Apps Using WSO2 App Dev PlatformWSO2Con ASIA 2016: Building Apps Using WSO2 App Dev Platform
WSO2Con ASIA 2016: Building Apps Using WSO2 App Dev PlatformWSO2
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing MicroservicesDavid Chou
 
Microservices using .Net core
Microservices using .Net coreMicroservices using .Net core
Microservices using .Net coregirish goudar
 
Cloud native microservices for systems and applications ieee rev2
Cloud native microservices for systems and applications ieee rev2Cloud native microservices for systems and applications ieee rev2
Cloud native microservices for systems and applications ieee rev2Prem Sankar Gopannan
 
Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...Lucas Jellema
 
[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4J[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4JWSO2
 
[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for EnterprisesWSO2
 
Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 OverviewTokyo Azure Meetup
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon Web Services Korea
 

Ähnlich wie WSO2Con 2015-us-introduction-to-mss-v2 (20)

WSO2Con 2015 USA: Introducing Microservices Server
WSO2Con 2015 USA: Introducing Microservices ServerWSO2Con 2015 USA: Introducing Microservices Server
WSO2Con 2015 USA: Introducing Microservices Server
 
Building Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASBuilding Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 AS
 
Micro services
Micro servicesMicro services
Micro services
 
WSO2 Microservices Framework for Java - Product Overview
WSO2 Microservices Framework for Java - Product OverviewWSO2 Microservices Framework for Java - Product Overview
WSO2 Microservices Framework for Java - Product Overview
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
 
Accelerate Application Innovation Journey with Azure Kubernetes Service
Accelerate Application Innovation Journey with Azure Kubernetes Service Accelerate Application Innovation Journey with Azure Kubernetes Service
Accelerate Application Innovation Journey with Azure Kubernetes Service
 
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
 
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
 
WSO2Con ASIA 2016: Building Apps Using WSO2 App Dev Platform
WSO2Con ASIA 2016: Building Apps Using WSO2 App Dev PlatformWSO2Con ASIA 2016: Building Apps Using WSO2 App Dev Platform
WSO2Con ASIA 2016: Building Apps Using WSO2 App Dev Platform
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
Microservices using .Net core
Microservices using .Net coreMicroservices using .Net core
Microservices using .Net core
 
Azure Pipeline
Azure PipelineAzure Pipeline
Azure Pipeline
 
Cloud native microservices for systems and applications ieee rev2
Cloud native microservices for systems and applications ieee rev2Cloud native microservices for systems and applications ieee rev2
Cloud native microservices for systems and applications ieee rev2
 
Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...
 
[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4J[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4J
 
[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 Overview
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 

Mehr von Afkham Azeez

Microservices Resiliency with BallerinaLang
Microservices Resiliency with BallerinaLangMicroservices Resiliency with BallerinaLang
Microservices Resiliency with BallerinaLangAfkham Azeez
 
WSO2Con USA Microservices Transactions
WSO2Con USA  Microservices TransactionsWSO2Con USA  Microservices Transactions
WSO2Con USA Microservices TransactionsAfkham Azeez
 
Java Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable AppsJava Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable AppsAfkham Azeez
 
WSO2Con 2013 - The Integration Game Changer: WSO2 Integration Cloud
WSO2Con 2013 - The Integration Game Changer: WSO2 Integration CloudWSO2Con 2013 - The Integration Game Changer: WSO2 Integration Cloud
WSO2Con 2013 - The Integration Game Changer: WSO2 Integration CloudAfkham Azeez
 
Unleashing creativity through Arduino
Unleashing creativity through ArduinoUnleashing creativity through Arduino
Unleashing creativity through ArduinoAfkham Azeez
 
Wso2 con raspberry-pi-cluster
Wso2 con raspberry-pi-clusterWso2 con raspberry-pi-cluster
Wso2 con raspberry-pi-clusterAfkham Azeez
 
A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2Afkham Azeez
 
Building a multi-tenanted Cloud-native AppServer
Building a multi-tenanted Cloud-native AppServerBuilding a multi-tenanted Cloud-native AppServer
Building a multi-tenanted Cloud-native AppServerAfkham Azeez
 
WSO2con 2011: Introduction to Stratos
WSO2con 2011:  Introduction to StratosWSO2con 2011:  Introduction to Stratos
WSO2con 2011: Introduction to StratosAfkham Azeez
 
WSO2Con 2011: Introduction to Stratos
WSO2Con 2011: Introduction to StratosWSO2Con 2011: Introduction to Stratos
WSO2Con 2011: Introduction to StratosAfkham Azeez
 
WSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon PlatformWSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon PlatformAfkham Azeez
 
WSO2 Stratos 2010 September Workshop
WSO2 Stratos 2010 September WorkshopWSO2 Stratos 2010 September Workshop
WSO2 Stratos 2010 September WorkshopAfkham Azeez
 
WSO2 Cloud Middleware
WSO2 Cloud MiddlewareWSO2 Cloud Middleware
WSO2 Cloud MiddlewareAfkham Azeez
 

Mehr von Afkham Azeez (16)

SRE & Kubernetes
SRE & KubernetesSRE & Kubernetes
SRE & Kubernetes
 
Microservices Resiliency with BallerinaLang
Microservices Resiliency with BallerinaLangMicroservices Resiliency with BallerinaLang
Microservices Resiliency with BallerinaLang
 
WSO2Con USA Microservices Transactions
WSO2Con USA  Microservices TransactionsWSO2Con USA  Microservices Transactions
WSO2Con USA Microservices Transactions
 
Java Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable AppsJava Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable Apps
 
WSO2Con 2013 - The Integration Game Changer: WSO2 Integration Cloud
WSO2Con 2013 - The Integration Game Changer: WSO2 Integration CloudWSO2Con 2013 - The Integration Game Changer: WSO2 Integration Cloud
WSO2Con 2013 - The Integration Game Changer: WSO2 Integration Cloud
 
Unleashing creativity through Arduino
Unleashing creativity through ArduinoUnleashing creativity through Arduino
Unleashing creativity through Arduino
 
Wso2 con raspberry-pi-cluster
Wso2 con raspberry-pi-clusterWso2 con raspberry-pi-cluster
Wso2 con raspberry-pi-cluster
 
A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2
 
Building a multi-tenanted Cloud-native AppServer
Building a multi-tenanted Cloud-native AppServerBuilding a multi-tenanted Cloud-native AppServer
Building a multi-tenanted Cloud-native AppServer
 
Colombo
ColomboColombo
Colombo
 
Intelli J IDEA
Intelli J IDEAIntelli J IDEA
Intelli J IDEA
 
WSO2con 2011: Introduction to Stratos
WSO2con 2011:  Introduction to StratosWSO2con 2011:  Introduction to Stratos
WSO2con 2011: Introduction to Stratos
 
WSO2Con 2011: Introduction to Stratos
WSO2Con 2011: Introduction to StratosWSO2Con 2011: Introduction to Stratos
WSO2Con 2011: Introduction to Stratos
 
WSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon PlatformWSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon Platform
 
WSO2 Stratos 2010 September Workshop
WSO2 Stratos 2010 September WorkshopWSO2 Stratos 2010 September Workshop
WSO2 Stratos 2010 September Workshop
 
WSO2 Cloud Middleware
WSO2 Cloud MiddlewareWSO2 Cloud Middleware
WSO2 Cloud Middleware
 

Kürzlich hochgeladen

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 

Kürzlich hochgeladen (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 

WSO2Con 2015-us-introduction-to-mss-v2

  • 1. Introduction to WSO2 Microservices Server Afkham Azeez Director, Architecture WSO2 Inc.
  • 2. Microservices Architecture A method of developing software applications 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.
  • 3. • a service-oriented architecture composed of loosely coupled elements that have bounded contexts • Loosely coupled – Can update independently – No coupling at database level • Bounded context – Can update a microservices code without understanding internals of peers Microservices Architecture
  • 5. The Scale Cube Source: http://microservices.io/articles/scalecube.html
  • 6. Inner & Outer Architecture
  • 8. Vision for Microservices Server (MSS) • Lightweight & fast runtime • Use Java annotations as a way of defining microservices APIs as well as metrics • Support well known & widely used methods such as JAXRS annotations • Provide simple ways to develop & deploy microservices • Built-in Metrics & Analytics APIs with out of the box integration with WSO2 Data Analytics Server (DAS) • To be used in the WSO2 platform as a way of replacing all admin services as well as defining other microservices for inter-component interactions
  • 9. Microservices Server Implementation • Based on the new Carbon 5.0 kernel • Transport is based on Netty 4.0 • Supports streaming • Close to 10x faster than CXF based JAXRS implementation used in WSO2 AppServer • 5MB pack size • Starts within 300ms • ~25MB memory consumption for the MSS framework
  • 10. Download • MSS 1.0.0-alpha release is available at https://github.com/wso2/product-mss/releases • Refer to the getting started guide in GitHub • A good place to start is the samples – https://github.com/wso2/product-mss/tree/v1.0.0-alpha/samples
  • 11. Core Features in MSS • Quick & simple development model using simple annotations • 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 generating microservices projects starting from a Swagger API definition • Comprehensive samples demonstrating how to develop microservices application
  • 12. MSS – Flow & Thread Model
  • 13.
  • 16. • 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 Runtime
  • 17. Pets vs. Cattle • Traditional Approach – Treat servers like pets – Get emotionally attached to them – Mourn their deaths • New Approach – Treat servers like cattle – Get work done & dispose – Don’t mourn their deaths. Buy new ones.
  • 18. * What is Kubernetes? ๏ The Greek word “kubernetes,” means “helmsman of a ship ๏ Kubernetes is a platform for hosting Docker containers in a clustered environment with multiple Docker hosts ๏ Provides container grouping, load balancing, auto-healing, manual scaling features ...etc ๏ Project was started by Google ๏ Contributors == Google, CodeOS, Redhat, Mesosphere, Microsoft, HP, IBM, VMWare, Pivotal, SaltStack, etc
  • 19. * Key Kubernetes Concepts ๏ Pod - A group of Containers ๏ Labels - Labels for identifying pods ๏ Proxy/Service - A load balancer for Pods ๏ etcd - A metadata service ๏ cAdvisor - Container Advisor provides resource usage/performance statistics ๏ Replication Controller - Manages replication of pods ๏ Scheduler - Schedules pods in worker nodes ๏ API Server - Kubernetes API server
  • 24. Security • Security is done via a central server issuing JWT tokens • The JWTSecurityInterceptor verifies the signature, expiry & claims in the tokens
  • 25. Analytics & Monitoring • Supports annotations –Timed – measures execution time –Metered – measures rate of events –Counted – Counts the total invocations –HTTPMonitoring – monitors HTTP requests
  • 29. Metrics Output to Console
  • 30. Tooling (Swagger -> Code) Swagger API Definition MSS Code 1 2 3
  • 31. MSS - Performance Comparison Throughput
  • 32. MSS - Memory Consumption Comparison Memory Consumption (MB)
  • 33. Pet Store Sample Pet Transaction Redis Security File server Admin FE Store FE DAS Service calls Data Publishing
  • 34. Pet Store Sample – deployment view Store FEStore FE Store FE Admin FE Kubernetes Minion 1 Kubernetes Minion 2 Security Security File server File server Redis Sentinel Redis Sentinel Redis Master Redis Slave Pet Pet Transaction Transaction Transaction pods pods pods pods pods pods pods pods pods pods pods pods pods pods pods S A S T R P F Kubernetes Services
  • 37. Demo: MSS Pet store sample
  • 38. Things to Note • Expensive remote calls (instead of in-process calls) • Coarser-grained remote APIs • Increased complexity when redistributing responsibilities between components • Centralized governance isn’t optimal • Decentralized data management – de-normalized data • Need to design for interruptions
  • 39. 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)
  • 40. Code • Netty based transporthttps://github.com/wso2/carbon- transports • MSS https://github.com/wso2/product-mss