Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
OpenNebulaConf 2014 - Building Hybrid Cloud Environments with OpenNebula - Tino Vazquez
1. Building Hybrid Cloud Environments
with OpenNebula
Constantino Vázquez Blanco
VP of Engineering at OpenNebula Systems
OpenNebula Project Major Contributor
presented by
2. Agenda
● The OpenNebula Hybrid Approach
● Amazon EC2
● Live Demo
● Microsoft Azure
● Live Demo
● IBM SoftLayer
● Live Demo
#OpenNebulaConf OpenNebula.org
3. The OpenNebula Hybrid Approach
Operative word is transparency
• For the administrator
• Both local and remote ‘hypervisors’ are
modeled as OpenNebula hosts
• For the end user
• Consumable VM Templates can be hybrid,
meaning multiple sections describing the VM
in different locations
#OpenNebulaConf OpenNebula.org
4. The OpenNebula Hybrid Approach
Unique hybrid approach
● One OpenNebula Host can be …
● One local Hypervisor
● One Public Cloud
● One Region (EC2) / Location (AZ) /
Datacenter(SL)
● One Availability Zone
#OpenNebulaConf OpenNebula.org
5. The OpenNebula Hybrid Approach
Unique hybrid approach
● End users consume a catalog of hybrid templates
● Administrators manage
● Scheduling policies
● Fixed priority
● Public Cloud modeled capacity
#OpenNebulaConf OpenNebula.org
6. The OpenNebula Hybrid Approach
Limitations
● No ‘magic’ networking
● Define VPNs, benchmark latency
● No automatic image upload
● Admin task to preload or configure images
● … and, of course, no automatic inter-public cloud
image converting + transferring …
#OpenNebulaConf OpenNebula.org
7. The OpenNebula Hybrid Approach
Hybrid VM Templates
NAME=WebServer
CPU=1
MEMORY=2048
DISK=[IMAGE=“CentOSLAMP”]
NIC=[NETWORK=“Public”
EC2=[
AMI="ami-6f5f1206",
INSTANCETYPE="m1.small",
KEYPAIR="gsg-keypair" ]
#OpenNebulaConf OpenNebula.org
9. The OpenNebula Hybrid Approach
Local Datacenter
Virtualized
Infrastructure
The image cannot be displayed. Your
computer may not have enough
memory to open the image, or the
image may have been corrupted.
Restart your computer, and then open
the file again. If the red x still appears,
you may have to delete the image and
#OpenNebulaConf OpenNebula.org
10. Amazon EC2
Needed Configuration
• Enable EC2 drivers in /etc/oned.conf
• Install needed gems (install_gems)
• Configure credentials & capacity
regions:
default:
region_name: us-east-1
access_key_id: YOUR_ACCESS_KEY
secret_access_key: YOUR_SECRET_ACCESS_KEY
capacity:
m1.small: 5
m1.large: 0
m1.xlarge: 0
Configure several regions with different credentials and
model them as different OpenNebula hosts
#OpenNebulaConf OpenNebula.org
11. Amazon EC2
Needed Configuration
• Add a host representing an EC2 region
$ onehost create ec2 --im ec2 --vm ec2 --net dummy
• Launch VM and wait for monitor
• AWS_DNS_NAME
• AWS_PRIVATE_DNS_NAME
• AWS_AVAILABILITY_ZONE
• AWS_VPC_ID
• AWS_PRIVATE_IP_ADDRESS
• AWS_IP_ADDRESS
• AWS_SUBNET_ID
• AWS_SECURITY_GROUPS
• AWS_INSTANCE_TYPE
• …
#OpenNebulaConf OpenNebula.org
13. Microsoft Azure
Needed Configuration
• Enable AZ drivers in /etc/oned.conf
• Install needed gems (install_gems)
• Configure credentials & capacity
regions:
default:
region_name: "West Europe”
pem_management_cert: "/path/to/mycert.pem"
subscription_id: ”xxxx-xxxx-xxxx”
management_endpoint:
capacity:
Small: 5
Medium: 1
Large: 0
Configure several regions with different credentials and
model them as different OpenNebula hosts
#OpenNebulaConf OpenNebula.org
14. Microsoft Azure
Needed Configuration
• Add a host representing a Azure location
$ onehost create west-europe -i az –v az -n dummy
• Launch VM and wait for monitor
• AZ_AVAILABILITY_SET_NAME
• AZ_CLOUD_SERVICE_NAME
• AZ_DATA_DISKS
• AZ_DEPLOYMENT_NAME
• AZ_DISK_NAME
• AZ_HOSTNAME
• AZ_IMAGE
• AZ_IPADDRESS
• AZ_MEDIA_LINK
#OpenNebulaConf OpenNebula.org
17. IBM SoftLayer
Needed Configuration
• Enable SL drivers in /etc/oned.conf
• Install needed gems (install_gems)
• Configure credentials & capacity
regions:
default:
region_name: sjc01
username: SLxxxx
api_key: xxxxx
capacity:
slcci.small: 5
slcci.large: 0
slcci.large: 0
Configure several regions with different credentials and
model them as different OpenNebula hosts
#OpenNebulaConf OpenNebula.org
18. IBM SoftLayer
Needed Configuration
• Add a host representing a SoftLayer location
$ onehost create sjc01 –I sl –v sl -n dummy
• Launch VM and wait for monitor
• SL_CRED_PASSWORD
• SL_CRED_USER
• SL_DOMAIN
• SL_FULLYQUALIFIEDDOMAINNAME
• SL_GLOBALIDENTIFIER
• SL_HOSTNAME
#OpenNebulaConf OpenNebula.org