moving apps to cloud
TRANSCRIPT
Moving Applications to the Cloud
Abstract:
This white paper talks about various aspects of moving
application to the Cloud along with some recommendations.
Will start with accessing the need for any organization to
move their application to Cloud and various parameters that
they need to consider while doing so.
Authors:
Kamalakar Devaki
TechMahindra
Tech Mahindra Limited
Contents What is Cloud, Why Cloud ............................................................................................................................... 2
Why Cloud ........................................................................................................................................................ 3
Deployment Models (Types of Cloud) ............................................................................................................. 4
Do I need to move my application to Cloud? .................................................................................................. 4
What kind of applications or products can be moved to Cloud? .................................................................... 5
Define your Journey / Approach ...................................................................................................................... 6
References ....................................................................................................................................................... 9
Tech Mahindra Limited
What is Cloud, Why Cloud
The Cloud is an evolved paradigm which aims at providing unlimited computing
power in a completely virtualized yet manageable way by aggregating various
resources under single umbrella by hiding how the internals work. Cloud aims at
bringing sophisticated on-demand computing services and applications offered by
various “providers”. It is bringing paradigm shift the way applications has been
thought and developed.
Advancements in various technologies especially Hardware (Virtualization and
Multi-core Chips), Internet technologies (Web 2.0, SOA), advancements in Data
Center Technologies, Distributed computing and Systems Management combined
with advancements in communication technologies made Cloud a possibility.
It brings benefits not only to the “providers” but also to the “consumers”, here
consumer can be an enterprise or an individual who is trying to use / buy a
Cloud is bringing paradigm
shift the way applications
has been thought and
developed
Tech Mahindra Limited
“service” from the Cloud services provider. Consumers can attain reduced cost in
getting the service needed where as the providers can benefit from reducing the
operational costs.
Providers can provide 3 types of offerings (or the 3 tenets of Cloud)
Why Cloud
Reduces IT Costs to
manage your assets and
also increases business
affordability and agility
Tech Mahindra Limited
Reduced IT Costs (Easy to Manage, Improved efficiency)
Increases Business Affordability and Agility
Maximized reach and availability
Reduce Development efforts
Deployment Models (Types of Cloud)
Private: deployed and managed with-in the premise of an organization / enterprise
Public: services available to public over the internet and is available for public
Hybrid: services offered in combination of Private and Public clouds
Do I need to move my application to Cloud?
Not every application is required to be on Cloud and one should understand the need to
migrate to the Cloud. To migrate to cloud Organizations should first try to have answers to
the following in place
Need:
Tech Mahindra Limited
1. Either to save the operational or infrastructure costs
2. Increase the reach
3. Innovative business modals
Feasibility:
1. Check for all the dependencies
2. Architecture fitment analysis (with emphasis of Non Functional Requirements like
Scalability, Availability, Security, Response time etc.)
What kind of applications or products can be moved to Cloud?
Market survey companies like Gartner had come up with the following magic quadrant to
help you decide on applications from organization app portfolio to the Cloud
This essentially convey that applications which are used by both internal and external
users or applications targeted at huge consumer base (which essentially means that they
need huge Storage, Compute and High Availability requirements) are the first picks to
migrate to the Cloud and, it also says that Organizations should look at the Business Value
that is going to be derived by moving the applications to the cloud.
Not all Applications can go
to Cloud; a thorough
analysis on the Business
need and Value
proposition to be
considered.
Tech Mahindra Limited
Define your Journey / Approach
If you or your business decides to move certain applications or products to be moved on
to the cloud it means that your organization has a cloud strategy and the applications
under consideration would add a bigger business value by doing so.
Before moving your applications, prepare a checklist which helps you qualify applications
whether can be moved to cloud or and prepare a subset of check list which helps in
qualify components and subsystems to be moved to cloud and your approach to migration
can go in stages – Asses, Identify, Migrate, Test, Deploy, Manage
Assess
Business Value
Do the fitment analysis on how the migration can help your organization or its
implementation complexity
Technical Fitment and Risk Analysis
Your starting point would be doing the architectural analysis or fitment analysis
and while doing so, you should consider the following
1. Is the application under consideration is a Web application or Thick client
application
2. User class
3. Non functional requirement
a. No of users going to use the application(s)
b. No of Concurrent users
c. Response time
d. Security assessment (Threat Modeling)
4. Are there any platform dependencies
5. Does the application or applications under consideration use any 3rd party
tools and if so are they available on Cloud? How the movement is going to
impact your licensing cost or terms with the vendor. If they are not available
on Cloud, are there any alternatives available
6. In case you have an increased scope or additional functionality, prepare
impact analysis and corresponding regression, functional test cases along with
security and performance
Identify / Evaluate right Cloud Provider and components
It is very important to evaluate the Cloud provider and the deployment model you might
want for your application to be developed or deployed on and you can look at parameters
like
Business Value and
Implementation
complexity are the two
major parameters that
help you identify
applications which can be
moved to Cloud.
Tech Mahindra Limited
1. Your providers SLAs
2. Technology stack
3. If they offer any API to develop the application
4. Compute size and charge, this might influence your end licensing and
development cost
5. Type of Deployment
a. If you don’t want to put your sensitive customer data, you might
choose a hybrid approach
6. Back end provider
7. aPaaS components provided by your provider
a. Some vendors provide Message Bus or Queues which can be used to
decouple your Presentation to Back end or, if their pricing is cheap
than the middleware you are using
8. Security providers
9. Their patch update policy
Migrate or Re-engineer
1. While doing the architecture analysis, identify and qualify components which
can be moved the cloud as is based on the check list created
2. Consider re-engineering those components which doesn’t qualify to be
migrated to cloud
3. Which components to be moved first can be decided on
a. Top down approach : where in the presentation layer shall be
migrated first and the rest
Pros:
1. Look and feel doesn’t change or unified look and feel across the
application
Cons:
1. Have to wait until the whole Presentation layer migration
happens
b. Bottom up approach: where in the DB or Modal shall be moved first
and then the rest
1. Look and feel doesn’t change or unified look and feel across the
application
Cons:
Evaluate and choose the
right Cloud provider.
Align with your
Organizations Cloud
Strategy.
Tech Mahindra Limited
1. Have to wait until the whole DB or back end migration happens
c. Use Case based approach: where migration happens use case by use
case
1. Can happen in stages so that any Risks or issues can be identified
and course-correction can happen
Cons:
1. Certain amount of rework keep happening as and when new use
cases are added
2. In case you are moving to a completely new platform, there
would be look and feel issues or integration over heads etc.
3. In case, you decided to revamp the look and feel, this approach
doesn’t come handy
4. Prioritize your new component or functionality development in the middle or
last
Whatever the approach you take, ensure that you follow a stage wise approach where in
you can test the development and ensure that you are in line with your cloud migration
strategy.
It is important to be in line with your Organization’s cloud Strategy and ensure that you
have your IT / Support team buy-in to take the responsibility of supporting the application,
it might very well happen that you would end up re-looking at your promised SLAs to your
Have a managed services /
application support
strategy in place.
Your provider SLAs can
influence your SLAs with
yours Customer
Tech Mahindra Limited
customer such as Availability, Reliability etc as you application is going to live in the
environment which is totally not in your control or your Cloud provider components
doesn’t support such an SLA.
References
1. Cloud Computing Principles and Paradigms
2. http://en.wikipedia.org/wiki/Cloud_computing
3. Gartner