Cloudstack interfaces to EC2 and GCE
-
Upload
shape-blue -
Category
Technology
-
view
908 -
download
1
description
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 [email protected] 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 [email protected] addfirewall ssh --allowed=tcp:22
$ ./gcutil --cached_flags_file=~/.gcutil_params [email protected] getfirewall ssh
Example
$ ./gcutil --cached_flags_file=~/.gcutil_params [email protected] 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 [email protected] 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