Cloudstack interfaces to EC2 and GCE

Post on 18-Nov-2014

908 views 1 download

description

Sebastiens talk on Cloudstack interfaces to EC2 and GCE

Transcript of Cloudstack interfaces to EC2 and GCE

Sebastien Goasguen,

@sebgoa

AWS and GCE interface

ReminderCloudStack Collaboration Conference:

Vegas, Santa-Clara, Amsterdam

Denver April 9-11th.

Rumors of CCC EU in November in Budapest

Events

Get Involved with Apache CloudStack

Web: http://cloudstack.apache.org/

Mailing Lists: cloudstack.apache.org/mailing-lists.html

IRC:  irc.freenode.net: 6667 #cloudstack #cloudstack-dev

Twitter:  @cloudstack

LinkedIn: www.linkedin.com/groups/CloudStack-Users-Group-3144859

If it didn’t happen on the mailing list, it didn’t happen.

Drag picture to placeholder or click icon to add

Ecosystem and API …

AWS and GCE interface

Ecosystem

Contributing to Apache CloudStack

API

Interfaces and standards

Drag picture to placeholder or click icon to add

GCE Interface

GCE

December 2nd 2013, GCE became Generally Available

https://cloud.google.com/events/google-cloud-platform-live/

gstack

Example$ ./gcutil --cached_flags_file=~/.gcutil_params --project=ian@ianduffy.ie listmachinetypes

Items in zone/CH-GV2:

+-------------+--------------------------+--------+------+-----------+----------------------+---------+----------------------+-------------+| name | description | zone | cpus | memory-mb | scratch-disk-size-gb | max-pds | max-total-pd-size-gb | deprecation |+-------------+--------------------------+--------+------+-----------+----------------------+---------+----------------------+-------------+| Micro | Micro 512mb 1cpu | CH-GV2 | 1 | 512 | | | | || Tiny | Tiny 1024mb 1cpu | CH-GV2 | 1 | 1024 | | | | || Small | Small 2048mb 2cpu | CH-GV2 | 2 | 2048 | | | | |

Example$ ./gcutil --cached_flags_file=~/.gcutil_params --project=ian@ianduffy.ie addfirewall ssh --allowed=tcp:22

$ ./gcutil --cached_flags_file=~/.gcutil_params --project=ian@ianduffy.ie getfirewall ssh

Example

$ ./gcutil --cached_flags_file=~/.gcutil_params --project=ian@ianduffy.ie addinstance foobarSelecting the only available zone: CH-GV21: Extra-large Extra-large 16384mb 4cpu2: Huge Huge 32184mb 8cpu3: Large Large 8192mb 4cpu4: Medium Medium 4096mb 2cpu5: Micro Micro 512mb 1cpu6: Small Small 2048mb 2cpu7: Tiny Tiny 1024mb 1cpu

Example$ ./gcutil --cached_flags_file=~/.gcutil_params --project=ian@ianduffy.ie listinstances

Items in zone/CH-GV2:

+--------+--------------+-------------------------+--------+---------+---------------+---------------+-------+--------+---------+----------------+| name | machine-type | image | kernel | network | network-ip | external-ip | disks | zone | status | status-message |+--------+--------------+-------------------------+--------+---------+---------------+---------------+-------+--------+---------+----------------+| foobar | Micro | Linux CentOS 6.4 64-bit | | default | 185.19.28.146 | 185.19.28.146 | | CH-GV2 | RUNNING | |+--------+--------------+-------------------------+--------+---------+---------------+---------------+-------+--------+---------+----------------+

Drag picture to placeholder or click icon to add

AWS Interface

Native AWS interface

• EC2 really

• Java application with axis

$service cloudstack-awsapi start

Bit of a pain for packaging and build

Aim

• Remove AWSAPI• Simplify packaging and build

• Have an interface easier to maintain and extend

• Add other services in addition to EC2

http://buildacloud.org/blog/321-new-ec2-interface-to-cloudstack.html

ec2stack

API coverage…33%def _get_action(action): actions = { 'AttachVolume': volumes.attach_volume, 'AuthorizeSecurityGroupEgress': security_groups.authenticate_security_group_egress, 'AuthorizeSecurityGroupIngress': security_groups.authenticate_security_group_ingress, 'CreateKeyPair': keypairs.create_keypair, 'CreateSecurityGroup': security_groups.create_security_group, 'CreateVolume': volumes.create_volume, 'DeleteKeyPair': keypairs.delete_keypair, 'DeleteSecurityGroup': security_groups.delete_security_group, 'DeleteVolume': volumes.delete_volume, 'DescribeAvailabilityZones': zones.describe_zones, 'DescribeImageAttribute': images.describe_image_attribute, 'DescribeImages': images.describe_images, 'DescribeInstanceAttribute': instances.describe_instance_attribute, 'DescribeInstances': instances.describe_instances, 'DescribeKeyPairs': keypairs.describe_keypairs,

Usage

$aws ec2 describe-images --endpoint=http://localhost:5000

$aws ec2 describe-key-pairs --endpoint=http://localhost:5000

$aws ec2 create-key-pair --endpoint=http://localhost:5000 --key-name=test

AWS Cloud Formation

Drag picture to placeholder or click icon to add

Conclusions

Conclusions

• CloudStack API rocks• Ecosystem is vibrant

If you want hybrid cloud check:

• GCE interface • AWS interface• Expect better API coverage by this summer.

Insert Presentation Title Here