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

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 experienceShapeBlue
 
CloudStack Container Service
CloudStack Container ServiceCloudStack Container Service
CloudStack Container ServiceShapeBlue
 
CloudStack and testing
CloudStack and testingCloudStack and testing
CloudStack and testingShapeBlue
 
CloudStack IPv6 in production
CloudStack IPv6 in productionCloudStack IPv6 in production
CloudStack IPv6 in productionShapeBlue
 
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 cloudShapeBlue
 
[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 LanguageBallerinalang
 
Improving CloudStack for operators
Improving CloudStack for operatorsImproving CloudStack for operators
Improving CloudStack for operatorsShapeBlue
 
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
 
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...OpenNebula Project
 
CentOS and OpenNebula, a Perfect Match
CentOS and OpenNebula, a Perfect MatchCentOS and OpenNebula, a Perfect Match
CentOS and OpenNebula, a Perfect MatchNETWAYS
 
Securing your Cloud Environment v2
Securing your Cloud Environment v2Securing your Cloud Environment v2
Securing your Cloud Environment v2ShapeBlue
 
Network Functions Virtualization and CloudStack
Network Functions Virtualization and CloudStackNetwork Functions Virtualization and CloudStack
Network Functions Virtualization and CloudStackChiradeep Vittal
 
Introduction and news
Introduction and newsIntroduction and news
Introduction and newsShapeBlue
 
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...DynamicInfraDays
 
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 CDNsSalesforce Developers
 
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 PlatformDataStax Academy
 
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...Claus Ibsen
 
CloudStack EU user group - CloudStack news
CloudStack EU user group - CloudStack newsCloudStack EU user group - CloudStack news
CloudStack EU user group - CloudStack newsShapeBlue
 
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 ...Severalnines
 
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. ClusterControlSeveralnines
 

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.pptxOpenStack Foundation
 
Intro to OpenStack - WAJUG
Intro to OpenStack - WAJUGIntro to OpenStack - WAJUG
Intro to OpenStack - WAJUGKevin Jackson
 
Software Development kits
Software Development kitsSoftware Development kits
Software Development kitsEverett 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 2013Joe Breu
 
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 2012Wayne Walls
 
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 openstackpittmantony
 
jclouds Support Training
jclouds Support Trainingjclouds Support Training
jclouds Support TrainingEverett Toews
 
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 PanelRackspace
 
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 jcloudsEverett Toews
 
Containers and CloudStack
Containers and CloudStackContainers and CloudStack
Containers and CloudStackShapeBlue
 
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 2012Matt Tesauro
 
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 CloudStackShapeBlue
 
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 CloudRackspace Asia
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and dockerShapeBlue
 
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 PaaSEvanKrall
 
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 PaaSDocker, Inc.
 
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 DBOliver Lockwood
 
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 vCOPSVMworld
 

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

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

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