Migrating Applications to the Cloud

Download Report

Transcript Migrating Applications to the Cloud

Migrating Applications to the Cloud
Peter Johnson ([email protected])
CMG ‘11, Washington, D.C.
7 December 2011
Session 454, Paper 1033
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 2
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 3
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 4
How SaaS(y) is Your App?
Typical
datacenter
app
Is your app here?
Ideal
SaaS
app
Or is it here?
© 2011 Unisys Corporation. All rights reserved.
Page 5
How SaaS(y) is Your App?
Datacenter
self
network
App
service
access
resource
pooling
measure
service
elasticity
self
service
Ideal
SaaS
app
network
access
other
resource
pooling
measure
service
elasticity
© 2011 Unisys Corporation. All rights reserved.
other
Page 6
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 7
Typical On-Boarding Process
2. Manager notifies IT, via:
• email
• web page
• ITSM ticket
1. New employee is hired
5. Employee
accesses
application
4. Employee informed
(usually via email)
Issues:
• Manual process
• Slow (hours)
• Low volume
3. IT grants user access, via:
• updates Active Directory
• other
© 2011 Unisys Corporation. All rights reserved.
Page 8
Self-Service On-Boarding Process
1. User requests access
5. User uses app
2. On-boarding
automation invoked
4. User sent
“welcome”
email
Script
Runbook
App code
Application registration page
or portal
Benefits:
• Automated
• Fast (minutes)
• High volume
Issues:
• Access restrictions
3. user
registered
© 2011 Unisys Corporation. All rights reserved.
Page 9
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 10
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 11
Network Access in Data Center
http, https
web service
sockets, EJB, messaging, etc.
© 2011 Unisys Corporation. All rights reserved.
Page 12
Network Access in the Cloud
disallow http access
http, https
encrypt
web service
blocked by firewall
sockets, EJB, messaging, etc.
© 2011 Unisys Corporation. All rights reserved.
Page 13
Network Access in Data Center
standard corporate
desktop with preloaded
applications
standard corporate
laptop with preloaded
applications
© 2011 Unisys Corporation. All rights reserved.
Page 14
Network Access in the Cloud
desktops & laptops running:
• Windows
• Mac OS X
• Linux
• Variety of browsers
Netbooks
Smart phones
tablets
Action plan:
1) Ensure browser works with your application
2) Provide native mobile app
(UI probably written from scratch)
© 2011 Unisys Corporation. All rights reserved.
Page 15
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 16
Data Sharing and Separation
Acme Inc.
Business
Intelligence
Service
Acme Inc.
data
Apex Ltd.
data
Apex Ltd.
© 2011 Unisys Corporation. All rights reserved.
Page 17
Multi-Tenancy Models - #1
Acme Inc.
Each tenant has own VM(s) and own database
Application does not
need to be tenant aware
Acme Inc.
data
Apex Ltd.
Apex Ltd.
data
© 2011 Unisys Corporation. All rights reserved.
Page 18
Multi-Tenancy Models - #2
Acme Inc.
Each tenant has own VM(s) but
they share the same database
Application needs to be
tenant aware, but only
for database access
Acme Inc.
data
Apex Ltd.
data
Apex Ltd.
© 2011 Unisys Corporation. All rights reserved.
Page 19
Multi-Tenancy Models - #3
Acme Inc.
Tenants share the VM(s) but
each has own database
Application needs to
be tenant aware
Acme Inc.
data
Apex Ltd.
Apex Ltd.
data
© 2011 Unisys Corporation. All rights reserved.
Page 20
Multi-Tenancy Models - #4
Acme Inc.
Tenants share the VM(s)
and the database
Application needs to
be tenant aware
Apex Ltd.
Acme Inc.
data
Apex Ltd.
data
© 2011 Unisys Corporation. All rights reserved.
Page 21
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 22
EC2 Servers in Use
Elasticity Poster Child - Animoto
Time (interval between text is 16 hours)
Reference: http://aws.typepad.com/aws/2008/04/animoto---scali.html
© 2011 Unisys Corporation. All rights reserved.
Page 23
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 24
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 25
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 26
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 27
Application Deployment: IaaS or PaaS?
IaaS
Microsoft
Azure
rewrite
Google
AppEngine
Spring, etc.
© 2011 Unisys Corporation. All rights reserved.
Page 28
Who are Your Users?
Employees
Low
Medium
Low
Medium
Low
Other
Companies
Medium
Medium
Low
Medium
Low
Public
Importance
of NIST
Characteristics
High
High
High
High
Medium
(Your mileage may vary…)
© 2011 Unisys Corporation. All rights reserved.
Page 29
Networking Issues
Network Usage
If 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?
Each VM has its own LAN, no
visibility of traffic of other VMs.
Datacenter Access
No Broadcast Support
Most private cloud vendors provide
VPN access so that you can hook your
apps back to the datacenter.
Might require config changes for
Java EE app servers
Virtual LAN
© 2011 Unisys Corporation. All rights reserved.
Page 30
Expect Failure: What Could Go Wrong?
Datacenter goes down
App or VM crashes
Solution: Run multiple copies,
load balancer
Solution: Distribute app among
data centers
Trunk line goes down
Database goes down
Solution: Replicate apps and
databases between regions
Solution: Cache data updates
© 2011 Unisys Corporation. All rights reserved.
Page 31
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 32
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 33
From Virtualized to Cloud
© 2011 Unisys Corporation. All rights reserved.
Page 34
Conclusion: What’s the Shape of Your App?
self
service
network
access
resource
pooling
measure
service
elasticity
self
service
network
access
other
resource
pooling
measure
service
elasticity
© 2011 Unisys Corporation. All rights reserved.
other
Page 35
Peter Johnson ([email protected])
CMG ‘11, Washington, D.C.
7 December 2011
Session 454, Paper 1033
© 2011 Unisys Corporation. All rights reserved.
Page 36