Moving Towards a Leaner Deployment in Your Enterprise

29
Moving Towards a Leaner Deployment in Your Enterprise Eranga Perera - Senior Technical Lead Chathura Kulasinghe - Senior Solutions Engineer

Transcript of Moving Towards a Leaner Deployment in Your Enterprise

Moving Towards a Leaner Deployment in Your Enterprise

Eranga Perera - Senior Technical Lead

Chathura Kulasinghe - Senior Solutions Engineer

Agenda• Evolutionary Trends• Microservices• Container Based Deployments• Serverless• Deploying WSO2 products in your Enterprise

2

Evolution of Human Tools

3

The History

4

Image credits: [1] https://images.google.com

Forces that Shape the Evolution

5

Image credits: [1] http://coloradobusinessonline.com[2] http://businessonlinefromhome.com/

● More transactions are happening online● More frequent touch points with customer● Global reach

Online Presence Pace of Innovation

● Ability to adapt and deliver rapidly changing needs

● Shorter time to market● Competition

The Previous Generation

6

Monolithic Application PaaS

● Hard to scale● Slow to develop● Slow to react● Hard to update

● Language dependant● Environment Dependant● Lock-in● Expensive

Image credits: [1] https://images.google.com

Microservice

7

Image Credit: http://electric-cloud.com/

Microservices is a specialisation of an implementation approach for

service-oriented architectures (SOA) used to build flexible, independently

deployable software systems.

- Wikipedia

Microservices

8

• Allow for Application composability• Allow massive scalability• Allow to tackle problems separately (Plug in/out)• Allow for agile incremental updates of a single

component• Allow components and team to be shared• Allow component reuse to accelerate innovation• Allow components to be taken from heterogeneous

sources

Challenges Presented by Microservice

9

• Components are much more small and numerous• More dependencies among components• Difficulty understanding performance as a whole• As network plays a major role needs to be thought

through• Multiple databases and transaction management can be

painful• Complex monitoring needs

Microservices Reference Architecture

10

Image Source: Gartner

Making Pizza the Microservices Way

11

Image credits: [1] https://images.google.com[2] http://www.florencetown.com

Smart Endpoints and Dumb Pipes

12

Image Credit: https://s3.amazonaws.com/

SOA Micro Services

Microservice Deployment

13

• 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

Containers vs VMs

14

What is Serverless?

15

• Single page web applications or rich client applications that does not have a server side.

• Application developed on an architecture that run in stateless compute containers, that are event-triggered & ephemeral

Deploying WSO2 products in your Enterprise

16

A typical Design of a solution

WSO2 API Manager

3rd Party System Units

WSO2 Message Broker

Organizational System Units

WSO2 Enterprise Service Bus

WSO2 Data Services Server

WSO2 Application Server

WSO2 Identity Server

Extensibility of the Solution

Example,1st Year → Coffee shop 4th year → Coffee shop +Bakery outlet8th year → Coffee shop +Bakery outlet +Grocery shop

WSO2 context,1st Year → Integration platform4th year → Integration +API Management platform8th year → Integration +API Management +Analytics platform

Scalability - Extensibility of the Solution

Scalability of a product cluster - (i.e Throughput)

Example,Within a certain time unitif a single barista makes ω cups of coffeeto make η cups of coffee,it takes minimum η/ω number of baristas

i.e. WSO2 ESB, WSO2 MB, WSO2 API-M Gateway

Cluster

WSO2 Carbon

Cluster

WSO2 Carbon

WSO2 Carbon

Sample deployment : Clusters / deployment topology

LB 3rd Party System Units3rd Party

System Units3rd Party System Units

Data

Cen

ter -

01

Data

Cen

ter -

02

Organization 3rd PartiesClients

Production Hardening - Deployment ModelWSO2 products are,

• Are JVM based, • Support many operating systems,• and many Infrastructure

• Basic virtual machines• Cloud (Microsoft Azure & Amazon AWS)• Containers (i.e Docker)

Production Hardening - Hardware specificationis based on the number of JVM/WSO2 instances

Typically, 1 CPU per JVM instance2 GB of RAM per JVM instance10 GB of Hard disk space

and,1 CPU for operating system2 GB for operating system

Following the basics,VMs are configured or Selected (i.e Amazon EC2 c1.large)

VM (Virtual Machine)

CPU 2CPU 1

CPU 1

2 GB RAM2 GB RAM

OS

OSFiles Space

JDK W

SO2

Bina

ry{Z

IP a

rchi

ve e

xtra

cted

}

Carbon/JVM instance

DevOps and Automation : The Typical WSO2 Product

DevOps and Automation : The Typical WSO2 Product

Carbon Kernel

Features Collection

Carbon Kernel

Identity Management

Features

Carbon Kernel

Integration Features

Carbon Kernel

Application ServerFeatures

Identity Server ESB Application Server

Carbon Kernel

Clustering Server-framework Registry

Logging Data-sources Transports User-management Multi-Tenancy

Admin-console Feature-manager

Dep-sync

DevOps and Automation : The General Practice

DevOps and Automation : Business Artifacts packaged

Backup & Disaster recoveryThe design and configuration

Deployment automation with executable scriptsor with Immutable server oriented design

Deployed artifactsShared repository

RegistryDatabase backup

DataDatabase and files backup