wtui7 - cloud integration

65
Cloud Integration John Hosie, Product architect for IBM Integration Bus

Upload: matt-lucas

Post on 11-Jul-2015

319 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: WTUI7 - Cloud Integration

Cloud Integration

John Hosie, Product architect for IBM Integration Bus

 

Page 2: WTUI7 - Cloud Integration

2

SaaS

IaaS

PaaS Infrastructure as a Service

“Hardware & Environments”

Software as a Service “Applications”

Platform as a Service “Operating System”

IaaS

Pa

aS

SaaS

The Layers of Cloud

Page 3: WTUI7 - Cloud Integration

3

SaaS

IaaS

PaaS Infrastructure as a Service

“Hardware & Environments”

Software as a Service “Applications”

Platform as a Service “Operating System”

IaaS

Pa

aS

SaaS

The Layers of Cloud

Page 4: WTUI7 - Cloud Integration

© 2014 IBM Corporation 4

§  Basic Layer – (Parallels to “Hardware”) –  Compute –  Memory –  Storage –  Network Resources

Infrastructure as a Service (IaaS)

§  Charged by (Virtual) Machine Capacity

§  IaaS APIs: –  Create Server, Delete Server –  Add Memory, remove memory –  Create Environment

§  Examples: –  Virtualization Providers:

•  Softlayer •  Amazon EC2 •  VMWare •  OpenStack •  Azure •  PureSystems

–  Automation Tools: •  Chef •  Puppet •  uDeploy •  PowerShell DSC

§  Many organizations already have experience with these technologies

§  Flexibility – Automate creation of a machine that can run any application

Page 5: WTUI7 - Cloud Integration

© 2014 IBM Corporation 5

SaaS

IaaS

PaaS Infrastructure as a Service

“Hardware & Environments”

Software as a Service “Applications”

Platform as a Service “Operating System”

IaaS

Pa

aS

SaaS

The Layers of Cloud

Page 6: WTUI7 - Cloud Integration

© 2014 IBM Corporation 6

Platform as a Service (PaaS) §  Application Centric View – (Parallels to 'Operating System')

–  Applications •  J2EE •  Spring •  Rails •  Play

–  Services •  MongoDB •  Postgre SQL •  Elastic MQ

§  PaaS APIs: –  Deploy Application, Destroy Application –  Scale Application –  List Databases, Bind Application To Database

§  Examples: –  CloudFoundry –  IBM Blue Mix –  Heroku –  Open Shift

§  Developers are trying these platforms today, adoption growing

§  Changed by licensed capacity or usage

Page 7: WTUI7 - Cloud Integration

© 2014 IBM Corporation

Bluemix

§  Bluemix is IBM’s Platform as a Service offering, enabling customers to run their own Java, JavaScript and Ruby applications

§  Bluemix offers many services that can be exploited from within those applications

Page 8: WTUI7 - Cloud Integration

© 2014 IBM Corporation 8

SaaS

IaaS

PaaS Infrastructure as a Service

“Hardware & Environments”

Software as a Service “Applications”

Platform as a Service “Operating System”

IaaS

Pa

aS

SaaS

The Layers of Cloud

Page 9: WTUI7 - Cloud Integration

© 2014 IBM Corporation 9

Software as a Service (SaaS)

§  Provides access to hosted applications or services

§  SaaS APIs: –  Dependent on what the solution offers –  Examples:

•  Query Product •  Order Product

§  Examples: –  SalesForce –  Google Apps –  Office 365

§  Particular applications are very popular

§  Trades off hosting flexibility for ease of use

§  Usage based charging

– Per Hour, Day, Week, Month – Per Transaction

Page 10: WTUI7 - Cloud Integration

© 2014 IBM Corporation 10

SaaS

IaaS

PaaS Infrastructure as a Service

“Hardware & Environments”

Software as a Service “Applications”

Platform as a Service “Operating System”

IaaS

Pa

aS

SaaS

The Layers of Cloud

These are Independent Concepts They can be used together, but don't have to be

