wtui7 - cloud integration
TRANSCRIPT
Cloud Integration
John Hosie, Product architect for IBM Integration Bus
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
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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
12
Infrastructure as a Service “Hardware & Environments” Ia
aS
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
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
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
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.
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
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
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
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
© 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
© 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
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
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
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
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”
IBM UrbanCode Deploy – Con+nuous Delivery for IIB apps
27
Toolkit
BAR file config deploy modify }
Automated application deployment
IBM UrbanCode Deploy – On-‐demand Environments
28
IIB image
On-demand environment
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/
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/
http://www-01.ibm.com/software/passportadvantage/licensing_for_Microsoft_Azure.html
Platform as a Service “Operating System” Pa
aS
© 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
© 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
© 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
© 2014 IBM Corporation 36 36
© 2014 IBM Corporation 37 37
© 2014 IBM Corporation 38 38
© 2014 IBM Corporation 39 39
© 2014 IBM Corporation 40 40
Bob Generates Database REST API
© 2014 IBM Corporation 41 41
Leverage Database REST API
© 2014 IBM Corporation 42 42
© 2014 IBM Corporation 43 43 43
Login to Cast Iron Live
© 2014 IBM Corporation 44 44
Salesforce Integration Flow
© 2014 IBM Corporation 45 45
Jane Creates Mobile Application
https://www.youtube.com/watch?v=zwqVZGRHZSQ&index=4&list=PLtE02lhMv7yzGt_zta1aF2jhhNl6m7HNE
© 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
© 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
© 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
© 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
© 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
© 2014 IBM Corporation 53 53
© 2014 IBM Corporation 54 54
© 2014 IBM Corporation 55 55
© 2014 IBM Corporation 56 56
© 2014 IBM Corporation 57 57
© 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
SaaS
Software as a Service “Applications” Sa
aS
© 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
© 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
© 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
© 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
© 2014 IBM Corporation
Thank You
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