1. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
BE A CLOUD NATIVE
Q1 2013
Jaret Chiles
Cloud Solutions Architect
Rackspace, The Open Cloud Company
2. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
BE A CLOUD NATIVE
Which workload do I put in the cloud?
Application changes?
What is DevOps?
Should I think about lock-in?
Is my data safe?
Where do I start?
3. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
THE POWER OF THE CLOUD
Programmatically accessible infrastructure
4. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
INFRASTRUCTURE ON DEMAND
Deploy infrastructure when you need it
5. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
INFRASTRUCTURE ON DEMAND
Turn it off when you don’t need it
6. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
MATCH COST TO DEMAND
Shrink the gap with automation
8. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
HYBRID-CLOUD STRATEGIES
Own
the base.
Rent the
peak.
PEAK LOAD
BASE LOAD
9. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
MULTI-CLOUD STRATEGIES
PARTNER DCCUSTOMER SITERACKSPACE LOCATIONS
DEDICATED PUBLIC CLOUD PRIVATE CLOUD PRIVATE CLOUD PUBLIC CLOUD
Rackspace Provides
The Fanatical Support
Write once, deploy anywhere
10. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
A NEW WAY OF THINKING
Virtualization is a TECHNOLOGY…
Cloud Computing is a
BUSINESS MODEL
11. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
WHY IS A MANDATE FOR DEV/OPS IMPORTANT?
Dev + Ops
On the same train
Increased Collaboration
Smarter Applications
Faster Time to Market
12. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
IT DEV/OPS TRANSFORMATION
Communication… Collaboration… Integration
Dev/Ops Org Structure is Driven by Cloud Adoption
Operations:
Deeper Application
Knowledge
Developers:
Understands Code
Impacts Infrastructure
13. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
DESIGNING APPLICATIONS FOR THE CLOUD
• Built for Resilience & Error Tolerance
• Loosely Coupled Components
• Preserved & Recoverable Application State
• Self monitoring, healing and scaling
CLOUD-AWARE
APPLICATION
DEVELOPMENT
15. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
CLOUD SECURITY = AGILE SECURITY
Think Like a
Developer
16. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
SDKs and APIs
DEVELOPER GUIDES & MANAGED SERVICES
Self Service:
http://developer.[provider].com
Managed Services:
Extension of IT team
17. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
CLOUD CONSUMPTION MODELS
Cloud Orchestration API Layer
Software
Development
Kits
Direct API
Interaction
Command
Line Tools
Control
Panels
21. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
EXAMPLE DEPLOYMENT PROCESS OVERVIEW
Tools:
• Nova Command Line Tool (CLI)
• Rackspace Cloud Control Panel (Control Panel)
• Application Programming Interface (API)
Today’s steps:
1) Create a Private Cloud Network (CLI)
2) Deploy 6x 2GB Cloud Web Servers (CLI)
3) Deploy 4x 4GB Cloud App Servers (CLI)
4) Add SSD Block Storage to the App Servers (CLI)
5) Create a public Web Load Balancer (Control Panel)
6) Create a private App Load Balancer (Control Panel)
7) Create MySQL Database Instance (Control Panel)
8) Create Gold Images (Control Panel)
9) Push a static file to Cloud Files for CDN (API)
22. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
NOVA COMMAND LINE – CLOUD NETWORKS
1) Create a private cloud network
nova network-create PrivateNet 192.168.0.0/24
23. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
NOVA COMMAND LINE – CLOUD SERVERS
nova image-list
nova flavor-list
24. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
NOVA COMMAND LINE – CLOUD SERVERS
• nova image-list (Copy desired Image-ID)
• nova flavor-list (Copy desired Flavor-ID)
• nova network-list (Copy desired Network-ID)
2) Deploy six 2GB Ubuntu 12.04 Web Servers sharing PrivateNet
for i in `seq 1 6` ; do nova boot --image 5cebb13a-f783-4f8c-8058-
c4182c724ccd --flavor 4 --nic net-id=b771c94e-5cfe-43c1-a8be-
486451d3ca74 Web$i; done
3) Deploy four 4GB Ubuntu 12.04 App Servers sharing PrivateNet
for i in `seq 1 4` ; do nova boot --image 5cebb13a-f783-4f8c-8058-
c4182c724ccd --flavor 5 --nic net-id=b771c94e-5cfe-43c1-a8be-
486451d3ca74 App$i; done
25. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
NOVA COMMAND LINE – CLOUD SERVERS
nova list
27. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
NOVA COMMAND LINE – CLOUD BLOCK STORAGE
4) Deploy four 100MB SSD Block Storage Volumes for App1-4
for i in `seq 1 4` ; do nova volume-create --volume-type SSD 100 -
-display-name app$i; done
nova volume-list
28. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
NOVA COMMAND LINE – CLOUD BLOCK STORAGE
Attach the volumes via Volume-ID
nova volume-attach App1 6bbb976d-a54a-432a-b6e1-0fc6eb05f415
/dev/vdb
nova volume-attach App2 ff7c37b3-bc8f-4c47-a5ee-582504a8dd18
/dev/vdb
nova volume-attach App3 ce8edb03-2757-4c41-925b-c8cff812b12b
/dev/vdb
nova volume-attach App4 a757bfd3-ddd2-43f1-a1c0-84ab50217aed
/dev/vdb
nova volume-list
29. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
CLOUD CONTROL PANEL – CLOUD LOAD BALANCERS
5) Deploy a public cloud load balancer for HTTP traffic