© 2011 Forrester Research, Inc. Reproduction Prohibited1 © 2009 Forrester Research, Inc. Reproduction Prohibited
The Three Stages of Cloud Adoption
James Staten, Vice President, Principal Analyst
© 2011 Forrester Research, Inc. Reproduction Prohibited2
Scale out turns on the cloud.
Scaling down turns on cloud economics.
© 2011 Forrester Research, Inc. Reproduction Prohibited3
The basics of cloud economics are clear
• As demand rises, resources are added.• Requires apps to scale out• Load balancing governs
Elastic scale delivers just-in-time capacity.
• No upfront payment• No commitment whether you use it or not• Costs aligned to use
Pay-per-use keeps costs low.
• If you can build it, you can deploy it — fast.• API access drives use of automation.
Self-service fuels productivity.
© 2011 Forrester Research, Inc. Reproduction Prohibited4
Turning cloud economics to your favor is the key
• How quickly can you turn off resources no longer in use?• How small can you get your base footprint?• Are you leveraging caching as much as you can?
Elastic scale: Scaling down is key.
• Discrete component scaling drives efficiency.• Autoscaling cloud services often costs less.• Where traffic goes affects cost.
What you scale matters.
• Some cloud services have off-peak pricing concepts.• Some cloud services have better costs for certain services/uses.
When and where you do things matters.
© 2011 Forrester Research, Inc. Reproduction Prohibited5
Three stages of cloud economics
© 2011 Forrester Research, Inc. Reproduction Prohibited6
Leverage the tools of cloud economics
• When you do something• For how long you do itTime
• Parts that act independentlyComponentization
• What performs which actions• What economics it bringsService choice
• What doesn’t consume storage• What doesn’t consume bandwidthCaching
• How the code behaves• What the code does and how• Re-architect to activate cloud economics
Code optimization
© 2011 Forrester Research, Inc. Reproduction Prohibited7
How does Netflix use the cloud economics tools?
Profitability up by cloud optimization
Three key services
– Movie encoding (movies/watt)
Batch up encoding processes.
Not time sensitive; can tap spot instances.
Optimize storage formats to keep S3 costs low.
– Video streaming service
Store on S3, stream on multiple CDNs.
– Optimize CDN choice by stream type and customer.
Split customer login and device identification.
– Log analysis — feeds BI system
Leverage managed Hadoop from AWS.
Re-architected BI from the ground up for best
cloud efficiency
Key tools used:
Time
Componentization
Service choice
Code optimization
For more info, check out http://www.slideshare.net/adrianco/netflix-on-cloud-combined-slides-for-dev-and-ops and
Cloudscaling Blog (http://cloudscaling.com/blog/cloud-computing/cloud-innovators-netflix-strategy-reflects-google-
philosophy).
© 2011 Forrester Research, Inc. Reproduction Prohibited8
NVoicePay taps the cloud to expand its market
AP Assist: Enable electronic payments for SMBs
90% of B2B invoice payments are still by check.
Solution: SaaS-based vendor payment
– $0.40 per payment; free vendor sign-up
– Tight integration with key SMB systems (i.e., ADP for car
dealers, First Data payment clearing-house)
Rich but light client UI — Silverlight
Needed to push new information to customers quickly
– Needed elastic scalability, fast deploy, and iteration
Forecasted huge transaction volumes
Traditional hosting was more expensive — wouldn’t achieve scale.
– Needed reusable cloud services to speed development
Windows Azure AppFabric, storage, security services
– Needed effectively 100% availability for “Payment Dial Tone”
The alternative was to build a massively expensive data center.
“Building a mission-critical B2B
payment network would have been
nearly impossible without the low
cost, pay-as-you-go . . . Windows
Azure platform.”
— Karla Friede, CEO, NVoicePay
For more info, check out NVoicePay website (http://nvoicepay.com/wp-content/uploads/2010/10/NVoicePay-MS-Case-Study.pdf).
© 2011 Forrester Research, Inc. Reproduction Prohibited9
How is NVoicePay leveraging cloud economics?
What cloud economics tools are they using?
– Time
– Componentization
– Service choice
– Caching
– Code optimization
For more info, check out NVoicePay website (http://nvoicepay.com/wp-content/uploads/2010/10/NVoicePay-MS-Case-Study.pdf).
© 2011 Forrester Research, Inc. Reproduction Prohibited10
How NVoicePay activates cloud economics
If it’s running, it’s cutting into profitability.
Profits are pennies on each $0.40 transaction.
Mission: Lower the cost of each payment.
– Scale only when necessary.
Scale only what needs to be scaled when necessary.
– Chatter can cost you.
Traffic flowing out of the cloud costs $$.
Keep this traffic to a minimum using:
– Caching, Batching, Rich-client actions.
– Use cloud services to speed development.
Windows Azure AppFabric Service Bus and Access Control
Windows Azure Blob, Table, and Queue Storage
Windows Azure Connect — secure extra cloud connectivity
Silverlight client takes actions that ease cloud-premise
integration.
Key tools used:
Time
Componentization
Service choice
Caching
For more info, check out NVoicePay website (http://nvoicepay.com/wp-content/uploads/2010/10/NVoicePay-MS-Case-Study.pdf).
© 2011 Forrester Research, Inc. Reproduction Prohibited11
What code are we seeing in the cloud
1: Forklift 2: Elastic 3: Native
Redeploy Apps “As-
is” to the cloud
IAAS: EC2
PAAS: CloudBees,
Engineyard
• Simple
• Quick
• Low- initial cost
• Low elasticity
Load-balance, add
OSS infrastructure
IAAS: EC2
PAAS: Azure
• Let provider
auto-scale
• Some
refactoring
• OPEX savings
Designed with the
Internet as the OS
Service composition
• Facades
• State migrates to
edge of systems
• Designed for failure,
self healing
• Continuous
deployment
~70% ~20% ~10%
© 2011 Forrester Research, Inc. Reproduction Prohibited12
Why traditional applications struggle to run on true clouds
Cloud Platforms
Commodity, low HA HW
Assume all resources will be
shared
Assume shared use of the network
and no performance SLA
Can be run anywhere
And instance can take over
Are services to other elements
Traditional enterprise
applications
Assume stable, reliable HW
Assume sole ownership of the
resource
Assume uninterrupted network
access
Assume place
Assume they are primary
Have static interrelationships
© 2011 Forrester Research, Inc. Reproduction Prohibited13
App architectures must evolve to exploit scale out
November 2012 “Don’t Move Your Apps To The Cloud ”
© 2011 Forrester Research, Inc. Reproduction Prohibited14
A Digest of Evernote Architecture
150M HTTP requests via Apache
Thrift based Service API
Multiple failover points
90+ shards of Debian/Java/
Tomcat/Hibrnate/Ehcache/
Stripes/GWT/MySQL
VM images replicated to another
server
User based sharding reduces noisy
neighbor
Imaging search indexing service is
separated into different endpoint
Additional endpoint each have their
own scale
Cloud Native Elements
© 2011 Forrester Research, Inc. Reproduction Prohibited15
What powers Instagram
0-14M users in year 1
Ubuntu running on EC2
AWS Elastic Load Balancer + Route 53 +3 NGINX instances
Django(Python)+gunicorn for App servers
Sharded PostgreSQL for Data Storage
Photos stored to AWS S3
Cloudfront as CDN for acceleration
Redis for feeds, Memcache
Munin for monitoring
Cloud Native Elements
© 2011 Forrester Research, Inc. Reproduction Prohibited16
What powers Linked-in Mobile
Node.js for high scale
asynchronous eventing to clients
Mobile server intermediates
between client and LinkedIn
platform
Screen API (JSON) – Domain API
(Thrift)
Nginx for higher throughput of
messages
Cloud Native Elements iOS
JS/HTML + Native
Android
Native
Mobile Web
JS/HTML
Other
Wrap JS/HTML
Load Balancer
Nginx Nginx
Node JS
Server
Node JS
Server
LinkedIn Core Platform
Mongo DB
Logging Server
Tracking Server
Screen-based REST API
Domain REST APIM
ob
ile S
erv
er
© 2011 Forrester Research, Inc. Reproduction Prohibited17
The NPR API architecture
43M pageviews in 2010 to 88M
– 30M mobile
Following a COPE strategy
Appservers, Java, JSP, Struts
MySQL as data management
layer
NoSQL XML repo for API
staging
PHP 5 /Linux in the API
handling layer
Memcache to accelreate
reponses
Cloud Native Elements
© 2011 Forrester Research, Inc. Reproduction Prohibited18
What about legacy apps?
© 2011 Forrester Research, Inc. Reproduction Prohibited19
Cloud APIs
Mobile U
I
SOA enhancements SaaS in
tegrations
Link to the legacy, then cut it loose
Web infrastructure
Legacy
© 2011 Forrester Research, Inc. Reproduction Prohibited20
Recommendations
• How does it generate revenue?• What actions are taken to get that revenue?• What components are involved?• What does the transaction flow cost?
Understand the profitability profile of your cloud service.
• Can you improve its scalability model?• How can its action timing be improved?• What alternative means (services, caching, reusable
components) can be leveraged?
Analyze its performance profile.
• Improve cloud coding practices through architectural adherence.• Architect in how to use the cloud economic tools — not the
specific uses.• Revisit this process often — as the cloud matures quickly.
Bake the lessons learned into your cloud architecture.
© 2011 Forrester Research, Inc. Reproduction Prohibited21
What’s your cloud use case?
What defines success for this service?
What drives its profitability?
What cloud economics tools are you using today?
Discussion: How can you use them more
efficiently tomorrow? Cloud tools:
Time
Componentization
Service choice
Caching
Code optimization
For more info, check out NVoicePay website (http://nvoicepay.com/wp-content/uploads/2010/10/NVoicePay-MS-Case-Study.pdf).
© 2009 Forrester Research, Inc. Reproduction Prohibited
Thank you
James Staten+1 650.581.3824
Twitter: Staten7
www.forrester.com
Top Related