Page 11: WTUI7 - Cloud Integration

© 2014 IBM Corporation 11

On-Premise, Off-premise and Hybrid Clouds

§  IaaS, PaaS and SaaS can each be on-premise, off-premise or hybrid –  Data Sensitity is the key concern

§  Motivations

–  Adding workload: start private, add public capacity –  Reducing workload: start private, move to public –  Moving workload: start public, move to private

§  Economics

–  Less expensive to use a public cloud •  For low utilization, rental is cheaper •  For spontaneous capacity. rental is cheaper •  Private Cloud incurs hosting costs

–  Match risk to cost as business grows

•  Hybrid Cloud Hybrid Cloud •  Private •  Cloud

Private Cloud

•  Public •  Cloud

Public Cloud

On premises/Internal to Company Off premises/Third Party

•  Private •  Cloud

Private Cloud

•  Private •  Cloud

Private Cloud

Public Cloud

Public Cloud

Public Cloud

Public Cloud

Public Cloud

Public Cloud

Internet Edge of Enterprise Intranet

Page 12: WTUI7 - Cloud Integration

12

Infrastructure as a Service “Hardware & Environments” Ia

aS

Page 13: WTUI7 - Cloud Integration

IBM  Integra+on  and  IaaS  

•  Chef  –  Open  Source  technology  focussing  on  managing  middleware  

install/config  –  Installs  IIB  and  MQ,  creates  queue  managers  and  integra?on  

nodes  

•  PureApplica+on  System  –  Automated  provisioning  of  machines  as  well  as  deployment  of  

middleware  

•  IBM  UrbanCode  Deploy  –  Orchestrates  and  automates  the  deployment  of  applica?ons,  

middleware  configura?ons,  and  database  changes  into  development,  test,  and  produc?on  environments  

13

Page 14: WTUI7 - Cloud Integration

Chef  Overview  

•  “Chef  is  an  automa?on  plaEorm  that  transforms  infrastructure  into  code”  

•  Chef  concepts:  –  Recipe:  a  script  which  automates  an  install  or  

configura?on  step  –  Cookbook:  a  set  of  recipes  plus  metadata  and  

addi?onal  files  –  Chef  client:  an  agent  running  on  the  target  node  

which  runs  recipes  and  monitors  the  node’s  state  –  Chef  server:  a  central  component  that  manages  

the  chef  clients  and  distributes  deployment  requests  to  appropriate  nodes  

–  Chef  solo:  a  chef  client  which  allows  chef  recipes  to  be  run  by  an  external  manager  

14

Page 15: WTUI7 - Cloud Integration

15

Chef  Interac+ons:  Managed  by  Chef  Server  

IBM Integration Bus Runtime

IIB Install image

IBM Integration Bus Toolkit

IIB Cookbook

IBM Integration Bus Runtime

IBM Integration Bus Runtime

Page 16: WTUI7 - Cloud Integration

What  the  user  has  to  do...  

Download the install images for IBM Integration Bus.

Setup HTTP or FTP server with install images.

Add IBM Integration Bus chef cookbook to chef server

(or add to file system if using chef solo).

Set attributes to point to FTP/HTTP server.

Run chef scripts on new node.

Download the Chef Cookbook for IBM Integration Bus.

Full system set up: l Runtime, Toolkit, MQ, Explorer. l Operating system tuned. l User account created. l Broker created and started.

Page 17: WTUI7 - Cloud Integration

Databag  features.  

•  Structure  is  iden?cal  to  the  JSON  from  a  get  request  to  the  IIB  REST  API.  •  Captured  via  REST  call  an  exis?ng  IIB  node.  •  Allows  backing  up  and  restoring  a  broker  onto  a  new  vanilla  machine.  •  Only  basic  proper?es  to  start  with  but  can  be  expanded  to  include  everything:  

–  Polices  and  configurable  services  –  Deployed  bar  files  

Chef databag: Full “dev_env_1” Chef databag: Subset “dev_env_1”

