SlideShare a Scribd company logo
1 of 30
It’s in the cloud!

Provisioning and how the (pkg)cloud can help

Ken Perkins
Developer Advocate
@kenperkins
About Me
mmmmm….. Beer….

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

2
About Me
•

Beer!

•

Joined Rackspace March 2013

•

1st engineering hire at clipboard.com; Acquired by Salesforce.com May
2013; 120k users; node.js based

•

Core committer for pkgcloud; 5th most commits; most in last year.

•

I kind of have a sports addiction…

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

3
Overview
•

What is the cloud really? APIs on Datacenters!

•

Why provisioning for the cloud?

•

APIs are awesome, but writing your own wrapper sucks

•

Why do you care? I can get a 32gb server for €49/mo...

•

Pkgcloud use cases & capabilities

•

Why did Rackspace hire my to work on this anyway?

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

4
What is the “cloud”

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

5
It’s in the cloud!

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

6
What is the cloud anyway?
•

Datacenters & Applications with APIs

•

Infrastructure-as-a-service
• Compute, DNS, storage, load balancing, databases, email,
orchestration, & more, all highly available

•

On demand resource creation

•

“Web-scale”

•

If you build it, they will come

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

7
Provisioning for the cloud

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

8
Provisioning for the cloud
•

On-Demand Environments

•

A/B Deployment

•

Integration with Orchestration

•

Continuous Integration/Continuous Deployment

•

DRY – Don‟t Repeat Yourself applies to infrastructure too!
• From dev (maybe using vagrant?) to production

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

9
Writing your own API wrapper sucks

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

10
Writing your own API wrapper sucks
•

But, but, require(„request‟) makes it so easy

•

Maintenance hell. Just add another feature…

•

It‟s cool, I can open-source my wrapper

•

Idiosyncrasies of the API

•

It‟s all about priorities
• Spend your time on stuff only you know: Your Product and Your App.

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

11
But, Dedicated Servers!

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

12
But Dedicated Servers are Cheap!
•

Limited capacity

•

Provisioning lead time

•

Not truly on demand

•

Shifts control away from the developer

•

$50/mo for cloud only gets you a 1-2gb server :S

•

Sometimes both is a winning strategy too

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

13
About pkgcloud

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

14
About pkgcloud
•

Multi-Cloud provisioning package for node.js

•

Created by Nodejitsu Dec 2011

•

Born out of node-cloudservers npm package from Nodejitsu

•

Users include Rackspace (Cloud Monitoring), Bloomberg, Nodejitsu,
Advanced Simulation Technology (Rossk), among hundreds of others

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

15
Why pkgcloud?
•

Single convention, multiple clouds

•

Uniform vocabulary

•

Abstract out peculiarities of individual providers and APIs

•

Node is great for command line tools too!

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

16
What is multi-cloud anyway?

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

17
What is multi-cloud?
•

Current Providers:
• Amazon, Azure, Digital Ocean, Joyent, Openstack, Rackspace

•

Generalized models across providers
• i.e. every compute provider has:
client.createServer(options, function(err, server) { ... });

•

Code is mostly portable (options signature for example)

•

Caveat emptor

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

18
Multi-Service
•

Compute
• AWS, Azure, Rackspace, Openstack, Joyent, DigitalOcean, Telefonica

•

Storage
• AWS, Rackspace

•

Database
• Rackspace, Azure, IrisCouch, MongoHq, MongoLab, Redistogo

•

DNS
• Rackspace

•

BlockStorage
• Rackspace*

•

Load Balancing
• Rackspace*

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

19
Example 1
Using pkgcloud with CloudFiles
Code @ http://j.mp/pkgcloud-cf

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

20
Example 2
Using pkgcloud with CloudServers
Code @ http://j.mp/pkgcloud-cs

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

21
Why is Rackspace involved?

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

22
Why is Rackspace involved?
•

We created OpenStack, and then gave it away!

•

We‟re all about community

•

Developer Advocates for PHP, Java, .Net, golang, Ruby, Python, node.js

•

We already have core committers on jClouds, Fog, libcloud, among others

•

We‟d rather engage and interface with existing open-source communities
than try to fragment them

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

23
What’s Next?

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

24
The Future…

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

25
The Future
•

Need to add more implementations of providers within services (i.e. make them truly
multi-cloud)

