28
Become a Bluemix Architect in an hour 45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix Solution Architect, IBM Bluemix Garage [email protected]

Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

BecomeaBluemix Architectinanhour 45minutes

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

AndrewFerrierBluemix SolutionArchitect, IBMBluemix Garage

[email protected]

Page 2: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

Agenda

• WhatisBluemix (andwhywouldIuseit)?• MajorComponents– ComputeModels

• Anaside:Microservices

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

Page 3: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

WhatisBluemix (andwhywhould Iuseit)?

Page 4: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

ThirdParty

IBM

YourOwn

OpenSource

What is Bluemix?

Amanaged platformtodevelop,deployandrunenterpriseapplications

Page 5: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

?

Page 6: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

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

Page 7: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

MajorComponents– ComputeModels

Page 8: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

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

Page 9: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

AnAside:Microservices

Page 10: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

Microservicesarchitecture

Amicroservice isagranular,decoupledcomponentwithinabroaderapplication

Monolithicapplication

Silo

Microservicesapplication

Microservice(component)

Microservice(component)

Microservice(component)

• Agility• Scalability• Resilience

Simplistically,microservicesarchitectureisaboutbreakingdownlargesiloapplicationsintomoremanageable,fullydecoupledpieces

Page 11: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

Sampleapplicationthatusesmicroservices• Airlinereservationapplication

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

bookFlights

calculateFare

allocateSeats

manageRewards

timetableLookup

adjustInventory

updateCustomer

Page 12: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

Keytenetsofamicroservicesarchitecture1. Largemonolithsarebrokendownintomanysmall

services• Eachservice runsinitsownprocess

2. Servicesareoptimizedforasinglebusinessfunction3. CommunicationviaRESTAPIormessagebrokers4. Per-servicecontinuousintegrationandcontinuous

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

• Onesizeorscaling policyisnotappropriateforall

Page 13: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

Backtothosecomputemodels…

Page 14: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

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

Page 15: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

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

Page 16: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

CloudFoundry(akaInstantRuntimes)

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

• LibertyforJava• Node.js• Swift• AccesstoBluemix ServiceCatalog

OperatingSystem

AppServer/Runtime

YourCode

Buildpack

Page 17: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

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

Page 18: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

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

Page 19: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

MajorComponents– ServiceCatalog

Page 20: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix
Page 21: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

(Very)SelectedHighlights

Cloudant – NoSQLDatabase

APIConnect– APIs/Integrationfor2017

WebSphereonCloud– MigrationPath

WatsonServices(Conversation,NaturalLanguage,VisualRecognition,etc.)

Page 22: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

NFRs(theDifficultBits)

Page 23: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

Integration(Networking)

• Bluemix Public• Partofthepublicinternet• Internetworkingwithon-prem:

1. UseServiceGatewayand/orVPNOR2. ExposeAPIsfromexistingon-premise

• Bluemix Dedicated• Bydefault,networkispartofcustomer’snetwork• Canbeopenedtopublicinternetalso

• Bluemix Local• Alwaysnetworkedtobepartofcustomer’sinfrastructure

Page 24: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

Integration(Functional)

• APIConnectforGreenfield

• IIBisalsoanoption:

Page 25: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

Security

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

• Thinkaboutdataresidency– CFservices canbeprovisionedanywhere

• Bluemix Dedicated• Dataresides outside yourdatacenter

• Bluemix Local• Dataresides locallyas longasyouusealocalservice• Ifyouuseafederatedservice, youareusingPublic

Page 26: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

Performance

• Thinkhorizontalscalingi.e.scalingisprettymuchconstantagainstnumberofinstances

• Impliesstateless architectures(nomoresessions)

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

Page 27: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

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

• Buildpipelines forCloudFoundry,Containers,etc.

DevOps– Toolchains+Pipelines

Page 28: Become a BluemixArchitect in an hour45 minutes€¦ · Become a BluemixArchitect in an hour45 minutes (a.k.a. learn my job in 2,700 seconds) (perhaps not quite) Andrew Ferrier Bluemix

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