Properties used by recipe

Other properties ignored

Page 18: WTUI7 - Cloud Integration

Machine A

A  complex  system  on  a  single  machine...  PROD_NODE_2

Server_1 Server_2

Server_4 Server_3 PROD_NODE_1

Server_1 Server_2

Server_4 Server_3

PROD_NODE_3

Server_1 Server_2

Server_4 Server_3

Chef Role

Page 19: WTUI7 - Cloud Integration

Mac

hine

B

Mac

hine

A

A  complex  system  on  mul+ple  machines...  

PROD_NODE_2

Server_1 Server_2

Server_4 Server_3

PROD_NODE_3

Server_1 Server_2

Server_4 Server_3

PROD_NODE_1

Server_1 Server_2

Server_4 Server_3

Mac

hine

C

Page 20: WTUI7 - Cloud Integration

Open  Source  

•  Licensed  under  the  Eclipse  Public  License  –  Cookbook  hosted  publicly  on  GitHub  –  Opscode  Community  Site    

•  Natural  Extension  points  –  Addi?onal  proper?es  

•  Integra?on  Node  •  Integra?on  Server  

–  Policy  –  Deployed  BARs  

•  Contribu?ons  are  welcome!  

Available from: https://github.com/ot4i-cookbooks/ibm_integration_bus http://community.opscode.com/cookbooks/ibm_integration_bus

Page 21: WTUI7 - Cloud Integration

© 2014 IBM Corporation 21

Testing chef recipes – Test kitchen

§  No, I am not making the names up.

§  Integration test harness for Chef Cookbooks – Open source available on Github – Configured via a .kitchen.yml file – Use to add tests to ibm_integration_bus Cookbook

§  What it does… – Uses Vagrant to create & access a VM –  Installs Chef Client – Uploads relevant files – Runs recipes using Chef Solo

§  Enables smoother contribution process – Speedy verification process – Faster “time to known quality”

https://github.com/test-kitchen/test-kitchen

Page 22: WTUI7 - Cloud Integration

© 2014 IBM Corporation 22

SoftLayer Compute Instance

IIB on Softlayer using Chef

Product install images

SoftLayer Compute Instance Node

MQ, IIB, …

SoftLayer Management

Provision Compute Instance

Provisioning script bootstrap

Two approaches: l Provisions SL server then use knife bootstrap to add the node/install client l Provisions SL server with provisioning script that installs the client and adds the node

IaaS

Page 23: WTUI7 - Cloud Integration

PureApplica+on  System  PaFerns  Automate  provisioning  of  standardised  integra2on  environments  

•  IIB  Hypervisor  Edi?on  automates  and  standardises  IIB  install,  which  combined  with  PureApp  gives  many  benefits:  

•  Automated  provisioning  reduces  errors  and  speeds  ?me  to  value  •  Standardiza?on  of  soXware  images  reduces  risk  and  simplifies  scheduling  of  maintenance  

tasks  on  cri?cal  systems  •  Applying  soXware  maintenance  is  simpler  and  quicker  using  PureApp  GUI  or  CLI  •  Comprehensive  history/audit  is  maintained;  license  tracking  is  integrated  •  Run  onsite  on  PureApp  hardware  or  hosted  on  SoXLayer  (Beta  open  now)  

23

Page 24: WTUI7 - Cloud Integration

IIB  PureApp  Configura+on  -­‐  PaFerns  

•  IIB  9  or  WMB  8  (Basic)  –  Basic  configura?on  parameters  –  VM  specific  configura?on  parameters  

•  No  specific  MB  or  MQ  configura?on      

•  IIB  9  or  WMB  8  (Advanced)  –  Extensive  configura?on  parameters  

•  MB  and  MQ  •  Defaults  provided  

24

Basic

Advanced

Page 25: WTUI7 - Cloud Integration

IIB  PureApp  Configura+on  –  Script  Packages  

•  Used  for  addi?onal  configura?on  •  Drag  and  Drop  onto  paaern  •  Allows  the  appropriate  proper?es  to  be  

