Become a Bluemix Architect in 45 Minutes

Post on 05-Apr-2017

37 views 0 download

Transcript of Become a Bluemix Architect in 45 Minutes

BecomeaBluemix Architectinanhour 45minutes

(a.k.a.learnmyjobin2,700seconds)(perhapsnotquite)

AndrewFerrierBluemix SolutionArchitect, IBMBluemix Garage

andrew.ferrier@uk.ibm.com

Agenda

• WhatisBluemix (andwhywouldIuseit)?• MajorComponents– ComputeModels

• Anaside:Microservices

• MajorComponents– Services• NFRs– Security,Performance,Integration• FurtherInformation

WhatisBluemix (andwhywhould Iuseit)?

ThirdParty

IBM

YourOwn

OpenSource

What is Bluemix?

Amanaged platformtodevelop,deployandrunenterpriseapplications

?

Why?• Developinthecloud– reduce

infrastructurehassles

• FastDevelopmentusingDevOps

• Standards-based–NodeJS,Java,CloudFoundry,Dockerarejustsomeofthemanyopentechnologies

• Diversesetofservices• Analytics, cognition• Mobile, location• Internet of Things• Social engagement • Identity • Reviews• Travel• Messaging• Weather …• Your company private APIs and services

MajorComponents– ComputeModels

Virtual Servers

“Abstraction”

“Control”

Bare Metal

Dedicated Compute

High Memory

Intensive Disk I/O

Isolation

Familiar

Full OperatingSystem Control

Containers

Portable

Flexible

Light-weight

CF Apps

Speed

Manage code,not infrastructure

OpenWhiskStateless

Event-Driven

Short-lived

…m

eets

you

r dev

elop

er n

eeds

PaaSCaaSIaaS

Bluemix Compute Models

AnAside:Microservices

Microservicesarchitecture

Amicroservice isagranular,decoupledcomponentwithinabroaderapplication

Monolithicapplication

Silo

Microservicesapplication

Microservice(component)

Microservice(component)

Microservice(component)

• Agility• Scalability• Resilience

Simplistically,microservicesarchitectureisaboutbreakingdownlargesiloapplicationsintomoremanageable,fullydecoupledpieces

Sampleapplicationthatusesmicroservices• Airlinereservationapplication

• Bookflights• Timetable lookup• Calculate fare• Allocate seats• Managerewards• Updatecustomer• Adjustinventory

bookFlights

calculateFare

allocateSeats

manageRewards

timetableLookup

adjustInventory

updateCustomer

Keytenetsofamicroservicesarchitecture1. Largemonolithsarebrokendownintomanysmall

services• Eachservice runsinitsownprocess

2. Servicesareoptimizedforasinglebusinessfunction3. CommunicationviaRESTAPIormessagebrokers4. Per-servicecontinuousintegrationandcontinuous

deployment(CI/CD)5. Per-servicehighavailability(HA)andclusteringdecisions

• Onesizeorscaling policyisnotappropriateforall

Backtothosecomputemodels…

What is Docker?• OpenSoftware,LaunchedMarch2013,contributors includeIBM,RedHat,Google,Microsoft,VMware,AWS,Rackspace,…

• Automatesdeployment ofapplications insoftwarecontainers

• Applicationsarewrappedinacompletefilesystemthat includesCode,runtime,systemtools,andsystemlibraries

• Willalwaysrunthesameway,independent oftheenvironment

• Merelythemostpopular implementationofageneralconceptofcontainers

• DockerisLinux-only

ProcessPID

IPC

=Namespaces forisolation

CPUMemory

=Controlgroupsfor resourceconstraint

IBM Bluemix Container ServiceDocker-basedcontainerruntime,plus:• ManageanddistributeDockerimagesinprivateimageregistries

• Built-inelasticityandauto-recovery• Built-inloggingandmonitoring• Vulnerabilityscannertodetectissuesandproposeresolution

• IntegrationwithDevOpstoolstosupportbuildingofimages

• NewbetabasedonKubernetes(containerorchestrator)asofMarch20th,bringing:

• Declarativetopologyofcontainers• Automatic deployment ofcontainerstoresources

