opennebulaconf 2014 - building hybrid cloud environments with opennebula - tino vazquez
TRANSCRIPT
Building Hybrid Cloud Environments with OpenNebula
presented by
Constantino Vázquez Blanco VP of Engineering at OpenNebula Systems
OpenNebula Project Major Contributor
OpenNebula.org #OpenNebulaConf
Agenda
● The OpenNebula Hybrid Approach
● Amazon EC2
● Live Demo
● Microsoft Azure
● Live Demo
● IBM SoftLayer
● Live Demo
OpenNebula.org #OpenNebulaConf
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
OpenNebula.org #OpenNebulaConf
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
OpenNebula.org #OpenNebulaConf
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
OpenNebula.org #OpenNebulaConf
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 …
OpenNebula.org #OpenNebulaConf
The OpenNebula Hybrid Approach
Hybrid VM Templates NAME=WebServerCPU=1MEMORY=2048
DISK=[IMAGE=“CentOSLAMP”]NIC=[NETWORK=“Public”
EC2=[ AMI="ami-6f5f1206", INSTANCETYPE="m1.small", KEYPAIR="gsg-keypair" ]
OpenNebula.org #OpenNebulaConf
The OpenNebula Hybrid Approach
Hybrid VM Templates PUBLIC_CLOUD=[ TYPE="SOFTLAYER", INSTANCE_TYPE="slcci.medium", BLOCKDEVICETEMPLATE=“MyLAMPOnSL"]
PUBLIC_CLOUD = [ TYPE=AZURE, INSTANCE_TYPE=ExtraSmall, IMAGE=myLAMPonAZ-30GB, TCP_ENDPOINTS="80",]
OpenNebula.org #OpenNebulaConf
The OpenNebula Hybrid Approach
Local Datacenter
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
Virtualized Infrastructure
OpenNebula.org #OpenNebulaConf
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
OpenNebula.org #OpenNebulaConf
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 • …
EC2 Live Demo
OpenNebula.org #OpenNebulaConf
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
OpenNebula.org #OpenNebulaConf
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
OpenNebula.org #OpenNebulaConf
Microsoft Azure
• AZ_OS_TYPE • AZ_ROLE_SIZE • AZ_TCP_ENDPOINTS • AZ_UDP_ENDPOINTS • AZ_VIRTUAL_NETWORK_NAME
Azure Live Demo
OpenNebula.org #OpenNebulaConf
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
OpenNebula.org #OpenNebulaConf
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
OpenNebula.org #OpenNebulaConf
IBM SoftLayer
• SL_ID
• SL_MAXCPU
• SL_MAXMEMORY
• SL_PRIMARYBACKENDIPADDRESS
• SL_PRIMARYIPADDRESS
• SL_STARTCPUS
• SL_UUID
SoftLayer Live Demo
OpenNebula.org #OpenNebulaConf
Questions? Enjoy the rest of the Conference!