GoGrid API - Presented at Cloud Connect Event 2010
 

GoGrid API - Presented at Cloud Connect Event 2010

on

  • 2,403 views

This presentation was given by Justin Kitagawa (GoGrid's Lead Senior Software Engineer) at the Cloud Connect Event 2010 as part of a panel "Writing Code for Many Clouds". Video of the presentation is ...

This presentation was given by Justin Kitagawa (GoGrid's Lead Senior Software Engineer) at the Cloud Connect Event 2010 as part of a panel "Writing Code for Many Clouds". Video of the presentation is located at: http://blog.gogrid.com/?p=1807
The presentation provides an overview of GoGrid's API.

Statistics

Views

Total Views
2,403
Views on SlideShare
2,252
Embed Views
151

Actions

Likes
0
Downloads
40
Comments
1

3 Embeds 151

http://blog.gogrid.com 145
http://www.slideshare.net 5
http://forums.gogrid.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Find coupons for your hosting. Get a promo deal before you purchase hosting http://vpsnet.wordpress.com/2010/05/03/vps-net-review/
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    GoGrid API - Presented at Cloud Connect Event 2010 GoGrid API - Presented at Cloud Connect Event 2010 Presentation Transcript

    • API Control the Cloud Justin Kitagawa
    • Control the Cloud
      • Who and What are we?
      • GoGrid is a global leader in hybrid cloud infrastructure
      • We provide cloud datacenters where customers pay on demand for infrastructure that they use
      • Our infrastructure consists of inter-connected servers, load balancers, firewalls, network, and storage
      • Cloud Computing = Completely Outsourced IT Infrastructure
    • All possible through GoGrid’s portal… and…
    • GoGrid’s API
      • HTTP Rest-Like Query API
      • https://api.gogrid.com
      • Easy to use stateless API using HTTP GET and POST Requests
      • Language agnostic
      • Every API request is a
      • combination of
      • an action (verb) and an object (noun)
      • Examples:
      • Add Server
      • List Load Balancer
    • Anatomy of a GoGrid API Call
    • Common API Request Parameters
    • Sample API Request https://api.gogrid.com/api/grid/server/add   ?name=My+First+Server &image= centos53_64_none &ram= 8GB &ip= 192.200.10.101 &api_key=SK1mndkKSjsALKSExdsj30 &sig=Lsmdfj3kw99sdklnasdkjhds &v=1.4 API request adds an 8GB CentOS Linux virtual server accessible at a public ip of 192.200.10.101
    • Sample Code #!/bin/bash APIKEY=a43c234fb2343064 SECRET=password GTIME=`date +%s` SERVER='https://api.gogrid.com/api' VERSION='1.4' FORMAT=json METHOD='/grid/server/list?' function getMD5sum { HASH=$1$2$3 SIG=`echo -n $HASH | md5sum | cut -d' ' -f1` } function buildBaseURL { #without array, cleaner in bash URL="$1$2&sig=$3&format=$4&v=$5&api_key=$6" } function getURL { # have curl fail silently and spit out error code to STDERR curl -f $1 } # Get to work getMD5sum $APIKEY $SECRET $GTIME buildBaseURL $SERVER $METHOD $SIG $FORMAT $VERSION $APIKEY getURL $URL
    • Objects server image loadbalancer ip password job Actions add edit delete list get
    • Challenges
      • Keeping it Simple (KISS)
        • SOAP vs REST vs HTTP
        • Consistent Terminology (Common Actions/Verbs)
        • Liberal Inputs > Conservative Output
        • Flexibility
      • Versioning / Backward Compatibility
        • Rules:
          • Only add attributes to objects
          • Never remove attributes to objects
          • Never remove parameters from API request calls
        • Test harnesses to test regressions
    • Who is this all for?
      • Who here wants to leverage cloud infrastructure to improve the efficiency of their engineering team’s development, staging, or production systems?
      YOU!
    • For More Information
      • Website – www.GoGrid.com
      • Wiki – wiki.gogrid.com
      • Blog – blog.GoGrid.com
      • Twitter - @GoGrid
      • Facebook – www.facebook.com/gogrid