•

Refactor Databases entirely

•

More services (queuing, autoscale, orchestration, email, etc)

•

Command Line tools (rossk!)

•

…

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

26
Takeaways
• Design for the cloud from the start
• Focus on work only you and your team can do; not writing
API wrappers

• Put more control in the hands of you and your developers

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

27
Further Info
• Github:
– http://github.com/nodejitsu/pkgcloud
• IRC
– #pkgcloud on freenode
• Website:
http://developer.rackspace.com/devtrial
• Contact info:
ken.perkins@rackspace.com
Twitter: @kenperkins

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

28
Q&A

RACKSPACE® HOSTING

|

WWW.RACKSPACE.COM

29
RACKSPACE® HOSTING
US SALES: 1-800-961-2888
RACKSPACE® HOSTING

|

© RACKSPACE US, INC.

|

|

|

5000 WALZEM ROAD

|

US SUPPORT: 1-800-961-4454

SAN ANTONIO, TX 78218
|

WWW.RACKSPACE.COM

RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN TH E UNITED STATES AND OTHER COUNTRIES.

|

WWW.RACKSPACE.COM

30

More Related Content

What's hot

OpenStack in Action 4! Vincent Untz - Running multiple hypervisors in your Op...
OpenStack in Action 4! Vincent Untz - Running multiple hypervisors in your Op...OpenStack in Action 4! Vincent Untz - Running multiple hypervisors in your Op...
OpenStack in Action 4! Vincent Untz - Running multiple hypervisors in your Op...
eNovance
 

What's hot (20)

Boyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceBoyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experience
 
CloudStack Container Service
CloudStack Container ServiceCloudStack Container Service
CloudStack Container Service
 
CloudStack and testing
CloudStack and testingCloudStack and testing
CloudStack and testing
 
CloudStack IPv6 in production
CloudStack IPv6 in productionCloudStack IPv6 in production
CloudStack IPv6 in production
 
Cloudstack: the best kept secret in the cloud
Cloudstack: the best kept secret in the cloudCloudstack: the best kept secret in the cloud
Cloudstack: the best kept secret in the cloud
 
[GID Live] Open-Source Cloud-Native Programming Language
[GID Live] Open-Source Cloud-Native Programming Language[GID Live] Open-Source Cloud-Native Programming Language
[GID Live] Open-Source Cloud-Native Programming Language
 
Improving CloudStack for operators
Improving CloudStack for operatorsImproving CloudStack for operators
Improving CloudStack for operators
 
OpenStack in Action 4! Vincent Untz - Running multiple hypervisors in your Op...
OpenStack in Action 4! Vincent Untz - Running multiple hypervisors in your Op...OpenStack in Action 4! Vincent Untz - Running multiple hypervisors in your Op...
OpenStack in Action 4! Vincent Untz - Running multiple hypervisors in your Op...
 
OpenNebulaConf2015 1.06 Fermilab Virtual Facility: Data-Intensive Computing i...
OpenNebulaConf2015 1.06 Fermilab Virtual Facility: Data-Intensive Computing i...OpenNebulaConf2015 1.06 Fermilab Virtual Facility: Data-Intensive Computing i...
OpenNebulaConf2015 1.06 Fermilab Virtual Facility: Data-Intensive Computing i...
 
CentOS and OpenNebula, a Perfect Match
CentOS and OpenNebula, a Perfect MatchCentOS and OpenNebula, a Perfect Match
CentOS and OpenNebula, a Perfect Match
 
Securing your Cloud Environment v2
Securing your Cloud Environment v2Securing your Cloud Environment v2
Securing your Cloud Environment v2
 
Network Functions Virtualization and CloudStack
Network Functions Virtualization and CloudStackNetwork Functions Virtualization and CloudStack
Network Functions Virtualization and CloudStack
 
Introduction and news
Introduction and newsIntroduction and news
Introduction and news
 
ContainerDays NYC 2016: "From Hello World to Real World: Building a Productio...
ContainerDays NYC 2016: "From Hello World to Real World: Building a Productio...ContainerDays NYC 2016: "From Hello World to Real World: Building a Productio...
ContainerDays NYC 2016: "From Hello World to Real World: Building a Productio...
 
