Click here to close now.


Microservices Expo Authors: Carmen Gonzalez, Liz McMillan, Pat Romanski, Yeshim Deniz, Jason Bloomberg

Related Topics: Microservices Expo, @CloudExpo

Microservices Expo: Article

Cloud Application Migration

What are the real challenges that make organizations take a cautious, wait-and-watch approach to cloud adoption?

The business value of a cloud model does not require any special emphasis to enterprises. The Infrastructure elasticity promises to offer the desired flexibility that allows businesses to penetrate new and emerging markets without the risk of a significant capital expenditure. The free cash flow made available will allow businesses to increase spending on R&D or other strategic initiatives. For small and medium businesses, Cloud Computing offers an ecosystem that allows them to co-exist, if not compete, with large businesses. For large businesses, it's a natural progression of how IT could better optimize its data centers and deliver more value for the business.

What are the real challenges that make organizations take a cautious, wait-and-watch approach to cloud adoption? The reasons are many. For one, concerns with regard to security and regulatory compliance overshadow other potential means through which one could benefit from cloud. It's necessary to uncover such possibilities for businesses to evaluate the potential of cloud computing. Put another way, we will explore the questions most business leaders ponder over - Is ‘cloud computing' the logical next step for me to successfully execute business strategy? If so, what should be my cloud strategy? Which applications are best suited to run on cloud? These are the questions we will discuss, attempt to answer, and where required, make suitable recommendations.

Is Cloud Computing Right for My Organization?
The challenges with migrating applications to a cloud infrastructure are plenty and range from security, to SLA management, to regulations, to fear of vendor lock-in, to lack of any standards. However, just as it doesn't make sense to move everything to the cloud, it would be unwise not to leverage cloud when an opportunity to benefit from it exists. Adoption models differ across businesses and industry verticals and are largely influenced by their business models, infrastructureand information system assets.

For businesses that rely on maintaining an active social community, where the community drives the growth of its storage and computing infrastructure needs, and where the exposure risk of having the content in public infrastructure is relatively low, a public cloud would be a natural choice. For such businesses that tend to have high volatility in workload, a public cloud frees the business from worrying about IT operational issues and allows them to explore opportunities for increasing their business footprint in newer geographies without risking a huge investment.

Organizations that are risk averse and have concerns with security and compliance regulations would be inclined to explore a private cloud option in the near term. A private cloud infrastructure will enable their workforce to adapt and evaluate the real potential of cloud computing in a closed environment. For large enterprises that have invested heavily in data centers, it's a logical next step.

For ISVs offering their products through traditional license sales, leveraging a cloud platform and offering products through a SaaS model will mean substantial cost optimization and economies of scale that will benefit both ISVs and consumers of their products. It provides ISVs with opportunities to support new customers, to create point solutions for SMBs that were unable to deploy, and manage and maintain their own IT infrastructure for a critical application.

Nevertheless, an assessment of potential applications, their affinity toward different cloud options and business value projections will help you make informed decisions.

Application Portfolio Assessment is a critical exercise, but can easily spiral out of control and fail if its objectives are not well understood or defined. An assessment to determine an application's readiness for the cloud should evaluate the cloud readiness of key applications in the portfolio by rationalizing the portfolio using a multi-dimensional analysis of cloud application characteristics and provide clear recommendations on a suitable migration option - private or public - and migration paths - IaaS, SaaS or PaaS. Further, cost analysis should help assess impact on TCO/ROI and aid in building a business case.

A business's interest in the cloud weighs heavily on the core values it promises to offer - elasticitydeliveredon-demand, and at a cost far less than what a dedicated infrastructure would require. Any cloud assessment would fall short if it fails to factor it. Figure 1 highlights few critical dimensions we recommend upon which the assessment should be done.

Figure 1: Assessment Criteria

