Microservices Expo Authors: Liz McMillan, Yeshim Deniz, Derek Weeks, Pat Romanski, Sematext Blog

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
Virgil consists of an open-source encryption library, which implements Cryptographic Message Syntax (CMS) and Elliptic Curve Integrated Encryption Scheme (ECIES) (including RSA schema), a Key Management API, and a cloud-based Key Management Service (Virgil Keys). The Virgil Keys Service consists of a public key service and a private key escrow service. 

Apache Hadoop is a key technology for gaining business insights from your Big Data, but the penetration into enterprises is shockingly low. In fact, Apache Hadoop and Big Data proponents recognize that this technology has not yet achieved its game-changing business potential. In his session at 19th Cloud Expo, John Mertic, director of program management for ODPi at The Linux Foundation, will explain why this is, how we can work together as an open data community to increase adoption, and the i...
What do dependency resolution, situational awareness, and superheroes have in common? Meet Chris Corriere, a DevOps/Software Engineer at Autotrader, speaking on creative ways to maximize usage of all of the above. Mark Miller, Community Advocate and senior storyteller at Sonatype, caught up with Chris to learn more about what his team is up to.
All clouds are not equal. To succeed in a DevOps context, organizations should plan to develop/deploy apps across a choice of on-premise and public clouds simultaneously depending on the business needs. This is where the concept of the Lean Cloud comes in - resting on the idea that you often need to relocate your app modules over their life cycles for both innovation and operational efficiency in the cloud. In his session at @DevOpsSummit at19th Cloud Expo, Valentin (Val) Bercovici, CTO of So...
Monitoring of Docker environments is challenging. Why? Because each container typically runs a single process, has its own environment, utilizes virtual networks, or has various methods of managing storage. Traditional monitoring solutions take metrics from each server and applications they run. These servers and applications running on them are typically very static, with very long uptimes. Docker deployments are different: a set of containers may run many applications, all sharing the resource...
SYS-CON Events announced today that eCube Systems, the leading provider of modern development tools and best practices for Continuous Integration on OpenVMS, will exhibit at SYS-CON's @DevOpsSummit at Cloud Expo New York, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. eCube Systems offers a family of middleware products and development tools that maximize return on technology investment by leveraging existing technical equity to meet evolving business needs. ...
DevOps is a term that comes full of controversy. A lot of people are on the bandwagon, while others are waiting for the term to jump the shark, and eventually go back to business as usual. Regardless of where you are along the specturm of loving or hating the term DevOps, one thing is certain. More and more people are using it to describe a system administrator who uses scripts, or tools like, Chef, Puppet or Ansible, in order to provision infrastructure. There is also usually an expectation of...
JetBlue Airways uses virtual environments to reduce software development costs, centralize performance testing, and create a climate for continuous integration and real-time monitoring of mobile applications. The next BriefingsDirect Voice of the Customer performance engineering case study discussion examines how JetBlue Airways in New York uses virtual environments to reduce software development costs, centralize performance testing, and create a climate for continuous integration and real-tim...
The general concepts of DevOps have played a central role advancing the modern software delivery industry. With the library of DevOps best practices, tips and guides expanding quickly, it can be difficult to track down the best and most accurate resources and information. In order to help the software development community, and to further our own learning, we reached out to leading industry analysts and asked them about an increasingly popular tenet of a DevOps transformation: collaboration.
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
In case you haven’t heard, the new hotness in app architectures is serverless. Mainly restricted to cloud environments (Amazon Lambda, Google Cloud Functions, Microsoft Azure Functions) the general concept is that you don’t have to worry about anything but the small snippets of code (functions) you write to do something when something happens. That’s an event-driven model, by the way, that should be very familiar to anyone who has taken advantage of a programmable proxy to do app or API routing ...
At its core DevOps is all about collaboration. The lines of communication must be opened and it takes some effort to ensure that they stay that way. It’s easy to pay lip service to trends and talk about implementing new methodologies, but without action, real benefits cannot be realized. Success requires planning, advocates empowered to effect change, and, of course, the right tooling. To bring about a cultural shift it’s important to share challenges. In simple terms, ensuring that everyone k...
DevOps is speeding towards the IT world like a freight train and the hype around it is deafening. There is no reason to be afraid of this change as it is the natural reaction to the agile movement that revolutionized development just a few years ago. By definition, DevOps is the natural alignment of IT performance to business profitability. The relevance of this has yet to be quantified but it has been suggested that the route to the CEO’s chair will come from the IT leaders that successfully ma...
SYS-CON Events announced today that SoftNet Solutions will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. SoftNet Solutions specializes in Enterprise Solutions for Hadoop and Big Data. It offers customers the most open, robust, and value-conscious portfolio of solutions, services, and tools for the shortest route to success with Big Data. The unique differentiator is the ability to architect and ...
DevOps is being widely accepted (if not fully adopted) as essential in enterprise IT. But as Enterprise DevOps gains maturity, expands scope, and increases velocity, the need for data-driven decisions across teams becomes more acute. DevOps teams in any modern business must wrangle the ‘digital exhaust’ from the delivery toolchain, "pervasive" and "cognitive" computing, APIs and services, mobile devices and applications, the Internet of Things, and now even blockchain. In this power panel at @...
@DevOpsSummit has been named the ‘Top DevOps Influencer' by iTrend. iTrend processes millions of conversations, tweets, interactions, news articles, press releases, blog posts - and extract meaning form them and analyzes mobile and desktop software platforms used to communicate, various metadata (such as geo location), and automation tools. In overall placement, @DevOpsSummit ranked as the number one ‘DevOps Influencer' followed by @CloudExpo at third, and @MicroservicesE at 24th.
As software becomes more and more complex, we, as software developers, have been splitting up our code into smaller and smaller components. This is also true for the environment in which we run our code: going from bare metal, to VMs to the modern-day Cloud Native world of containers, schedulers and microservices. While we have figured out how to run containerized applications in the cloud using schedulers, we've yet to come up with a good solution to bridge the gap between getting your conta...
Without lifecycle traceability and visibility across the tool chain, stakeholders from Planning-to-Ops have limited insight and answers to who, what, when, why and how across the DevOps lifecycle. This impacts the ability to deliver high quality software at the needed velocity to drive positive business outcomes. In his session at @DevOpsSummit 19th Cloud Expo, Eric Robertson, General Manager at CollabNet, will show how customers are able to achieve a level of transparency that enables everyon...
DevOps theory promotes a culture of continuous improvement built on collaboration, empowerment, systems thinking, and feedback loops. But how do you collaborate effectively across the traditional silos? How can you make decisions without system-wide visibility? How can you see the whole system when it is spread across teams and locations? How do you close feedback loops across teams and activities delivering complex multi-tier, cloud, container, serverless, and/or API-based services?
Today every business relies on software to drive the innovation necessary for a competitive edge in the Application Economy. This is why collaboration between development and operations, or DevOps, has become IT’s number one priority. Whether you are in Dev or Ops, understanding how to implement a DevOps strategy can deliver faster development cycles, improved software quality, reduced deployment times and overall better experiences for your customers.