• Self-healing abilities• Integratedservicediscovery• Abilitytodorichsecret andconfigurationmanagement

CloudFoundry(akaInstantRuntimes)

• Buildpack-basedruntimes• Bluemix provideshostedopen-sourceCloudFoundry,pluscustombuildpacks:

• LibertyforJava• Node.js• Swift• AccesstoBluemix ServiceCatalog

OperatingSystem

AppServer/Runtime

YourCode

Buildpack

OpenWhisk

• Serverless applicationhosting,event-drivenexecution

• Programmingmodel• Rule:=Triggerà Action(s)

• Triggers• EventsfromREST,Cloudant,Watson,Weather,etc.

• Actionprogrammingmodel• Ideallyamicroservice,short-running• CloudFoundryapplication• Dockercontainer• ActionscanuseBluemix servicecatalog

Pool of actions

Swift DockerJS

Trigger

1

Running action

Running action

Running action

3

Deploy action within millisecs,run it, free up resources

OpenWhisk Engine

2

Bare Metal ContainersVirtual Servers Cloud Foundry OpenWhisk

Actions: Code (single function)

Triggers: Events/Messages

Code

Data

Runtime

Middleware

OS

Virtualization

Servers

Storage

Networking

Code

Data

Runtime

Middleware

OS

Virtualization

Servers

Storage

Networking

Code

Data

Runtime

Middleware

OS

Virtualization

Servers

Storage

Networking

Code

Data

OS

Virtualization

Servers

Storage

Networking

Runtime

Middleware

Customer ManagedService Provider Managed

Actions & Triggers

Levels of Responsibility

MajorComponents– ServiceCatalog

(Very)SelectedHighlights

Cloudant – NoSQLDatabase

APIConnect– APIs/Integrationfor2017

WebSphereonCloud– MigrationPath

WatsonServices(Conversation,NaturalLanguage,VisualRecognition,etc.)

NFRs(theDifficultBits)

Integration(Networking)

• Bluemix Public• Partofthepublicinternet• Internetworkingwithon-prem:

1. UseServiceGatewayand/orVPNOR2. ExposeAPIsfromexistingon-premise

• Bluemix Dedicated• Bydefault,networkispartofcustomer’snetwork• Canbeopenedtopublicinternetalso

• Bluemix Local• Alwaysnetworkedtobepartofcustomer’sinfrastructure

Integration(Functional)

• APIConnectforGreenfield

• IIBisalsoanoption:

Security

• Bluemix Public• MakeeverythingrunoverHTTPS• AllCFruntimes areexposedpublically;Docker(inparticularwithKubernetes)willprovidemorecapability

• Thinkaboutdataresidency– CFservices canbeprovisionedanywhere

• Bluemix Dedicated• Dataresides outside yourdatacenter

• Bluemix Local• Dataresides locallyas longasyouusealocalservice• Ifyouuseafederatedservice, youareusingPublic

Performance

• Thinkhorizontalscalingi.e.scalingisprettymuchconstantagainstnumberofinstances

• Impliesstateless architectures(nomoresessions)

• Thisisthe12-factorconcurrencyprinciple:https://12factor.net/concurrency

• Best-of-breed industrytoolchains• Customizable toolchaintemplates,oneclicksetup

• Buildpipelines forCloudFoundry,Containers,etc.

DevOps– Toolchains+Pipelines

Links• TryBluemixPublicfreefor30days:

https://console.ng.bluemix.net/registration/

• IBMCloudArchitectureCenter:https://www.ibm.com/devops/method/category/architectures/

• The12-factorapp:https://12factor.net/

• Microservices fromTheorytoPractice:https://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/sg248275.html?OpenDocument

• Bluemix Blog:https://www.ibm.com/blogs/bluemix/

• WatsonDeveloperCloud:

https://www.ibm.com/watson/developercloud/

• CreatingEffectiveMobileApplicationswithBluemix:http://ibm.biz/mobile-bluemix

• UnderstandingDockerandIBMBluemix ContainerService:http://ibm.biz/docker-bluemix

• Needsomehelp?– IBMBluemix Garage:http://ibm.biz/bluemix-garage