Cloud Portability
with Multi-Cloud Toolkits
Goal
Deploy an Application
with a Multi-Cloud Toolkit
Logistics
- Helpers: Anne, Egle & Jim
- Language preferences
- Experience
Essential
Characteristics
Software
as a Service
(SaaS)
Platform
as a Service
(PaaS)
Infrastructure
as a Service
(IaaS)
Infrastructure
with an Interface
One Size Does
Not Fit All
Getting Started
- Get your cloud credentials
- Install the toolkits
- Update your configuration
Log in to the control panel
https://mycloud.rackspace.com/
From the menu, choose Account Settings
https://mycloud.rackspace.com/
Username and API Key
https://mycloud.rackspace.com/
Note: Choose Classic Console if you're using jclouds,
go to https://horizon.hpcloud.com otherwise.
Log in to the control panel
https://horizon.hpcloud.com for account management
Choose Manage Access Keys to get the API Key and Secret Key
(Optional depending on toolkit)
Copy keys from here
Then, go to Identity > Projects
Also, activate what services you want with Manage Services
Management Console
https://console.aws.amazon.com/"
From the menu, select Security Credentials
Security Credentials
Create New Access Key
Access Key ID and Secret Access Key
Configure
- Provider
- Identity
- Credential
jclouds
- Copy
src/main/resources/provider.properties.template
to src/main/resources/provider.properties
- Open
src/main/resources/provider.properties
- Edit provider (
rackspace
or hp
or aws
)
- Edit provider.identity
- Edit provider.credential
pkgcloud
- Copy
config.json.example
to config.json
- Edit
config.json
- Add Credentials for your provider:
rackspace, aws or hpcloud.
libcloud
- Open libcloud.conf.template
- Edit Provider
- Edit Identity
- Edit Credential
- Indicate Active Provider
- Save as libcloud.conf
fog
- Set PROVIDER environment variable to aws,
hp, or rackspace
- Set the following environment variables based on Provider
fog
Provider |
Environment Variables |
aws |
AWS_ACCESS_KEY, AWS_SECRET_ACCESS_KEY |
hp |
HP_SECRET_KEY, HP_ACCESS_KEY, HP_TENANT_ID |
rackspace |
RACKSPACE_USERNAME, RACKSPACE_API_KEY |
Load Balancer (LB)
haproxy
Web Server (WS)
Application Code
Python
Simple Flask app: bikeshed.io
Ruby
"CarrierWave File Uploads"
Software Configuration
Management