Click here to close now.




















Welcome!

Microservices Expo Authors: Pat Romanski, Elizabeth White, Mike Kavis, Ian Khan, Lori MacVittie

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.

Assessment
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.

Conclusion
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
SYS-CON Events announced today that the "Second Containers & Microservices Expo" will take place November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Containers and microservices have become topics of intense interest throughout the cloud developer and enterprise IT communities.
The Software Defined Data Center (SDDC), which enables organizations to seamlessly run in a hybrid cloud model (public + private cloud), is here to stay. IDC estimates that the software-defined networking market will be valued at $3.7 billion by 2016. Security is a key component and benefit of the SDDC, and offers an opportunity to build security 'from the ground up' and weave it into the environment from day one. In his session at 16th Cloud Expo, Reuven Harrison, CTO and Co-Founder of Tufin,...
Container technology is sending shock waves through the world of cloud computing. Heralded as the 'next big thing,' containers provide software owners a consistent way to package their software and dependencies while infrastructure operators benefit from a standard way to deploy and run them. Containers present new challenges for tracking usage due to their dynamic nature. They can also be deployed to bare metal, virtual machines and various cloud platforms. How do software owners track the usag...
Our guest on the podcast this week is JP Morgenthal, Global Solutions Executive at CSC. We discuss the architecture of microservices and how to overcome the challenge of making different tools work together. We learn about the importance of hiring engineers who can compose services into an integrated system.
Alibaba, the world’s largest ecommerce provider, has pumped over a $1 billion into its subsidiary, Aliya, a cloud services provider. This is perhaps one of the biggest moments in the global Cloud Wars that signals the entry of China into the main arena. Here is why this matters. The cloud industry worldwide is being propelled into fast growth by tremendous demand for cloud computing services. Cloud, which is highly scalable and offers low investment and high computational capabilities to end us...
You often hear the two titles of "DevOps" and "Immutable Infrastructure" used independently. In his session at DevOps Summit, John Willis, Technical Evangelist for Docker, covered the union between the two topics and why this is important. He provided an overview of Immutable Infrastructure then showed how an Immutable Continuous Delivery pipeline can be applied as a best practice for "DevOps." He ended the session with some interesting case study examples.
One of the ways to increase scalability of services – and applications – is to go “stateless.” The reasons for this are many, but in general by eliminating the mapping between a single client and a single app or service instance you eliminate the need for resources to manage state in the app (overhead) and improve the distributability (I can make up words if I want) of requests across a pool of instances. The latter occurs because sessions don’t need to hang out and consume resources that could ...
Microservices has the potential of significantly impacting the way in which developers create applications. It's possible to create applications using microservices faster and more efficiently than other technologies that are currently available. The problem is that many people are suspicious of microservices because of all the technology claims to do. In addition, anytime you start moving things around in an organization, it means changing the status quo and people dislike change. Even so, micr...
"We've just seen a huge influx of new partners coming into our ecosystem, and partners building unique offerings on top of our API set," explained Seth Bostock, Chief Executive Officer at IndependenceIT, in this SYS-CON.tv interview at 16th Cloud Expo, held June 9-11, 2015, at the Javits Center in New York City.
SYS-CON Events announced today that HPM Networks will exhibit at the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. For 20 years, HPM Networks has been integrating technology solutions that solve complex business challenges. HPM Networks has designed solutions for both SMB and enterprise customers throughout the San Francisco Bay Area.
Digital Transformation is the ultimate goal of cloud computing and related initiatives. The phrase is certainly not a precise one, and as subject to hand-waving and distortion as any high-falutin' terminology in the world of information technology. Yet it is an excellent choice of words to describe what enterprise IT—and by extension, organizations in general—should be working to achieve. Digital Transformation means: handling all the data types being found and created in the organizat...
JavaScript is primarily a client-based dynamic scripting language most commonly used within web browsers as client-side scripts to interact with the user, browser, and communicate asynchronously to servers. If you have been part of any web-based development, odds are you have worked with JavaScript in one form or another. In this article, I'll focus on the aspects of JavaScript that are relevant within the Node.js environment.
Approved this February by the Internet Engineering Task Force (IETF), HTTP/2 is the first major update to HTTP since 1999, when HTTP/1.1 was standardized. Designed with performance in mind, one of the biggest goals of HTTP/2 implementation is to decrease latency while maintaining a high-level compatibility with HTTP/1.1. Though not all testing activities will be impacted by the new protocol, it's important for testers to be aware of any changes moving forward.
This week, I joined SOASTA as Senior Vice President of Performance Analytics. Given my background in cloud computing and distributed systems operations — you may have read my blogs on CNET or GigaOm — this may surprise you, but I want to explain why this is the perfect time to take on this opportunity with this team. In fact, that’s probably the best way to break this down. To explain why I’d leave the world of infrastructure and code for the world of data and analytics, let’s explore the timing...
Learn how to solve the problem of keeping files in sync between multiple Docker containers. In his session at 16th Cloud Expo, Aaron Brongersma, Senior Infrastructure Engineer at Modulus, discussed using rsync, GlusterFS, EBS and Bit Torrent Sync. He broke down the tools that are needed to help create a seamless user experience. In the end, can we have an environment where we can easily move Docker containers, servers, and volumes without impacting our applications? He shared his results so yo...
Auto-scaling environments, micro-service architectures and globally-distributed teams are just three common examples of why organizations today need automation and interoperability more than ever. But is interoperability something we simply start doing, or does it require a reexamination of our processes? And can we really improve our processes without first making interoperability a requirement for how we choose our tools?
Cloud Migration Management (CMM) refers to the best practices for planning and managing migration of IT systems from a legacy platform to a Cloud Provider through a combination professional services consulting and software tools. A Cloud migration project can be a relatively simple exercise, where applications are migrated ‘as is’, to gain benefits such as elastic capacity and utility pricing, but without making any changes to the application architecture, software development methods or busine...
The Internet of Things. Cloud. Big Data. Real-Time Analytics. To those who do not quite understand what these phrases mean (and let’s be honest, that’s likely to be a large portion of the world), words like “IoT” and “Big Data” are just buzzwords. The truth is, the Internet of Things encompasses much more than jargon and predictions of connected devices. According to Parker Trewin, Senior Director of Content and Communications of Aria Systems, “IoT is big news because it ups the ante: Reach out ...
At DevOps Summit NY there’s been a whole lot of talk about not just DevOps, but containers, IoT, and microservices. Sessions focused not just on the cultural shift needed to grow at scale with a DevOps approach, but also made sure to include the network ”plumbing” needed to ensure success as applications decompose into the microservice architectures enabling rapid growth and support for the Internet of (Every)Things.
Our guest on the podcast this week is Adrian Cockcroft, Technology Fellow at Battery Ventures. We discuss what makes Docker and Netflix highly successful, especially through their use of well-designed IT architecture and DevOps.