Post on 25-May-2015
description
Peter Johnson (peter.johnson2@unisys.com)CMG ‘11, Washington, D.C.7 December 2011Session 454, Paper 1033
Migrating Applications to the Cloud
© 2011 Unisys Corporation. All rights reserved. Page 2
Abstract
So you have decided to move one or more of your enterprise applications to the cloud. What are some of the migration issues that you should consider? Which applications are a good fit for the cloud? Could you possibly offer your application as a Software as a Service (SaaS) solution? This paper looks at these questions and many more to help you understand the various possibilities when moving an application to the cloud and to help you better prepare for that migration.
© 2011 Unisys Corporation. All rights reserved. Page 3
Agenda
• Introduction• Cloud Reference Model
– On Demand Self-Service– Broadband Network Access– Resource Pooling– Rapid Elasticity– Measured Service
• Other Considerations– IaaS vs PaaS– Who are Your Users?– Networking Issues– Expect Failure– Licensing Issues– Application Lifecycle and Processes– From Virtualized to the Cloud
© 2011 Unisys Corporation. All rights reserved. Page 4
Introduction
• You have an application running in your datacenter– You want to run the application in the cloud
• What does that mean?
• Researched numerous cloud SaaS offerings to see what make them tick– Handling large numbers of users, large amounts of data– Understanding issues they encountered and overcame
• Examined how the NIST definition of cloud computing applied to SaaS
© 2011 Unisys Corporation. All rights reserved. Page 5
How SaaS(y) is Your App?
Typical datacenter
app
Ideal SaaS app
Is your app here? Or is it here?
© 2011 Unisys Corporation. All rights reserved. Page 6
How SaaS(y) is Your App?
selfservice
networkaccess
resourcepooling
other
measureservice
elasticity
Ideal SaaS app
selfservice
networkaccess
resourcepooling
other
measureservice
elasticity
DatacenterApp
© 2011 Unisys Corporation. All rights reserved. Page 7
Agenda
• Context• Cloud Reference Model
– On Demand Self-Service– Broadband Network Access– Resource Pooling– Rapid Elasticity– Measured Service
• Other Considerations– IaaS vs PaaS– Who are Your Users?– Networking Issues– Expect Failure– Licensing Issues– Application Lifecycle and Processes– From Virtualized to the Cloud
© 2011 Unisys Corporation. All rights reserved. Page 8
Typical On-Boarding Process1. New employee is hired
2. Manager notifies IT, via:• email• web page• ITSM ticket
3. IT grants user access, via:• updates Active Directory• other
4. Employee informed (usually via email)5. Employee
accessesapplication
Issues:• Manual process• Slow (hours)• Low volume
© 2011 Unisys Corporation. All rights reserved. Page 9
Self-Service On-Boarding Process
1. User requests access Application registration pageor portal
5. User uses app
4. User sent“welcome”email
2. On-boardingautomation invoked
ScriptRunbookApp code
3. userregistered
Benefits:• Automated• Fast (minutes)• High volumeIssues:• Access restrictions
© 2011 Unisys Corporation. All rights reserved. Page 10
Other Self-Service Considerations
• No access to Active Directory with public cloud– Use database for registered users
• Registration can be handled by a separate application– Might need a new home page
• Think about how to unregister users– Accumulation of data users no longer care about
© 2011 Unisys Corporation. All rights reserved. Page 11
Agenda
• Context• Cloud Reference Model
– On Demand Self-Service– Broadband Network Access– Resource Pooling– Rapid Elasticity– Measured Service
• Other Considerations– IaaS vs PaaS– Who are Your Users?– Networking Issues– Expect Failure– Licensing Issues– Application Lifecycle and Processes– From Virtualized to the Cloud
© 2011 Unisys Corporation. All rights reserved. Page 12
Network Access in Data Center
http, https
web service
sockets, EJB, messaging, etc.
© 2011 Unisys Corporation. All rights reserved. Page 13
Network Access in the Cloud
http, https
web service
sockets, EJB, messaging, etc.X blocked by firewall
Xdisallow http access
encrypt
© 2011 Unisys Corporation. All rights reserved. Page 14
Network Access in Data Center
standard corporate desktop with preloaded applications
standard corporate laptop with preloaded applications
© 2011 Unisys Corporation. All rights reserved. Page 15
Network Access in the Clouddesktops & laptops running:• Windows• Mac OS X• Linux• Variety of browsers
Netbooks
Smart phones
tablets Action plan:1) Ensure browser works with your application2) Provide native mobile app
(UI probably written from scratch)
© 2011 Unisys Corporation. All rights reserved. Page 16
Agenda
• Context• Cloud Reference Model
– On Demand Self-Service– Broadband Network Access– Resource Pooling– Rapid Elasticity– Measured Service
• Other Considerations– IaaS vs PaaS– Who are Your Users?– Networking Issues– Expect Failure– Licensing Issues– Application Lifecycle and Processes– From Virtualized to the Cloud
© 2011 Unisys Corporation. All rights reserved. Page 17
Apex Ltd.
Acme Inc.
Data Sharing and Separation
Acme Inc.data
Apex Ltd.data
BusinessIntelligence
Service
© 2011 Unisys Corporation. All rights reserved. Page 18
Multi-Tenancy Models - #1
Apex Ltd.
Acme Inc.
Acme Inc.data
Apex Ltd.data
Each tenant has own VM(s) and own database
Application does not need to be tenant aware
© 2011 Unisys Corporation. All rights reserved. Page 19
Multi-Tenancy Models - #2
Apex Ltd.
Acme Inc.
Acme Inc.data
Apex Ltd.data
Each tenant has own VM(s) butthey share the same database
Application needs to be tenant aware, but only
for database access
© 2011 Unisys Corporation. All rights reserved. Page 20
Multi-Tenancy Models - #3
Apex Ltd.
Acme Inc. Tenants share the VM(s) buteach has own database
Acme Inc.data
Apex Ltd.data
Application needs to be tenant aware
© 2011 Unisys Corporation. All rights reserved. Page 21
Multi-Tenancy Models - #4
Apex Ltd.
Acme Inc. Tenants share the VM(s) and the database
Acme Inc.data
Apex Ltd.data
Application needs to be tenant aware
© 2011 Unisys Corporation. All rights reserved. Page 22
Agenda
• Context• Cloud Reference Model
– On Demand Self-Service– Broadband Network Access– Resource Pooling– Rapid Elasticity– Measured Service
• Other Considerations– IaaS vs PaaS– Who are Your Users?– Networking Issues– Expect Failure– Licensing Issues– Application Lifecycle and Processes– From Virtualized to the Cloud
© 2011 Unisys Corporation. All rights reserved. Page 23
Elasticity Poster Child - Animoto
Reference: http://aws.typepad.com/aws/2008/04/animoto---scali.html
EC2
Serv
ers
in U
se
Time (interval between text is 16 hours)
© 2011 Unisys Corporation. All rights reserved. Page 24
Elasticity Considerations
• Existing applications can benefit from scale down, making resource available for other tasks
• To scale up, application must be architected for it– Use multiple tiers– Use stateless design– Use distributed design
• Database considerations– Use a NoSQL database for data that doesn’t need transactional
semantics– Consider caching and/or sharding
• Does your cloud provide automatic elasticity (EC2), or do you have to check in your application (Azure)
© 2011 Unisys Corporation. All rights reserved. Page 25
Agenda
• Context• Cloud Reference Model
– On Demand Self-Service– Broadband Network Access– Resource Pooling– Rapid Elasticity– Measured Service
• Other Considerations– IaaS vs PaaS– Who are Your Users?– Networking Issues– Expect Failure– Licensing Issues– Application Lifecycle and Processes– From Virtualized to the Cloud
© 2011 Unisys Corporation. All rights reserved. Page 26
Measured Service Considerations
• Who gets billed?• How will you bill?
– Per request?– Request processing time?– Per megabyte moved/stored?– Flat rate per month/year?
• If billing per use or by volume, provide portal where customer can check on current usage
© 2011 Unisys Corporation. All rights reserved. Page 27
Agenda
• Context• Cloud Reference Model
– On Demand Self-Service– Broadband Network Access– Resource Pooling– Rapid Elasticity– Measured Service
• Other Considerations– IaaS vs PaaS– Who are Your Users?– Networking Issues– Expect Failure– Licensing Issues– Application Lifecycle and Processes– From Virtualized to the Cloud
© 2011 Unisys Corporation. All rights reserved. Page 28
Application Deployment: IaaS or PaaS?Ia
aSAp
plica
tion
data
PaaS
?Microsoft Azure
Google AppEngine
rewrite
Spring, etc.
SQL
Azur
e
data
© 2011 Unisys Corporation. All rights reserved. Page 29
Who are Your Users?
Self
Servi
ce
Elasticit
yNetw
ork
Access Reso
urce
Pooling
Measured
Servi
ce
Empl
oyee
sO
ther
Co
mpa
nies
Publ
ic
High High High High
Low Low
Low
(Your mileage may vary…)
Medium Low
Medium
Medium
Medium
Medium
Medium Low
Importanceof NIST
Characteristics
© 2011 Unisys Corporation. All rights reserved. Page 30
Networking Issues
Network UsageIf you have a single application running on a box, what is the network usage?
If you have a dozen VMs on a box, now what is the network usage?
Virtual LANEach VM has its own LAN, no
visibility of traffic of other VMs.
No Broadcast SupportMight require config changes for
Java EE app servers
Datacenter AccessMost private cloud vendors provide
VPN access so that you can hook your apps back to the datacenter.
© 2011 Unisys Corporation. All rights reserved. Page 31
Expect Failure: What Could Go Wrong?
?
Datacenter goes downSolution: Distribute app among
data centers
Database goes downSolution: Cache data updates
Trunk line goes downSolution: Replicate apps and databases between regions
App or VM crashesSolution: Run multiple copies,
load balancer
© 2011 Unisys Corporation. All rights reserved. Page 32
Licensing Issues
Does your application use software that comes from a third-party? Does your license agreement allow you to run the that software in the cloud?• Issues:
– Software locked down to MAC/IP address– License billed by machine size (e.g. CPU count)
• Is that physical machine or virtual machine?– Can you fire up extra copies? (might need more for elasticity)
• Will you be billed for actual copies used or potential copies?– Can you migrate the software from one cloud to another?
Using open source software will help you avoid these
licensing issues.
© 2011 Unisys Corporation. All rights reserved. Page 33
Application Lifecycle
• How do you introduce changes/fixes/new versions?– Some SaaS providers use rolling updates– Most SaaS provides perform regular updates (weekly, daily, even
hourly), rather than major infrequent upgrades • How do you test the app?
– Many cloud vendors provide desktop simulation tools• Google AppEngine SDK• Microsoft Azure SDK• etc.
– Set up some tests systems in the cloud
© 2011 Unisys Corporation. All rights reserved. Page 34
From Virtualized to Cloud
© 2011 Unisys Corporation. All rights reserved. Page 35
Conclusion: What’s the Shape of Your App?
selfservice
networkaccess
resourcepooling
other
measureservice
elasticity
selfservice
networkaccess
resourcepooling
other
measureservice
elasticity
© 2011 Unisys Corporation. All rights reserved. Page 36
Peter Johnson (peter.johnson2@unisys.com)CMG ‘11, Washington, D.C.7 December 2011Session 454, Paper 1033