22
© 2012 Eucalyptus Systems, Inc. Eucalyptus 3 and beyond! Tim Cramer VP, Engineering April 25, 2012

Tim Cramer, Eucaday

Embed Size (px)

DESCRIPTION

Tim Cramer, VP Engineering at Eucalyptus, talks about Eucalyptus architecture at EucaDay, 25 April 2012.

Citation preview

Page 1: Tim Cramer, Eucaday

© 2012 Eucalyptus Systems, Inc.

Eucalyptus 3

and beyond!

Tim Cramer

VP, Engineering

April 25, 2012

Page 2: Tim Cramer, Eucaday

© 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

Page 3: Tim Cramer, Eucaday

© 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

Page 4: Tim Cramer, Eucaday

© 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

Page 5: Tim Cramer, Eucaday

© 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

Page 6: Tim Cramer, Eucaday

© 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

Page 7: Tim Cramer, Eucaday

© 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

Page 8: Tim Cramer, Eucaday

© 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

Page 9: Tim Cramer, Eucaday

© 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

Page 10: Tim Cramer, Eucaday

© 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

Page 11: Tim Cramer, Eucaday

© 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

Page 12: Tim Cramer, Eucaday

© 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

Page 13: Tim Cramer, Eucaday

© 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

Page 14: Tim Cramer, Eucaday

© 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

Page 15: Tim Cramer, Eucaday

© 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

Page 16: Tim Cramer, Eucaday

© 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

Page 17: Tim Cramer, Eucaday

© 2012 Eucalyptus Systems, Inc. 17

Page 18: Tim Cramer, Eucaday

© 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

Page 19: Tim Cramer, Eucaday

© 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

Page 20: Tim Cramer, Eucaday

© 2012 Eucalyptus Systems, Inc.

Eucalyptus 3.1 – Repo Structure

20

Page 21: Tim Cramer, Eucaday

© 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