Following are indicative guidelines that should be applied to the assessment outcome to determine an application's cloud readiness:

  1. A positive business outlook for the application will mean better growth prospects for the application, leading to increased workload, criticality and dynamism in the future, thus increasing its cloud affinity.
  2. A measure of elasticity along three key parameters - workload, storage, and utilization - will yield a more definitive result on an application's cloud affinity. Elasticity of storage and utilization can be derived from existing monitoring infrastructures. An historical log analysis will help characterize application workloads and thus help in arriving at a more meaningful insight on an application's workload pattern.
  3. Any negative impact on governance, risk and compliance will have a ‘veto' effect on an application's eligibility for hosting on the cloud.
  4. Finally, technical feasibility of moving an application to a cloud infrastructure, the impact of any architectural change on the application, and the impact on quality of services will require careful consideration. A positive impact on architectural change, such as SaaS enablement of a product, may result in portfolio rationalization, thus boosting the application's case for moving to the cloud.

Applying a weighted scoring model along the above dimensions should yield a fair and just insight on your organization's cloud readiness, and determine if there is value in moving to the cloud.

Much of an enterprise's infrastructure could be serviced by a single internal private cloud comprised of multiple physical data centers. While a public cloud will play a significant role in delivering conventional enterprise compute needs, the private cloud is expected to remain a critical part of the IT infrastructure for the foreseeable future. Key differentiating applications may never move completely out of the enterprise because of their mission-critical or business-sensitive nature.

Some of the above-mentioned criterias like robust security requirements, mission critical applications, and stringent SLA requirements, compliance requirements, dependencies of the workload on large data set will help in any decision pertaining to migrating an application to a private or public cloud.

Cost Analysis
The business case for cloud application migration is never complete without taking the target cloud platform into consideration. The migration and overhead costs vary widely based on the target cloud platform and thus will skew the estimated cost savings. Cost analysis helps decide whether to go ahead with moving a particular application to the cloud or not from a TCO/ROI perspective.

Cost should include capital expenditure, operational expenditure, and overhead costs involved with migration. Table 1 provides an indicative summary of cost elements that needs to be factored.

Table 1: Cost Considerations

Applications hosted on a dedicated infrastructure should be considered potential candidates for migration to the cloud. Computing differential cost savings for such applications against current workloads should be relatively straightforward. For applications on a shared infrastructure, individual application workload characteristics may have to be determined before arriving at differential cost savings.

Migration Strategy
Defining a migration strategy involves understanding the various migration options available, establishing business priorities, and evolving a strategy that offers a fine balance between costs and meeting business priorities. Fundamentally, enterprises have the two following options with a cloud infrastructure - private or public. Against these, they have the following migration paths to consider - IaaS, SaaS or PaaS. The choice is driven by priorities such as elasticity, business model, go-to-market strategy and constrained by factors such as technical feasibility, security, migration costs, etc. It's not uncommon for a large enterprise to leverage a hybrid approach in any of the above migration options and paths.

While working with a portfolio of applications, a single all-encompassing migration strategy would not help. Ideally, the migration strategy should be evolved on a per application basis after a thorough evaluation of the applications under consideration. Issues arising out of the migration of hardware infrastructure and architecture should be uncovered and dealt with as part of the implementation strategy.

Migration Paths
Migrating applications to the cloud to benefit from its elastic infrastructure services is a quick, cost-effective, and tactical approach to reap the benefits of the cloud. It offers a natural entry point to exploit the value of the cloud platform without any significant overhead costs. The migration will be straightforward, usually a simple re-hosting exercise, with minimal or no impact on application code. This minimizes any risks with migration while still keeping the costs low. However, it must be said that while this offers a cost-effective approach, it does not offer the cost advantage (while delivering services) against competitors who have true multi-tenant capabilities. Migrating applications to cloud vendors like Amazon EC2 or Rackspace fall under this category.

Migrating applications to SaaS architecture and hosting it on a shared services model gives true multi-tenant cost advantage to an enterprise. It helps rationalize a portfolio by removing redundant applications offerings similar services across geographies or lines of business in favor of a single multi-tenant application shared across all its users. However, enabling SaaS architecture on an existing application could be a daunting task as most of the existing applications are designed to be single tenant. The main principle that lay the foundation for this model is in maintaining a single code base of applications for all its tenants and allowing pluggable mechanisms to address tenant-specific extensions. Thus, a convincing ROI is essential to move directly toward a SaaS approach.