configured  directly  on  the  script  package  residing  on  the  paaern  

•  User  can  create  script  packages  to  perform  addi?onal  tasks  

25

Page 26: WTUI7 - Cloud Integration

Con+nuous  Delivery:  IBM  UrbanCode  Deploy  

26

“IBM UrbanCode Deploy orchestrates and automates the deployment of applications, middleware configurations, and database changes into development, test, and production environments”

Page 27: WTUI7 - Cloud Integration

IBM  UrbanCode  Deploy  –  Con+nuous  Delivery  for  IIB  apps  

27

Toolkit

BAR file config deploy modify }

Automated application deployment

Page 28: WTUI7 - Cloud Integration

IBM  UrbanCode  Deploy  –  On-­‐demand  Environments  

28

IIB image

On-demand environment

Page 29: WTUI7 - Cloud Integration

UrbanCode  Deploy  plugins  

•  Plugins  provide  custom  process  steps  –  Provide  consistent  cross-­‐plaEorm  behaviour  –  E.g.    Deploy  BAR,  create  queue  

•  IIB  plugin  available  fully  supported  from  IBM  DeveloperWorks  download  site  

–  IIB  plugin  based  on  CMP  API  –  Provides  process  steps  to  deploy  BAR,  configure  

broker,  execu?on  group  etc.  –  Fully  compa?ble  with  IIB  v9,  v10  beta  

 •  Chef  plugin  also  fully  supported  

–  Uses  Chef  Solo  –  Can  be  used  for  on-­‐demand  machine  deployment  

29 https://developer.ibm.com/urbancode/plugins/ibm-urbancode-deploy/

Page 30: WTUI7 - Cloud Integration

UrbanCode  Deploy  and  Chef  

30

{ "run_list": [ "recipe[ibm_integration_bus::runtime]" ], "ibm_integration_bus": { "package_site_url": "http://unused", "package_name": "9.0.0-IIB-LINUXX64-DEVELOPER-RUNTIME.tar.gz", "account_username": "iibuser" } }

Product  install  image  uploaded  to  UCD  server  

Node  file  configures  Chef  recipes  

IIB  Chef  cookbook  in  a  separate  UCD  component  

https://developer.ibm.com/urbancode/docs/5-reasons-use-ibm-urbancode-deploy-already-using-chef/

Page 31: WTUI7 - Cloud Integration

http://www-01.ibm.com/software/passportadvantage/licensing_for_Microsoft_Azure.html

Page 32: WTUI7 - Cloud Integration

Platform as a Service “Operating System” Pa

aS

Page 33: WTUI7 - Cloud Integration

© 2014 IBM Corporation 33 33

Cloud Integration and Bluemix

§ Today, Cloud Integration is a Service within Bluemix and is focussed on enabling access from an application running on Bluemix to multiple different systems

§ Cloud Integration works seamlessly with Cast Iron Live which is a dedicated Cloud Integration SaaS offering

§ Cloud Integration allows sharing of API with other members of same organisation as a Service via a Private Catalog

Page 34: WTUI7 - Cloud Integration

© 2014 IBM Corporation 34 34

34

ACME DataCenter

Bob Jane

34

Ø  How can I provide mobile and enterprise services in my app?

Bluemix

Scenario ACME Anvils CRM System

Ø  How can I access: Ø  On-premise DB Ø  Salesforce Ø  Partner APIs Ø  Public APIs

anvilsRus

Page 35: WTUI7 - Cloud Integration

© 2014 IBM Corporation 35 35

35

ACME DataCenter

API

35

1)  Bob creates acmeCRM application BlueMix 2)  Bob uses Cloud Integration to create Database REST API 3)  Bob leverages Cast Iron Live to easily access Salesforce 4)  Bob uses partner API from PitneyBowes to validate addresses 5)  Bob uses BlueMix MBaaS Push service to deliver mobile notifications; tweets 6)  Jane registers with MBaaS and leverages Bob's CRM API

