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
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
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
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
Trip to germany, only had pictures of me and beer
Love to codeLove to talk about code
Quick intro to what we’re talking about…
It’s not REALLY in the cloud.
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)
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
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)
30 sites, nosingle repository for RackersThis leads to inconsistent answers to customersLearning curve for new Racker is large