Extending Your Applications to the Edge with CDNs
Extending Your Applications to the Edge with CDNsExtending Your Applications to the Edge with CDNs
Extending Your Applications to the Edge with CDNs
 
Large Scale Data Analytics with Spark and Cassandra on the DSE Platform
Large Scale Data Analytics with Spark and Cassandra on the DSE PlatformLarge Scale Data Analytics with Spark and Cassandra on the DSE Platform
Large Scale Data Analytics with Spark and Cassandra on the DSE Platform
 
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
 
CloudStack EU user group - CloudStack news
CloudStack EU user group - CloudStack newsCloudStack EU user group - CloudStack news
CloudStack EU user group - CloudStack news
 
MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
 
Automating and Managing MongoDB: An Analysis of Ops Manager vs. ClusterControl
Automating and Managing MongoDB: An Analysis of Ops Manager vs. ClusterControlAutomating and Managing MongoDB: An Analysis of Ops Manager vs. ClusterControl
Automating and Managing MongoDB: An Analysis of Ops Manager vs. ClusterControl
 

Similar to It's in the cloud

Control the Clouds - Developer Experience with jclouds.pptx
Control the Clouds - Developer Experience with jclouds.pptxControl the Clouds - Developer Experience with jclouds.pptx
Control the Clouds - Developer Experience with jclouds.pptx
OpenStack Foundation
 
Intro to OpenStack - WAJUG
Intro to OpenStack - WAJUGIntro to OpenStack - WAJUG
Intro to OpenStack - WAJUG
Kevin Jackson
 
Software Development kits
Software Development kitsSoftware Development kits
Software Development kits
Everett Toews
 
Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013
Joe Breu
 
jclouds Support Training
jclouds Support Trainingjclouds Support Training
jclouds Support Training
Everett Toews
 
Solve the Cross-Cloud Conundrum with jclouds
Solve the Cross-Cloud Conundrum with jcloudsSolve the Cross-Cloud Conundrum with jclouds
Solve the Cross-Cloud Conundrum with jclouds
Everett Toews
 

Similar to It's in the cloud (20)

Control the Clouds - Developer Experience with jclouds.pptx
Control the Clouds - Developer Experience with jclouds.pptxControl the Clouds - Developer Experience with jclouds.pptx
Control the Clouds - Developer Experience with jclouds.pptx
 
DeveloperWeek 2014
DeveloperWeek 2014DeveloperWeek 2014
DeveloperWeek 2014
 
Intro to OpenStack - WAJUG
Intro to OpenStack - WAJUGIntro to OpenStack - WAJUG
Intro to OpenStack - WAJUG
 
Software Development kits
Software Development kitsSoftware Development kits
Software Development kits
 
Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013Rackspace Private Cloud presentation for ChefConf 2013
Rackspace Private Cloud presentation for ChefConf 2013
 
Cloud Technology Stack Comparison (OpenStack) - Cloud Connect Chicago 2012
Cloud Technology Stack Comparison (OpenStack) - Cloud Connect Chicago 2012Cloud Technology Stack Comparison (OpenStack) - Cloud Connect Chicago 2012
Cloud Technology Stack Comparison (OpenStack) - Cloud Connect Chicago 2012
 
SM16 - Can i move my stuff to openstack
SM16 - Can i move my stuff to openstackSM16 - Can i move my stuff to openstack
SM16 - Can i move my stuff to openstack
 
jclouds workshop
jclouds workshopjclouds workshop
jclouds workshop
 
jclouds Support Training
jclouds Support Trainingjclouds Support Training
jclouds Support Training
 
Behind The Scenes: New Rackspace Cloud Control Panel
Behind The Scenes:  New Rackspace Cloud Control PanelBehind The Scenes:  New Rackspace Cloud Control Panel
Behind The Scenes: New Rackspace Cloud Control Panel
 
Solve the Cross-Cloud Conundrum with jclouds
Solve the Cross-Cloud Conundrum with jcloudsSolve the Cross-Cloud Conundrum with jclouds
Solve the Cross-Cloud Conundrum with jclouds
 
Containers and CloudStack
Containers and CloudStackContainers and CloudStack
Containers and CloudStack
 
DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012
DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012
DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012
 