anvilsRus

Codename:BlueMix

Scenario ACME Anvils CRM System

Page 36: WTUI7 - Cloud Integration

© 2014 IBM Corporation 36 36

Page 37: WTUI7 - Cloud Integration

© 2014 IBM Corporation 37 37

Page 38: WTUI7 - Cloud Integration

© 2014 IBM Corporation 38 38

Page 39: WTUI7 - Cloud Integration

© 2014 IBM Corporation 39 39

Page 40: WTUI7 - Cloud Integration

© 2014 IBM Corporation 40 40

Bob Generates Database REST API

Page 41: WTUI7 - Cloud Integration

© 2014 IBM Corporation 41 41

Leverage Database REST API

Page 42: WTUI7 - Cloud Integration

© 2014 IBM Corporation 42 42

Page 43: WTUI7 - Cloud Integration

© 2014 IBM Corporation 43 43 43

Login to Cast Iron Live

Page 44: WTUI7 - Cloud Integration

© 2014 IBM Corporation 44 44

Salesforce Integration Flow

Page 45: WTUI7 - Cloud Integration

© 2014 IBM Corporation 45 45

Jane Creates Mobile Application

Page 46: WTUI7 - Cloud Integration

https://www.youtube.com/watch?v=zwqVZGRHZSQ&index=4&list=PLtE02lhMv7yzGt_zta1aF2jhhNl6m7HNE

Page 47: WTUI7 - Cloud Integration
Page 48: WTUI7 - Cloud Integration

© 2014 IBM Corporation 48 48

Expose on premise REST or Web Service API in Bluemix

§ Allows Bob to securely expose and on-premises REST or Web Service endpoint within Bluemix

1. Define basic credentials

2. Upload WSDL (Web Service) or Swagger (REST)

On-premise App

REST API

REST API

On-premise App

WSDL API

WSDL API

2Q14 3Q14

Page 49: WTUI7 - Cloud Integration

© 2014 IBM Corporation 49 49

Share an API as a Bluemix Service – intra-org

§ Bob can share an API with other developers in his own org

§ This shares his API information as-is via the ACE UI

§ The tile appears on his own org’s catalog – not on any others

§ Also enables the manipulation via the Cloud Foundry CF command – for his own org

DB table

SAP

REST API

Bluemix App

REST API

REST API

Cast Iron App

REST API

REST API On-premise

apps and Integrations

REST API

WSDL API

WSDL API

REST API RESTify

REST API RESTify

Bob’s Service

2Q14 3Q14

Page 50: WTUI7 - Cloud Integration

© 2014 IBM Corporation 50 50

2Q14

DB2 table

SQL DB

DataBase table sync – on-premises to Bluemix

§ Bob can ensure that cloud DB table is kept updated with on-premises data

1. Select on-premises table

2. Select on-premises DB

3. Select or create table

4. Set up sync parameters

Data Sync table

3Q14

Page 51: WTUI7 - Cloud Integration

© 2014 IBM Corporation 51 51

2Q14

DB2 table

SQL DB

DataBase table sync – on-premises to Bluemix

§ Bob can ensure that cloud DB table is kept updated with on-premises data

1. Select on-premises table

2. Select on-premises DB

3. Select or create table

4. Set up sync parameters

Data Sync table

3Q14

Page 52: WTUI7 - Cloud Integration

© 2014 IBM Corporation 52 52

Bob’s app

Client Library

Native Access to (in principle) anything on premises

§ Bob can use code that interacts directly with an on-premises resource

§ Cloud integration enables Bob to create a secure ‘direct’ connection via a Bluemix addressable endpoint address to an on-premises endpoint address (host IP+port)

1.  Bob identifies on-premised endpoint (IP address+port)

2.  Bob is given access to a Bluemix addressable endpoint (IP address+port)

§ Examples: –  Interact with DB2 via JDBC from Liberty –  WebSphere MQ via JMS from Liberty

?

Bob’s app

Client Library

Page 53: WTUI7 - Cloud Integration