Vendors like Google App Engine, Microsoft Azure offer a cloud platform stack that allows businesses to leverage end-to-end cloud services. Although these vendors provide an overall platform to build and deploy cloud-based applications, they put a lot of constraint on the technology to be used on each of the application layers. Due to these technical constraints, existing applications may need significant changes to support the technology stack of the vendor. These factors practically limit the volume of application workload that can be moved to a PaaS model. In general, a PaaS model is considered most suitable when there is scope for ‘greenfield' development. With existing application assets, PaaS may still be a suitable option when considering a ‘rip-and-replace' strategy.

Table 2 provides high-level guidelines can be considered while selecting a suitable cloud migration path.

Planning and Implementation
When considering migrating an application to the cloud, a common pitfall is to focus on only technical or implementation concerns while overlooking other stakeholder and operations concerns. In reality, they are as important as the technical concerns and must be dealt with and rightly addressed. Thus, during migration planning, understand challenges that must be dealt with, categorize them as enterprise, operational and implementation related, and finally, prioritize and deal with them individually (see Figure 2).

Figure 2: Migration Planning

At the enterprise level, managing the interests of the various stakeholders involved would be the top priority. Other departments that depend on the information system being migrated will have to make appropriate measures to ensure their day-to-day operations are not hindered. Stakeholders could even be external to the organization such as vendors to whom the operations are outsourced. A suitable migration strategy needs to be put in place to handle such scenarios. The enterprise architecture group or entities with a similar function would play a pivotal role in uncovering such scenarios and highlight potential cost implications to senior management in the interest of the enterprise at large.

At the operational level, IT will need to extend its view to include cloud as an extension of their on-premise infrastructure to deliver better services to business. When setting up a private cloud infrastructure within the enterprise, this would mean providing an alternative service delivery model - offering virtualized infrastructure, and associated management infrastructure to support metering, billing and SLA management for its enterprise applications. Similarly, when migrating to a public cloud, assessing impact on existing service level contracts and renegotiating AMC and service levels should be of priority. In either case, mitigate risks by involving all relevant stakeholders during the migration planning phase. If your applications are outsourced and maintained by an external service provider, involving them early in the process would help make the transition smoother.

At the implementation level, challenges will primarily be around the handling of the movement of voluminous data, establishing failover mechanisms and secure communication channels, validation and verification of migration, to name a few. If you depend on external service providers for implementation, the evaluation criteria for selecting a suitable partner must be put in place. When selecting a partner solution provider, consider the size and resource focus of the organization you are considering. Choose a partner that has already achieved success for an organization similar to yours.

The next step is to do a pilot exercise with a handful of key applications to uncover the adoption risks. It is important to do the first migration right and therefore form a baseline approach to evolve for further application migration to the cloud. Create milestones and proof points that let you evaluate early on whether you are on the right track. Ensure that the individuals assigned to the implementation work have the appropriate skill set and experience.

Tools, accelerators and solution enablers greatly help in any implementation to de-risk and optimize delivery. Table 3 summarize few tools and accelerators that may aid in cloud migration.

In this update, we covered the key activities involved with migrating an application to the cloud. We provided broad analysis dimensions that will help organizations identify a suitable application workload, and transform the existing application workload to the cloud platform. Organizations intending to adopt the cloud computing model would benefit from the suggestions and guidelines covered. The recommendations shared here should be treated as only prescriptive, and may vary based on the industry segment and nature of the assets.

We recognize that every organization has its own unique challenges to face and circumstances to deal with. While cloud offers a compelling value proposition, it is also a highly disruptive change and, thus, businesses must be aware of the workforce dynamics within the organization, and take all its key stakeholders into confidence before making the decision.

More Stories By Chetan Kothari

Chetan Kothari works as a Principal Architect at the Java Enterprise Center of Excellence at Infosys Technologies, a Global leader in IT & Business Consulting Services. He has over 12 years experience with expertise in J2EE application framework development, defining, architecting and implementing large-scale, mission-critical, IT Solutions across a range of industries.