Wido den Hollander - building highly available cloud with Ceph and CloudStack
Wido den Hollander - building highly available cloud with Ceph and CloudStackWido den Hollander - building highly available cloud with Ceph and CloudStack
Wido den Hollander - building highly available cloud with Ceph and CloudStack
 
On Metal - The Future Of Hybrid Cloud
On Metal - The Future Of Hybrid CloudOn Metal - The Future Of Hybrid Cloud
On Metal - The Future Of Hybrid Cloud
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and docker
 
The Glue is the Hard Part: Making a Production-Ready PaaS
The Glue is the Hard Part: Making a Production-Ready PaaSThe Glue is the Hard Part: Making a Production-Ready PaaS
The Glue is the Hard Part: Making a Production-Ready PaaS
 
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaSDockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
 
Apache Cassandra: building a production app on an eventually-consistent DB
Apache Cassandra: building a production app on an eventually-consistent DBApache Cassandra: building a production app on an eventually-consistent DB
Apache Cassandra: building a production app on an eventually-consistent DB
 
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPSVMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

It's in the cloud

  • 1. It’s in the cloud! Provisioning and how the (pkg)cloud can help Ken Perkins Developer Advocate @kenperkins
  • 2. About Me mmmmm….. Beer…. RACKSPACE® HOSTING | WWW.RACKSPACE.COM 2
  • 3. About Me • Beer! • Joined Rackspace March 2013 • 1st engineering hire at clipboard.com; Acquired by Salesforce.com May 2013; 120k users; node.js based • Core committer for pkgcloud; 5th most commits; most in last year. • I kind of have a sports addiction… RACKSPACE® HOSTING | WWW.RACKSPACE.COM 3
  • 4. Overview • What is the cloud really? APIs on Datacenters! • Why provisioning for the cloud? • APIs are awesome, but writing your own wrapper sucks • Why do you care? I can get a 32gb server for €49/mo... • Pkgcloud use cases & capabilities • Why did Rackspace hire my to work on this anyway? RACKSPACE® HOSTING | WWW.RACKSPACE.COM 4
  • 5. What is the “cloud” RACKSPACE® HOSTING | WWW.RACKSPACE.COM 5
  • 6. It’s in the cloud! RACKSPACE® HOSTING | WWW.RACKSPACE.COM 6
  • 7. What is the cloud anyway? • Datacenters & Applications with APIs • Infrastructure-as-a-service • Compute, DNS, storage, load balancing, databases, email, orchestration, & more, all highly available • On demand resource creation • “Web-scale” • If you build it, they will come RACKSPACE® HOSTING | WWW.RACKSPACE.COM 7
  • 8. Provisioning for the cloud RACKSPACE® HOSTING | WWW.RACKSPACE.COM 8
  • 9. Provisioning for the cloud • On-Demand Environments • A/B Deployment • Integration with Orchestration • Continuous Integration/Continuous Deployment • DRY – Don‟t Repeat Yourself applies to infrastructure too! • From dev (maybe using vagrant?) to production RACKSPACE® HOSTING | WWW.RACKSPACE.COM 9
  • 10. Writing your own API wrapper sucks RACKSPACE® HOSTING | WWW.RACKSPACE.COM 10
  • 11. Writing your own API wrapper sucks • But, but, require(„request‟) makes it so easy • Maintenance hell. Just add another feature… • It‟s cool, I can open-source my wrapper • Idiosyncrasies of the API • It‟s all about priorities • Spend your time on stuff only you know: Your Product and Your App. RACKSPACE® HOSTING | WWW.RACKSPACE.COM 11
  • 12. But, Dedicated Servers! RACKSPACE® HOSTING | WWW.RACKSPACE.COM 12
  • 13. But Dedicated Servers are Cheap! • Limited capacity • Provisioning lead time • Not truly on demand • Shifts control away from the developer • $50/mo for cloud only gets you a 1-2gb server :S • Sometimes both is a winning strategy too RACKSPACE® HOSTING | WWW.RACKSPACE.COM 13
  • 15. About pkgcloud • Multi-Cloud provisioning package for node.js • Created by Nodejitsu Dec 2011 • Born out of node-cloudservers npm package from Nodejitsu • Users include Rackspace (Cloud Monitoring), Bloomberg, Nodejitsu, Advanced Simulation Technology (Rossk), among hundreds of others RACKSPACE® HOSTING | WWW.RACKSPACE.COM 15
  • 16. Why pkgcloud? • Single convention, multiple clouds • Uniform vocabulary • Abstract out peculiarities of individual providers and APIs • Node is great for command line tools too! RACKSPACE® HOSTING | WWW.RACKSPACE.COM 16
  • 17. What is multi-cloud anyway? RACKSPACE® HOSTING | WWW.RACKSPACE.COM 17
  • 18. What is multi-cloud? • Current Providers: • Amazon, Azure, Digital Ocean, Joyent, Openstack, Rackspace • Generalized models across providers • i.e. every compute provider has: client.createServer(options, function(err, server) { ... }); • Code is mostly portable (options signature for example) • Caveat emptor RACKSPACE® HOSTING | WWW.RACKSPACE.COM 18
  • 19. Multi-Service • Compute • AWS, Azure, Rackspace, Openstack, Joyent, DigitalOcean, Telefonica • Storage • AWS, Rackspace • Database • Rackspace, Azure, IrisCouch, MongoHq, MongoLab, Redistogo • DNS • Rackspace • BlockStorage • Rackspace* • Load Balancing • Rackspace* RACKSPACE® HOSTING | WWW.RACKSPACE.COM 19
  • 20. Example 1 Using pkgcloud with CloudFiles Code @ http://j.mp/pkgcloud-cf RACKSPACE® HOSTING | WWW.RACKSPACE.COM 20
  • 21. Example 2 Using pkgcloud with CloudServers Code @ http://j.mp/pkgcloud-cs RACKSPACE® HOSTING | WWW.RACKSPACE.COM 21
  • 22. Why is Rackspace involved? RACKSPACE® HOSTING | WWW.RACKSPACE.COM 22
  • 23. Why is Rackspace involved? • We created OpenStack, and then gave it away! • We‟re all about community • Developer Advocates for PHP, Java, .Net, golang, Ruby, Python, node.js • We already have core committers on jClouds, Fog, libcloud, among others • We‟d rather engage and interface with existing open-source communities than try to fragment them RACKSPACE® HOSTING | WWW.RACKSPACE.COM 23
  • 26. The Future • Need to add more implementations of providers within services (i.e. make them truly multi-cloud) • Refactor Databases entirely • More services (queuing, autoscale, orchestration, email, etc) • Command Line tools (rossk!) • … RACKSPACE® HOSTING | WWW.RACKSPACE.COM 26
  • 27. Takeaways • Design for the cloud from the start • Focus on work only you and your team can do; not writing API wrappers • Put more control in the hands of you and your developers RACKSPACE® HOSTING | WWW.RACKSPACE.COM 27
  • 28. Further Info • Github: – http://github.com/nodejitsu/pkgcloud • IRC – #pkgcloud on freenode • Website: http://developer.rackspace.com/devtrial • Contact info: ken.perkins@rackspace.com Twitter: @kenperkins RACKSPACE® HOSTING | WWW.RACKSPACE.COM 28
  • 30. RACKSPACE® HOSTING US SALES: 1-800-961-2888 RACKSPACE® HOSTING | © RACKSPACE US, INC. | | | 5000 WALZEM ROAD | US SUPPORT: 1-800-961-4454 SAN ANTONIO, TX 78218 | WWW.RACKSPACE.COM RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN TH E UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM 30

Editor's Notes

  1. Trip to germany, only had pictures of me and beer 
  2. Love to codeLove to talk about code
  3. Quick intro to what we’re talking about…
  4. It’s not REALLY in the cloud.
  5. Take a datacenter, throw an API on top. Win.Create and tear down environments on a whimRamp up massive capacity at a moments noticeGreat for small start ups and low funded projects through enterprise (think netflix)
  6. The cost of dynamic environments is often so little it’s not worth worrying about. Be careful to make the creation and the decommisioning automatic, as you can easily forget about massive amounts of resources and incur massive costs.Puppet/Chef/Ansible/Salt/Vagrant
  7. Take a datacenter, throw an API on top. Win.Create and tear down environments on a whimRamp up massive capacity at a moments noticeGreat for small start ups and low funded projects through enterprise (think netflix)
  8. 30 sites, nosingle repository for RackersThis leads to inconsistent answers to customersLearning curve for new Racker is large
  9. Not yet published