tim cramer, eucaday
DESCRIPTION
Tim Cramer, VP Engineering at Eucalyptus, talks about Eucalyptus architecture at EucaDay, 25 April 2012.TRANSCRIPT
© 2012 Eucalyptus Systems, Inc.
Eucalyptus 3
and beyond!
Tim Cramer
VP, Engineering
April 25, 2012
© 2012 Eucalyptus Systems, Inc.
Eucalyptus Multi-tiered
Service Architecture
User Transactions
Inventory
and
Scheduling
Actualization Actualization Actualization Actualization Actualization
Inventory
and
Scheduling
Inventory
and
Scheduling
Service
Delivery User Requests
2
© 2012 Eucalyptus Systems, Inc.
Eucalyptus Components
• Cloud Controller (CLC) – User request processing (except for Walrus), Credentials
management, VM (instance) state management
• Walrus (S3) – S3 user request processing, Append-only, Put/Get object storage
• Cluster Controller (CC) – VM inventory, Network provisioning/security group implementation
• Storage Controller (SC) – Block level, network attached storage (SAN and Linux)
• Node Controller (NC) – Hypervisor interface and control, VM launch/decommissioning
• VMWare Broker
– Gateway between CC and ESX and/or vSphere for VMWare
3
© 2012 Eucalyptus Systems, Inc.
Component Architecture
CLC Walrus
CC SC
NC/VMWareB NC/VMWareB
NC/VMWareB
NC/VMWareB
NC/VMWareB
CC SC CC SC
Service
Delivery User Requests
4
© 2012 Eucalyptus Systems, Inc.
Eucalyptus Generations
• Eucalyptus 1.X (June 08 through Sep. 10)
– University code
• Eucalyptus 2.X (June 10 through Feb. 11)
– Commercial focus, early production
• Eucalyptus 3.X (present - )
– Production operational improvements
– Full commercial feature set (almost)
• Few, if any features deprecated
– BitTorrent?
5
© 2012 Eucalyptus Systems, Inc.
New Eucalyptus 3.0 Features
• High-availability (HA) of the Eucalyptus Service
– Hot fail-over and repair for all components except NC
• AWS Identity and Access Management (IAM) API plus extensions for private clouds
– Quotas and metering
• Eucalyptus Block Storage (EBS) improvements
– AWS Volume-backed instance API (persistent instances) “bootable”
– NetApp and JBOD support added to existing Dell Equallogic
• Full support for Windows images
– Seven different versions, AWS compatible authentication, ephemeral disk
• Accounting/Usage reporting
6
© 2012 Eucalyptus Systems, Inc.
Eucalyptus 3.0 Platform Improvements
• Revamped image caching in the NC
– Faster instance starts using copy-on-write
• Refactored VMWare broker
– Faster and more robust image preparation, support for vSphere 4.X, improved scale, more extensive deployment topologies
• Extended Linux distro support
– RHEL 5 and RHEL 6, packages for Canonical LTS (Ubuntu 10.04)
• Re-designed administrative webUI
• Improved command-line admin tools
• Re-designed packaging, upgrade and dependency management
• Re-designed installation mechanism (package repositories)
7
© 2012 Eucalyptus Systems, Inc.
Eucalyptus in The Wild
• Eucalyptus 2.0 Deployments
– Games, mobile infrastructure, media, telecom
• Tons of feedback
– Not all of it angry
• Top 3
– Platform HA -> VM connectivity and request service
– Quotas, accounting, reporting
– Windows (fast image creation and start)
8
© 2012 Eucalyptus Systems, Inc.
High Availability
• Eliminate single point of failure
– Host failure
– Network connectivity failure (including network partitions)
• Tolerate as many multiple failure cases as possible
• Avoid data loss at all costs
– Fail stop is better than data loss
• Availability of the services that Eucalyptus offers
– Eucalyptus requests
– VM connectivity and storage
– Not VM HA -> application level
9
© 2012 Eucalyptus Systems, Inc.
HA Web Service Architecture
• All Eucalyptus components are implemented as Web Services
– CLC, Walrus, SC, VMWare Broker– Java
– CC and NC - C
• CC and NC are each implemented in separate Axis2c service container
• CLC, Walrus, SC, and VMWare Broker share a web service stack and JVM when co-located
10
© 2012 Eucalyptus Systems, Inc.
PoC Configuration
Linux
Web Service
DB management
CLC Walr
us
SC VM
Wb
CC
Linux
NC
Linux
NC
Linux
NC
Linux
NC
Linux
NC
Linux
Web Service
DB management
CLC Walr
us
SC VM
Wb
CC
Walr
us
Walr
us
11
© 2012 Eucalyptus Systems, Inc.
Multi-component Failure
Linux
Web Service
DB management
CLC
SC VM
Wb
CC
Linux
NC
Linux
NC
Linux
NC
Linux
NC
Linux
NC
Linux
Web Service
DB management
CLC Walr
us
SC VM
Wb
CC
Walr
us CLC
SC VM
Wb
CC
12
© 2012 Eucalyptus Systems, Inc.
Production
CLC CLC SC SC CC
VMb
CC
Linux
NC
Linux
NC
Linux
NC
Linux
NC
Linux
NC
VMb Wal Wal
13
© 2012 Eucalyptus Systems, Inc.
Group Membership and
Heartbeat
• HA is from the perspective of the “master” CLC
• Jgroups determines which machines are “up”
• Heartbeat determines which services are available within the “up” group
• Back-up CLC monitors the “up” group to determine if it contains a master
– If not, it becomes the master
• Master and Back-up DBs kept synced
– Resync when failed CLC is restored
14
© 2012 Eucalyptus Systems, Inc.
IAM, Quotas, and Reporting
• IAM is AWS “Identity and Access Management”
– Accounts and users, and groups of users
– JSON based policies defines calls that users and groups can execute
– Also possible to attach policies to resources S3 (buckets for now)
• Eucalyptus extends the IAM predicates with inequalities
– Implements quotas as tests against IAM policies
• Resource usage information exportable in a variety of formats and through GUI
15
© 2012 Eucalyptus Systems, Inc.
For Example
eucalyptus support sales dev
EC2 image permission
S3 bucket ACL
quota
quota
{ "Version":"2012-02-12", "Statement":[{ "Sid":"2", "Effect":“Limit", "Action":"ec2:RunInstances", "Resource":"*", "Condition":{ "NumericLessThanEquals":{ "ec2:quota-vminstancenumber": "256" } } }] }
16
© 2012 Eucalyptus Systems, Inc. 17
© 2012 Eucalyptus Systems, Inc.
Quality
• Continuous integration and testing during development
• Automated Quality Test Harness
– PXE booting clouds
• GUI Testing
• Networking modes + features tests + distros + hypervisors + deployment topologies
– Approximately 400 combinations
• HA Testing
– Graceful failover, Machine reboot, Network loss
• Scalability testing
• Publically accessible Beta Clouds
• Security Audits
• Coverity / Memory profiling
18
© 2012 Eucalyptus Systems, Inc.
Eucalyptus 3.1
• Open Source of 3.0
• New platform support
– VMWare 5, Ubuntu 12.04 (Precise), CentOS 6
• Continued platform support
– RHEL 5/6, CentOS 5, Ubuntu 10.04 (Lucid), VMWare 4.1
• New method of working
– In the open
• FastStart
• EuStore
• Documentation improvements
– PDF, HTML, Open sourced, ease of input
– Best Practice guides, Getting Started Guide
19
© 2012 Eucalyptus Systems, Inc.
Eucalyptus 3.1 – Repo Structure
20
© 2012 Eucalyptus Systems, Inc.
What does the future hold….
• Eucalyptus 3.2 (Q4)
– Feature release
– Possibilities
• ELB, Cloudwatch, Autoscaling, Instance Tags, EMC SAN, Management Console, Ease of use improvements
• Eucalyptus 4 in 2013 and Eucalyptus 5 in 2014
– Application features -> services and API
– Operational features -> ease of use, maintenance, performance
• Please help! – tell us what Eucalyptus needs and when it needs it
21
© 2012 Eucalyptus Systems, Inc.
Thanks!
Questions?
22