© 2014 IBM Corporation 53 53

Page 54: WTUI7 - Cloud Integration

© 2014 IBM Corporation 54 54

Page 55: WTUI7 - Cloud Integration

© 2014 IBM Corporation 55 55

Page 56: WTUI7 - Cloud Integration

© 2014 IBM Corporation 56 56

Page 57: WTUI7 - Cloud Integration

© 2014 IBM Corporation 57 57

Page 58: WTUI7 - Cloud Integration

© 2014 IBM Corporation 58 58

Download SDK for a REST API for any Bluemix runtime

§ Bob or Jane can download a software development toolkit (code library) and use it in their code to simplify interaction with a REST API

DB table

SAP

REST API

Bluemix App

REST API

REST API

Cast Iron App

REST API

REST API

On-premise Apps and

Integrations

REST API

WSDL API

WSDL API

REST API

RESTify

REST API RESTify

Bob’s Service

2Q14 3Q14

Ruby JavaScript Java

On-premise apps and

Integrations

Page 59: WTUI7 - Cloud Integration

SaaS

Software as a Service “Applications” Sa

aS

Page 60: WTUI7 - Cloud Integration

© 2014 IBM Corporation 60 60

Integration and SaaS

§ Connecting to SaaS providers – Cast Iron has a rich palate of SaaS activities –  IIB has strong support for Web2.0 formats and protocols – Connector Framework to enrich the connector capabilities with discovery and control

§ Using integration to provide SaaS –  IIB services with JavaScript API – Blue Mix apps exposed as APIs – SDK Generation for many languages – API Management

Page 61: WTUI7 - Cloud Integration

© 2014 IBM Corporation 61 61

Integration and SaaS

§ Connecting to SaaS providers – Cast Iron has a rich palate of SaaS activities –  IIB has strong support for Web2.0 formats and protocols – Connector Framework to enrich the connector capabilities with discovery and control

§ Using integration to provide SaaS –  IIB services with JavaScript API – Blue Mix apps exposed as APIs – SDK Generation for many languages – API Management

Page 62: WTUI7 - Cloud Integration

© 2014 IBM Corporation 62 62

Integration Bus JavaScript Web API § Web APIs are popular technology for simplified access to integration

– Particular applicability in mobile, browsers, and Node.js program scenarios – New feature allows Integration Bus service to be invoked via Web API – Builds on existing IB mobile features and service definitions

§ Start from new or existing service – Design the IB service, creating API is

really simple •  REST/JSON binding generated automatically •  JavaScript client, documentation likewise

§ Access JavaScript and documentation from URL – Point browser at IB node to retrieve assets! – Can program via HTTP if required – Browser js – Node.js

SaaS

Page 63: WTUI7 - Cloud Integration

© 2014 IBM Corporation 63 63

Integration and SaaS

§ Connecting to SaaS providers – Cast Iron has a rich palate of SaaS activities –  IIB has strong support for Web2.0 formats and protocols – Connector Framework to enrich the connector capabilities with discovery and control

§ Using integration to provide SaaS –  IIB services with JavaScript API – Blue Mix apps exposed as APIs – SDK Generation for many languages – API Management

Page 64: WTUI7 - Cloud Integration

© 2014 IBM Corporation

Thank You

Page 65: WTUI7 - Cloud Integration

Links  

•  haps://developer.ibm.com/urbancode/docs/5-­‐reasons-­‐use-­‐ibm-­‐urbancode-­‐deploy-­‐already-­‐using-­‐chef/  

•  Acme  anvils  demo  -­‐  haps://www.youtube.com/watch?v=zwqVZGRHZSQ&index=4&list=PLtE02lhMv7yzGt_zta1aF2jhhNl6m7HNE  

•  haps://developer.ibm.com/urbancode/plugins/ibm-­‐urbancode-­‐deploy/  

•  https://github.com/ot4i-cookbooks/ibm_integration_bus •  http://community.opscode.com/cookbooks/

ibm_integration_bus

24 April 2014