More Stories By Ashok Kumar Arumugam

Ashok Kumar Arumugam is a Senior Technology Architect with Software Engineering and Technology Labs at Infosys. He has over 9 years of IT experience in product development, enterprise application design and migration. His areas of interest include application migration management, performance engineering and management, and cloud migration.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

@MicroservicesExpo Stories
Containers have changed the mind of IT in DevOps. They enable developers to work with dev, test, stage and production environments identically. Containers provide the right abstraction for microservices and many cloud platforms have integrated them into deployment pipelines. DevOps and Containers together help companies to achieve their business goals faster and more effectively.
The web app is agile. The REST API is agile. The testing and planning are agile. But alas, data infrastructures certainly are not. Once an application matures, changing the shape or indexing scheme of data often forces at best a top down planning exercise and at worst includes schema changes that force downtime. The time has come for a new approach that fundamentally advances the agility of distributed data infrastructures. Come learn about a new solution to the problems faced by software organ...
Achim Weiss is Chief Executive Officer and co-founder of ProfitBricks. In 1995, he broke off his studies to co-found the web hosting company "Schlund+Partner." The company "Schlund+Partner" later became the 1&1 web hosting product line. From 1995 to 2008, he was the technical director for several important projects: the largest web hosting platform in the world, the second largest DSL platform, a video on-demand delivery network, the largest eMail backend in Europe, and a universal billing syste...
Saviynt Inc. has announced the availability of the next release of Saviynt for AWS. The comprehensive security and compliance solution provides a Command-and-Control center to gain visibility into risks in AWS, enforce real-time protection of critical workloads as well as data and automate access life-cycle governance. The solution enables AWS customers to meet their compliance mandates such as ITAR, SOX, PCI, etc. by including an extensive risk and controls library to detect known threats and b...
Docker is hot. However, as Docker container use spreads into more mature production pipelines, there can be issues about control of Docker images to ensure they are production-ready. Is a promotion-based model appropriate to control and track the flow of Docker images from development to production? In his session at DevOps Summit, Fred Simon, Co-founder and Chief Architect of JFrog, will demonstrate how to implement a promotion model for Docker images using a binary repository, and then show h...
DevOps has often been described in terms of CAMS: Culture, Automation, Measuring, Sharing. While we’ve seen a lot of focus on the “A” and even on the “M”, there are very few examples of why the “C" is equally important in the DevOps equation. In her session at @DevOps Summit, Lori MacVittie, of F5 Networks, will explore HTTP/1 and HTTP/2 along with Microservices to illustrate why a collaborative culture between Dev, Ops, and the Network is critical to ensuring success.
Overgrown applications have given way to modular applications, driven by the need to break larger problems into smaller problems. Similarly large monolithic development processes have been forced to be broken into smaller agile development cycles. Looking at trends in software development, microservices architectures meet the same demands. Additional benefits of microservices architectures are compartmentalization and a limited impact of service failure versus a complete software malfunction....
Despite all the talk about public cloud services and DevOps, you would think the move to cloud for enterprises is clear and simple. But in a survey of almost 1,600 IT decision makers across the USA and Europe, the state of the cloud in enterprise today is still fraught with considerable frustration. The business case for apps in the real world cloud is hybrid, bimodal, multi-platform, and difficult. Download this report commissioned by NTT Communications to see the insightful findings – registra...
Manufacturing has widely adopted standardized and automated processes to create designs, build them, and maintain them through their life cycle. However, many modern manufacturing systems go beyond mechanized workflows to introduce empowered workers, flexible collaboration, and rapid iteration. Such behaviors also characterize open source software development and are at the heart of DevOps culture, processes, and tooling.
Containers are revolutionizing the way we deploy and maintain our infrastructures, but monitoring and troubleshooting in a containerized environment can still be painful and impractical. Understanding even basic resource usage is difficult - let alone tracking network connections or malicious activity. In his session at DevOps Summit, Gianluca Borello, Sr. Software Engineer at Sysdig, will cover the current state of the art for container monitoring and visibility, including pros / cons and li...
DevOps Summit at Cloud Expo 2014 Silicon Valley was a terrific event for us. The Qubell booth was crowded on all three days. We ran demos every 30 minutes with folks lining up to get a seat and usually standing around. It was great to meet and talk to over 500 people! My keynote was well received and so was Stan's joint presentation with RingCentral on Devops for BigData. I also participated in two Power Panels – ‘Women in Technology’ and ‘Why DevOps Is Even More Important than You Think,’ both ...
In a report titled “Forecast Analysis: Enterprise Application Software, Worldwide, 2Q15 Update,” Gartner analysts highlighted the increasing trend of application modernization among enterprises. According to a recent survey, 45% of respondents stated that modernization of installed on-premises core enterprise applications is one of the top five priorities. Gartner also predicted that by 2020, 75% of
As the world moves towards more DevOps and microservices, application deployment to the cloud ought to become a lot simpler. The microservices architecture, which is the basis of many new age distributed systems such as OpenStack, NetFlix and so on, is at the heart of Cloud Foundry - a complete developer-oriented Platform as a Service (PaaS) that is IaaS agnostic and supports vCloud, OpenStack and AWS. In his session at 17th Cloud Expo, Raghavan "Rags" Srinivas, an Architect/Developer Evangeli...
Our guest on the podcast this week is Jason Bloomberg, President at Intellyx. When we build services we want them to be lightweight, stateless and scalable while doing one thing really well. In today's cloud world, we're revisiting what to takes to make a good service in the first place. Listen in to learn why following "the book" doesn't necessarily mean that you're solving key business problems.
For it to be SOA – let alone SOA done right – we need to pin down just what "SOA done wrong" might be. First-generation SOA with Web Services and ESBs, perhaps? But then there's second-generation, REST-based SOA. More lightweight and cloud-friendly, but many REST-based SOA practices predate the microservices wave. Today, microservices and containers go hand in hand – only the details of "container-oriented architecture" are largely on the drawing board – and are not likely to look much like S...
In their session at DevOps Summit, Asaf Yigal, co-founder and the VP of Product at, and Tomer Levy, co-founder and CEO of, will explore the entire process that they have undergone – through research, benchmarking, implementation, optimization, and customer success – in developing a processing engine that can handle petabytes of data. They will also discuss the requirements of such an engine in terms of scalability, resilience, security, and availability along with how the archi...
Any Ops team trying to support a company in today’s cloud-connected world knows that a new way of thinking is required – one just as dramatic than the shift from Ops to DevOps. The diversity of modern operations requires teams to focus their impact on breadth vs. depth. In his session at DevOps Summit, Adam Serediuk, Director of Operations at xMatters, Inc., will discuss the strategic requirements of evolving from Ops to DevOps, and why modern Operations has begun leveraging the “NoOps” approa...
The last decade was about virtual machines, but the next one is about containers. Containers enable a service to run on any host at any time. Traditional tools are starting to show cracks because they were not designed for this level of application portability. Now is the time to look at new ways to deploy and manage applications at scale. In his session at @DevOpsSummit, Brian “Redbeard” Harrington, a principal architect at CoreOS, will examine how CoreOS helps teams run in production. Attende...
With containerization using Docker, the orchestration of containers using Kubernetes, the self-service model for provisioning your projects and applications and the workflows we built in OpenShift is the best in class Platform as a Service that enables introducing DevOps into your organization with ease. In his session at DevOps Summit, Veer Muchandi, PaaS evangelist with RedHat, will provide a deep dive overview of OpenShift v3 and demonstrate how it helps with DevOps.
All we need to do is have our teams self-organize, and behold! Emergent design and/or architecture springs up out of the nothingness! If only it were that easy, right? I follow in the footsteps of so many people who have long wondered at the meanings of such simple words, as though they were dogma from on high. Emerge? Self-organizing? Profound, to be sure. But what do we really make of this sentence?