Be a Cloud Native

Post on 28-Jan-2015

112 views 0 download

Tags:

description

Presented at InnoTech San Antonio 2014. All rights reserved.

Transcript of Be a Cloud Native

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

BE A CLOUD NATIVE

Q1 2013

Jaret Chiles Cloud Solutions Architect Rackspace, The Open Cloud Company

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?

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

THE POWER OF THE CLOUD

Programmatically accessible infrastructure

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

INFRASTRUCTURE ON DEMAND

Deploy infrastructure when you need it

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

INFRASTRUCTURE ON DEMAND

Turn it off when you don’t need it

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

MATCH COST TO DEMAND

Shrink the gap with automation

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

DEMAND PATTERNS

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

HYBRID-CLOUD STRATEGIES

Own the base. Rent the

peak.

PEAK LOAD

BASE LOAD

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

MULTI-CLOUD STRATEGIES

PARTNER DC CUSTOMER SITE RACKSPACE LOCATIONS

DEDICATED PUBLIC CLOUD PRIVATE CLOUD PRIVATE CLOUD PUBLIC CLOUD

Rackspace Provides The Fanatical Support

Write once, deploy anywhere

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

A NEW WAY OF THINKING

Virtualization is a TECHNOLOGY…

Cloud Computing is a BUSINESS MODEL

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

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

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

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD SECURITY = AGILE SECURITY

Think Like a

Developer

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs and APIs

DEVELOPER GUIDES & MANAGED SERVICES

Self Service: http://developer.[provider].com

Managed Services: Extension of IT team

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONSUMPTION MODELS

Cloud Orchestration API Layer

Software Development

Kits

Direct API Interaction

Command Line Tools

Control Panels

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

PURE CLOUD CONFIGURATION

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

HYBRID CONFIGURATION

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

EXAMPLE DEPLOYMENT DIAGRAM

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)

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

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

NOVA COMMAND LINE – CLOUD SERVERS

nova image-list

nova flavor-list

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

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

NOVA COMMAND LINE – CLOUD SERVERS

nova list

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD SERVERS

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

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

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD LOAD BALANCERS

5) Deploy a public cloud load balancer for HTTP traffic

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD LOAD BALANCERS

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD LOAD BALANCERS

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD LOAD BALANCERS

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD LOAD BALANCERS

6) Deploy a private cloud load balancer for internal TCP traffic

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD LOAD BALANCERS

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD LOAD BALANCERS

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD LOAD BALANCERS

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD DATABASES

7) Deploy a MySQL database

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD DATABASES

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD DATABASES

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD DATABASES

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD DATABASES

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD SERVER IMAGES

8) Create “Gold” server images

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD SERVER IMAGES

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CLOUD CONTROL PANEL – CLOUD SERVER IMAGES

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

APPLICATION PROGRAMMING INTERFACE – FILES

7) Push a file to Cloud Files and enable it over the Akamai CDN

Upload File to Container curl -X PUT -T screenies/hello.jpg -D - \ -H "ETag: 805120e285a7ed28f74024422fe3594" \ -H "Content-Type: image/jpeg" \ -H "X-Auth-Token: fc81aaa6-98a1-9ab0-94ba-aba9a89aa9ae" \ -H "X-Object-Meta-Screenie: Hello World" \ https://storage.clouddrive.com/v1/CF_xer7_343/ images/hello.jpg HTTP/1.1 201 Created Date: Thu, 09 July 2009 17:03:36 GMT Server: Apache Content-Length: 0 ETag: 805120e285a7ed28f74024422fe3594 Content-Type: text/plain

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

APPLICATION PROGRAMMING INTERFACE – FILES

CDN Enable Container curl -X PUT -D - \ -H "X-Auth-Token: fc81aaa6-98a1-9ab0-94ba-aba9a89aa9ae" \ -H "X-CDN-Enabled: True" \ -H "X-TTL: 259200"\ https://storage.clouddrive.com/v1/CF_xer7_343/images HTTP/1.1 202 Accepted Date: Thu, 06 Aug 2009 01:34:13 GMT Server: Apache X-CDN-URI: http://c10171.r71.cf0.rackcdn.com X-CDN-SSL-URI: https://c10171.ssl.cf0.rackcdn.com Content-Length: 0 Connection: close Content-Type: text/plain; charset-UTF-8

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CONTROL PANEL – CLOUD FILES

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

CONTROL PANEL – CLOUD FILES

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

EXAMPLE DEPLOYMENT RECAP

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

RESOURCES

Product Information http://www.rackspace.com/cloud Rackspace Developer Portal http://developer.rackspace.com Knowledge Center & Best Practices http://www.rackspace.com/knowledge_center OpenStack Community http://www.openstack.org

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SIGN UP

https://cart.rackspace.com/cloud

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

THANK YOU

Jaret.Chiles@Rackspace.com http://www.linkedin.com/in/jaretchiles @jaretchiles