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

PDF
Ceph with CloudStack
PDF
Adventures in Research
PDF
Wido den hollander cloud stack and ceph
PDF
Ceph for Storing MeerKAT Radio Telescope Data
PPTX
Using the KVMhypervisor in CloudStack
PDF
Ansible and CloudStack
PPTX
CloudStack EU user group - Trillian
PPTX
Introduction and CloudStack news
Ceph with CloudStack
Adventures in Research
Wido den hollander cloud stack and ceph
Ceph for Storing MeerKAT Radio Telescope Data
Using the KVMhypervisor in CloudStack
Ansible and CloudStack
CloudStack EU user group - Trillian
Introduction and CloudStack news

What's hot (20)

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

Similar to It's in the cloud (20)

PPTX
What are clouds made from
PDF
Be a Cloud Native
PDF
DeveloperWeek 2014
PPTX
Solve the Cross-Cloud Conundrum with jclouds
PPTX
Software Development kits
PDF
Accion Labs - Rackspace - How can cloud help you?
PDF
China user group keynote
PDF
Open Source Cloud Computing: Practical Solutions For Your Online Presence (PDF)
ODP
Open Source Cloud Computing: Practical Solutions For Your Online Presence (ODP)
PPTX
Ohio LinuxFest: Crash Course in Open Source Cloud Computing
PDF
Leveraging the Power of the Cloud for Your Business to Grow: Nate Taylor at S...
PPTX
FLUX - Crash Course in Cloud 2.0
PPTX
What is cloud computing
PPTX
jclouds Support Training
PPT
Managing Software from Development to Deployment in the Cloud
PPT
Cloud Computing basic
PPTX
Cloud Technology Stack Comparison (OpenStack) - Cloud Connect Chicago 2012
PPTX
Linuxcon 2011 Crash Course in Open Source Cloud Computing
PDF
OpenStack & Ubuntu (india openstack day)
PDF
Openstack in action2 canonical - openstack cloud on ubuntu it is happening ...
What are clouds made from
Be a Cloud Native
DeveloperWeek 2014
Solve the Cross-Cloud Conundrum with jclouds
Software Development kits
Accion Labs - Rackspace - How can cloud help you?
China user group keynote
Open Source Cloud Computing: Practical Solutions For Your Online Presence (PDF)
Open Source Cloud Computing: Practical Solutions For Your Online Presence (ODP)
Ohio LinuxFest: Crash Course in Open Source Cloud Computing
Leveraging the Power of the Cloud for Your Business to Grow: Nate Taylor at S...
FLUX - Crash Course in Cloud 2.0
What is cloud computing
jclouds Support Training
Managing Software from Development to Deployment in the Cloud
Cloud Computing basic
Cloud Technology Stack Comparison (OpenStack) - Cloud Connect Chicago 2012
Linuxcon 2011 Crash Course in Open Source Cloud Computing
OpenStack & Ubuntu (india openstack day)
Openstack in action2 canonical - openstack cloud on ubuntu it is happening ...
Ad

Recently uploaded (20)

PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PPT
What is a Computer? Input Devices /output devices
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Flame analysis and combustion estimation using large language and vision assi...
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Getting started with AI Agents and Multi-Agent Systems
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
Configure Apache Mutual Authentication
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PPTX
Chapter 5: Probability Theory and Statistics
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
Developing a website for English-speaking practice to English as a foreign la...
Custom Battery Pack Design Considerations for Performance and Safety
Hindi spoken digit analysis for native and non-native speakers
Consumable AI The What, Why & How for Small Teams.pdf
What is a Computer? Input Devices /output devices
Zenith AI: Advanced Artificial Intelligence
sbt 2.0: go big (Scala Days 2025 edition)
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Flame analysis and combustion estimation using large language and vision assi...
Convolutional neural network based encoder-decoder for efficient real-time ob...
Credit Without Borders: AI and Financial Inclusion in Bangladesh
A contest of sentiment analysis: k-nearest neighbor versus neural network
Getting started with AI Agents and Multi-Agent Systems
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
A comparative study of natural language inference in Swahili using monolingua...
Configure Apache Mutual Authentication
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Chapter 5: Probability Theory and Statistics

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

  • #3: Trip to germany, only had pictures of me and beer 
  • #4: Love to codeLove to talk about code
  • #5: Quick intro to what we’re talking about…
  • #7: It’s not REALLY in the cloud.
  • #8: 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)
  • #10: 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
  • #12: 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)
  • #19: 30 sites, nosingle repository for RackersThis leads to inconsistent answers to customersLearning curve for new Racker is large
  • #20: Not yet published