27
WSO2 DevOps How to Deploy, Manage, Administer and Monitor WSO2 Products Sanjaya Ratnaweera Chathura Kulasinghe

WSO2Con ASIA 2016: WSO2 DevOps: How to Deploy, Manage, Administer and Monitor WSO2 Products

Embed Size (px)

Citation preview

WSO2DevOpsHowtoDeploy,Manage,AdministerandMonitorWSO2Products

SanjayaRatnaweeraChathuraKulasinghe

Outline

•  IntroducDon– WhatisDevOps

•  TheApproach– SoluDonsArchitecture– Capacityplanning&DeploymentArchitecture

•  Deploymentofproducts•  ManagingandadministraDon•  Monitoring

https://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/Devops.svg/2000px-Devops.svg.png

Introduc.on:WhatisDevOps

DevOps (a clipped compound of "development" and "operations") is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes. https://en.wikipedia.org/wiki/DevOps

TheApproach:Solu.onsArchitecture•  Gatherrequirements•  PicturethearchitectureofaSoluDon•  IdenDfylogicalcomponents(basedondomain)•  tomodelwithWSO2products

TheApproach:L0Architecture(Example)

TheApproach:L1Architecture(Example)

TheApproach:Ac.ve-Passivedeployment(Example)

TheApproach:Ac.ve-Ac.vedeployment(Example)

TheApproach:CapacityPlanning•  DetermineVolume(s)tobehandled

–  throughput,concurrency,latency,averagedatapacketsize•  Checkthecapacityofaproductinstance•  Determinehowmanyinstancesrequiredinacluster•  Consideravailabilityandfailoverscenarios

Deploymentofproducts•  Choosedeployment-modeandinfrastructure

–  eg.on-premise/cloud,LINUXboxes/AmazonAWS•  ReadWSO2hardwarespecifica.on•  Preparemachines/virtual-machines•  ExtractbinarypackagesofWSO2products•  Configureclustersandconstructthesolu.on

ClusteringLet’sconsideroneproductclusterinparDcular(eg.WSO2ESB)

Manager node

LB

Registry DB

User Management DB

SVN repository

Worker node 01

Worker node 02

Management console

& Admin API traffic

Production traffic

Clustering:Load-balancing•  ManyopDons:

–  SoPwareload-balancerssuchasNGINX,ApacheHTTPD,AWSELB–  orHardwareload-balancerssuchasF5

•  Choicemaydependon:–  Infrastructure–  Availabilityofproducts

•  S.ckinessandSSLtermina.on(etc)tobeconsidered

LB

Clustering:Ar.factsDistribu.on•  DeploymentSynchroniza.on(Dep-sync)feature•  UploadarDfactsviaManagement-console/Admin-APIs•  Managernode

–  Pushesar.factstotheSVNrepository–  Sendsno.fica.onstoWorkernodes

•  Workernodes–  Fetchar.factsfromtheSVNrepository

SVN repository

Clustering:Sharingregistry&Permissions•  Shared-databasestyleofanintegraDon•  JDBCbasedRDBMSproductsaresupported

–  MySQL,MS-SQL,Oracle,DB2andPostgreSQLetc•  UserManagementDB

–  SharesPermissionmodel–  Keepsuseraccounts,unlessthereisanyuser-storeisintegrated

•  RegistryDB–  SharesGovernancearDfacts–  SharesConfigura.onarDfacts

Registry DB

User Management DB

Clustering:Re-capAselectedproductclusterinparDcular(eg.WSO2ESB)

Manager node

LB

Registry DB

User Management DB

SVN repository

Worker node 01

Worker node 02

Management console

& Admin API traffic

Production traffic

HardwareRequirementsSpecifica.on•  IsbasedonthenumberofJVM/WSO2instances•  Typically,

–  1CPUperJVMinstance–  2GBofRAMperJVMinstance–  10GBofHarddiskspace

•  and,–  1CPUforopera.ngsystem–  2GBforopera.ngsystem

•  Followingthebasics,–  VMsareconfiguredorSelected(egAmazonEC2c1.large)

VirtualMachines

Infrastructure•  WSO2basedsolu.ons

–  supportOn-premiseand–  Cloudbaseddeploymentsand–  anyOpera.ngSystemwhichsupportsJVM.

•  PrepareownVMson-premise•  orchooseappropriatecloudVMinstances

–  suchasAmazonAWS(c3.large/c3.xlarge)–  basedontherequiredResourcepools

•  Install/ManageownDatabaseclusterson-premise•  orchoosecloudserviceofferingssuchasAmazonRDS

Configura.onManagement&Automa.on•  Why?

–  Quickandeasyinstanceprovisioning–  Greatermanageabilityandeaseofmaintenance–  Single-point-of-truth–  Capabilityoftempla.ng

•  Tools:–  Puppet–  Chef–  Ansible

Administra.on•  Forsmoothopera.onofthesoluDon•  applyingpatches•  performingupgrades•  makingfrequentbackups•  andmonitoringthesoluDon&infrastructure•  toacendanddealwithincidentsoffailure

Applypatches&performupgrades•  WSO2issues

–  patchesimmediatelywhenrequired–  andservice-packslessfrequently

•  Performingproductsupgradesconsider–  minimizingdown-.meofcomponentclusters–  datamigraDon–  stagingdrills

Backups•  Determinewhattobackup•  andwhentoperformthebackup•  Verifyintegrity•  Restoredrills

Monitoring•  Infrastructurelevel

–  healthstatusofphysical-servers–  andvirtual-machines

•  Middlewarepla_ormlevel–  healthstatusofinstances–  andclusters–  ofinstalledWSO2products

•  Func.onallevel–  Usage,latency,overhead,securityandaudit

Monitoring

AproductclusterwithWSO2ESB

Manager node

LB

Registry DB

User Management DB

SVN repository

Worker node 01

Worker node 02

Management console

& Admin API traffic

Production traffic

Deployment

•  LatestofferingfromWSO2•  YourdeploymentmanagedbyourDevOps•  Towhomthisisbeneficial

http://wso2.com/cloud/managed/

WSO2ManagedDeployments

Thankyou!