Shedding Light on the Cloud: Defining Clouds and Best Practices1. © 2013 EUCALYPTUS SYSTEMS, INC.
SHEDDING LIGHT
ON THE CLOUD:
DEFINING CLOUDS
AND BEST
PRACTICES
Paul Weiss
Technical Marketing
Manager
2. InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations
/cloud-compare
3. Presented at QCon New York
www.qconnewyork.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
4. © 2013 EUCALYPTUS SYSTEMS, INC.
AGENDA
• Why Cloud?
• Define Cloud
• Cloud Models
• Old vs New
• Benefits of Cloud
• How to Select the Right Cloud Model(s)
• How to Select the Applications to Move into the Cloud
• How to Successfully Migrate Applications into the Cloud
• Best Practices (Getting Started)
2
7. © 2013 EUCALYPTUS SYSTEMS, INC.
Be prepared to support 3x the workload in 7 years
THE CONNECTED LIFE BY 2020
5
8. © 2013 EUCALYPTUS SYSTEMS, INC.
WHAT’S DRIVING CLOUD ADOPTION
6
Source: 2012 Future of Cloud Survey
Scalability is the #1 reason for cloud.
Remember 3x in 7 years
9. © 2013 EUCALYPTUS SYSTEMS, INC.
TOMORROW’S CLOUD FORECAST
7
Hybrid is the only way to scale to 3x in 7 years
Source: 2012 Future of Cloud Survey
11. © 2013 EUCALYPTUS SYSTEMS, INC.
CLOUD COMPUTING DEFINITION
• Industry surveys indicate that the desire to move to cloud
computing is widespread. So what is cloud computing?
• National Institute of Standards and Technology (NIST)
definition:
“. . . a model for enabling ubiquitous, convenient, on-demand
network access to a shared pool of configurable computing
resources . . . that can be rapidly provisioned and released
with minimal management effort or service provider
interaction.”
9
14. © 2013 EUCALYPTUS SYSTEMS, INC.
CLOUD DEPLOYMENT MODELS
Private Cloud Community Cloud Public Cloud
The cloud infrastructure is operated
entirely for an organization.
The cloud infrastructure is shared by
several organizations and supports a
specific community that has shared
concerns.
The cloud infrastructure is made
available to the general public or a
large industry group and is owned by
an organization selling cloud services.
• Secure
• Predictable Performance
• Existing resources
• Path to hybrid cloud
• Control
• Cost control
• Designed w/ a purpose
• Scale
• Cost savings (if managed)
• Cost savings (if managed)
• Scale
• Regions to span
• Many services
Eucalyptus, Apache Cloud Stack,
OpenStack
AWS GovCloud AWS, GCE, Windows Azure,
RackSpace
~~~~ Hybrid Cloud ~~~~
12
15. © 2013 EUCALYPTUS SYSTEMS, INC.
TRADITIONAL IT DEPLOYMENT MODEL
(OLD)
13
• In a traditional model,
the user must work
through the IT
department to
provision a server.
• This is a multi-stage
process that has
inherent delays.
• Can take days, weeks,
or even months
User requests server
Server provisioned
Wait
Negotiate resource
configuration
Negotiate business
caseApproved?
IT available?
no
no
yes
yes
Old methods will not scale to the 3x we need to
support
16. © 2013 EUCALYPTUS SYSTEMS, INC.
CLOUD COMPUTING DEPLOYMENT MODEL
(NEW)
14
• In a cloud computing model the
user can self-provision servers
that fall within predefined IT
resource policies.
• This model eliminates many of
the inherent delays in the
traditional deployment model.
• Deployment time reduced to
minutes
User requests server
Server provisioned
IT defines resource
policies
Within policies?
yes
no
Cloud computing deployment model will help us
scale to support the 3x demand
17. © 2013 EUCALYPTUS SYSTEMS, INC.
DIFFERENCES BETWEEN VIRTUALIZATION
AND CLOUD COMPUTING
15
Traditional Virtualization Cloud Computing
VM Location on a specific host on any host in availability zone
VM Storage persistent ephemeral (except for volumes)
VM Resources (CPU, memory) customizable standard sizes (Small, Medium, Large,
etc.)
VM Resource Change Method resize existing VM launch new VM
Time to Provision Minutes/Hours/Days Minutes
VM Failure Recovery Method attempt to recover failed VM discard and start new VM
Virtualization alone is not cloud!
18. © 2013 EUCALYPTUS SYSTEMS, INC.
SOME BENEFITS OF CLOUD COMPUTING
• Application scalability
• Agility
• Cost control
• Time to Market
• Security
• Better utilization of resources
• Disaster Recovery
• Remove IT silos
16
#1 – Scalability
#2 – Agility
#3 – Cost
19. © 2013 EUCALYPTUS SYSTEMS, INC.17
THE ROADMAP THROUGH PRIVATE
CLOUD
After virtualization, private cloud is the next step
20. © 2013 EUCALYPTUS SYSTEMS, INC.
IAAS USE CASES - GETTING STARTED
•Transient apps: dev & test environments
•Bursty workloads: web and mobile applications
•Big data: analytics and computations
•Gaming applications
and: hybrid clouds, rich media encoding/decoding, complex and large-scale data
processing, training & e-learning, storage-as-a-service, remote desktop hosting,
public cloud, carrier-grade cloud
18
Dev / Test is a great place to start
21. © 2013 EUCALYPTUS SYSTEMS, INC.
TO CLOUD OR NOT? – THINK ABOUT
•Dev / Test – on ramp to public cloud
•Security
•Intellectual Property (IP)
•Manufacturing
•Some Enterprise Applications
19
Every application needs to be carefully evaluated –
to cloud or not!
24. © 2013 EUCALYPTUS SYSTEMS, INC.
WHAT’S IN AN IMAGE?
• Not running
• Operating System
• Current Patches*
• Application*
Note: An image is stored in the cloud, not running
22
An image is a stored snap-shot or disk copy of a
system, ready to be launched
25. © 2013 EUCALYPTUS SYSTEMS, INC.
WHAT’S IN AN INSTANCE?
• Running copy of an image
• Configured size (VM Type)
– CPU
– Memory
– Disk
– Network / Security
• Operating System
• Current Patches
• User(s) – keys by default, LDAP, AD
• Additional storage if needed
• Application(s)
• Connections to other systems – LB’s, DB’s, etc.
23
An instance is a running virtual machine, based on
an image, ready to use
26. © 2013 EUCALYPTUS SYSTEMS, INC.
IMAGES
Machine Size
• CPU(s)
• Mem
• Disk
• Network
Operation System Initial
Configuration
(network, access,
mounts, etc)
Patches Application Application
Configuration
Basic Virtual
Machine
Manually Configure Choose ISO,
Manually install
Manual
configuration
Manually install Manually install Manual
configuration
Advanced Virtual
Machine
Boot pre-configured VM template Manual
configuration
Manual update Installed with
template
Manual
configuration
Basic Cloud
Instance
Choose VM-Type Choose Image Cloud configured Manually install Manually install Manually configured
Semi- Automated
Cloud
Choose VM-Type Choose Image Cloud configured Configuration Management Agent managed
Fully Automated
Cloud
Using monitoring, load-balancing, auto-scaling – cloud automatically provisions / de-provisions as needed to maintain work-load.
24
Think about supporting 3x the workload
27. © 2013 EUCALYPTUS SYSTEMS, INC.
INSTANCE FLOW
25
VM Size OS Install
Initial
Config
App
Install
Patch
Install
Final
Config
How many of these steps do you want to do
manually?
28. © 2013 EUCALYPTUS SYSTEMS, INC.
HOW TO START AN INSTANCE
• Start basic instance
–$euca-run-instances emi-12345 –k mykey
• Advanced instance start
–$ euca-run-instances emi-12345 –k mykey –g my_security_group –t
Vmtype –f cloud-config.txt
26
29. © 2013 EUCALYPTUS SYSTEMS, INC.
CLOUD-INIT
$ cat cloud-config.txt
#cloud-config
# upgrade the instance on first boot
package_upgrade: true
# setup mount points
mounts:
- [ sdc, /opt/data ]
# install additional packages at first boot
packages:
- your favorite configuration management system agent
27
30. © 2013 EUCALYPTUS SYSTEMS, INC.
APPLICATION GROUPS
Apache + HAProxy Apache + HAProxy
App Server 1 App Server 2 App Server 3 App Server n
Master
DB
Slave
DBEBS
Vol.
EBS
Vol.
Walrus
Your Site
Daily Snapshots Rolling Snapshots
Replication
172.168.2.54 172.168.9.87
Web-Tier Group #1
App-Tier #1
28
31. © 2013 EUCALYPTUS SYSTEMS, INC.
WEB-TIER GROUP #1
• VM Type: Large
– 2 CPU
– 8 GB RAM
– 160 GB Disk
• Update OS
• Install Apache + HA Proxy
• Connect to App-Tier Message Queue
• Add IP to load balancer
• Report success to monitoring tool when above is done
29
32. © 2013 EUCALYPTUS SYSTEMS, INC.
APP-TIER GROUP #1
• VM Type: X-Large
– 4 CPU
– 16 GB RAM
– 160 GB Disk
• Update OS
• Install Application Server
• Connect to App-Tier Message Queue
• Connect to Database Message Queue
• Report success to monitoring tool when above is done
30
33. © 2013 EUCALYPTUS SYSTEMS, INC.
MONITOR EACH TIER
• Understand load placed on tier
• Knows how to scale up when demand increases
–Max instances
• Knows how to scale down when demand decreases
–Min instances
31
Group applications, monitor and scale up or down as
needed to meet demand and contain cost.
35. © 2013 EUCALYPTUS SYSTEMS, INC.
APPLICATION DEPENDENCY MAPPING
33
Has risk assessment and dependancy mapping been
done on every mission critical application?
36. © 2013 EUCALYPTUS SYSTEMS, INC.
LESS COMPLEX
34
Keep it simple for first time success!
37. © 2013 EUCALYPTUS SYSTEMS, INC.
EXAMPLES OF TIGHT / LOOSE COUPLING
•Example of tight coupling:
Controller A Controller B Controller C
Controller A Controller B Controller C
Controller A Controller B Controller C
Controller A Controller B Controller C
Q1 Q1Q1
• Example of loose coupling using queues:
Design for scalability
35
38. © 2013 EUCALYPTUS SYSTEMS, INC.
EXAMPLE OF SCALABILITY DESIGN
Apache + HAProxy Apache + HAProxy
App Server 1 App Server 2 App Server 3 App Server n
Master
DB
Slave
DBEBS
Vol.
EBS
Vol.
Walrus
Your Site
Daily Snapshots Rolling Snapshots
Replication
172.168.2.54 172.168.9.87
39. © 2013 EUCALYPTUS SYSTEMS, INC.
DESIGN FOR SCALABILITY
• A scalable application architecture is critical to take advantage of
a scalable infrastructure
• Load balancing and proxying
• Caching
– Don’t generate the same content twice
• No central point of data storage contention
– Shared Nothing / Sharding / Distributed Caching
• Loose coupling of processing requestors and responders
40. © 2013 EUCALYPTUS SYSTEMS, INC.
DESIGN FOR FAILURE
• "Everything fails, all the time“
- Werner Vogels, CTO Amazon.com
• Avoid single points of failure
• Assume everything fails, and design backwards
• Design for failure and your app won’t fail
42. © 2013 EUCALYPTUS SYSTEMS, INC.
STAGE-MOVE-MANAGE CLOUD
EBS
S3
EC2
IAMEMI
S3EC2 EBS
IAM
AMI
• Multi-vendor Virtualization
• Multi-vendor Storage
• Data center Networking
• Infrastructure Meshed
Applications
• Layer over multi-vendor
complexity
• Separate application logic
from infrastructure
• Store data with cloud
compute accessibility
• Create LDAP/AD to IAM
bridge
• Seamless access to on-
demand capacity
• On-demand pricing
• Better application
availability
• Better data resiliency
Cloud Management Framework
43. © 2013 EUCALYPTUS SYSTEMS, INC.
HYBRID CLOUD API COMPATIBILITY
41
Test on-premise cloud compatibility with proven
applications
44. © 2013 EUCALYPTUS SYSTEMS, INC.
AWS & EUCALYPTUS COMPATIBILITY
42
How compatible is the hybrid solution?
46. © 2013 EUCALYPTUS SYSTEMS, INC.
Mirroring / Replication
Scaled down
Standby
Data
Volume
Application
Server
Reverse
Proxy /
Caching
Server
AWS Region
Slave
Database
Server
Data
Volume
Application
Server
Reverse
Proxy /
Caching
Server
Eucalyptus On-Premise IaaS
Master
Database
Server
PILOT LIGHT
Not Running
Pilot Light System
www1.eucalyptus-labs.com
48. © 2013 EUCALYPTUS SYSTEMS, INC.
Mirroring / Replication
Data
Volume
Application
Server
Reverse
Proxy /
Caching
Server
AWS Region
Slave
Database
Server
Data
Volume
Application
Server
Reverse
Proxy /
Caching
Server
Eucalyptus On-Premise IaaS
Master
Database
Server
PILOT LIGHT - RECOVERY
Start in
minutes
Add additional
capacity as needed
www2.eucalyptus-labs.com
X
51. © 2013 EUCALYPTUS SYSTEMS, INC.49
THE ROADMAP THROUGH PRIVATE CLOUD
Can you support 3x? Planning is critical!
52. © 2013 EUCALYPTUS SYSTEMS, INC.
CLOUD BEST PRACTICES (REQUIREMENTS)
• Risk assessment on all mission critical applications
• Dependency mapping on all mission critical applications
• Gather application issues
• Application requirements (OS, platform)
• Machine requirements (CPU, Memory)
• Network requirements
• Storage requirements (space and IOPS)
• Benchmark virtual machine / application
• Document application monitoring
50
53. © 2013 EUCALYPTUS SYSTEMS, INC.
CLOUD BEST PRACTICES (GETTING STARTED)
• Review NIST Special Publication 800-146
• Review Gartner Cloud Roadmap
• Decide what cloud model(s) you will start with
• Get executive sponsorship
• Agree what success looks like
• Create a project plan
• Train staff
• Choose an application that makes sense
• Benchmark application in the cloud (compare)
– Performance, Availability & Scalability
• Monitor
51
55. Watch the video with slide synchronization on
InfoQ.com!
http://www.infoq.com/presentations/cloud-
compare