Welcome!

@CloudExpo Authors: Ed Featherston, Rostyslav Demush, Jamie Madison, Jason Bloomberg, Greg Pierce

Related Topics: @CloudExpo, Containers Expo Blog

@CloudExpo: Article

Testing Considerations for Application Migration to Cloud Computing

Cloud application testing

Cloud computing adds a new dimension to conventional models of testing services delivery. Gartner highlights the five attributes of cloud computing as service-based, scalable and elastic, shared, metered by use, uses internet technologies (1). Cloud computing characteristics such as virtualization, on-demand scale up/down of infrastructure resources, self service capabilities and pay per use pricing models are allowing cloud platform vendors to provide infrastructure and software services at lower costs to organizations utilizing cloud computing services (2).

There is a growing trend of organizations taking up cloud computing initiatives to consolidate infrastructure that is geographically spread in multiple data centers to a single cloud platform vendor. Minimizing upfront infrastructure investment, ability to scale up/down quickly, high availability and disaster recovery are the other key factors contributing to early cloud adoption. Organizations are interested in having greater visibility into how infrastructure resources are consumed, aligning infrastructure needs to actual demand and lowering infrastructure management and support costs. Organizations should be aware of the application considerations for migration to cloud platforms to ensure a smooth transition to cloud environment (3).

Testing considerations and focus areas
The following are the key considerations that are helpful in locating areas that would require focus during test planning:

  • Application changes and on-premise interfaces - Moving an application to the cloud may require changes to the application to suit with the environment available on the cloud platform. For example, if the application is running on Solaris on-premise and the operating systems available on the cloud platform are RedHat Linux and Suse Linux, the application will require additional testing on the cloud platform. In addition, requirements such as authentication against on-premise active directory and new interfaces built with on-premise systems lead to additional areas for application testing.
  • Data migration - The data migrated from on-premise to cloud to take advantage of the storage services available on the cloud platform for additional storage needs, backup and archival requires new test cases to be developed as part of test planning.
  • Security - Organizations may decide to enforce access to application features utilizing on-premise user directories for authentication and authorization. In addition, web applications being migrated from with-in the firewall to a public internet on cloud require transport security mechanisms such as SSL. Data stored in cloud storage may have to be encrypted for security and compliance needs. The best practice is to secure the data in transit as well as the data at rest (4). Security testing of these new features has to be incorporated in to overall test planning.
  • Performance - The application needs to be load and stress tested on the cloud platform to ensure that system response is as per SLAs. As cloud platforms are often used for consolidating infrastructure in multiple regions to a specific region, special attention is needed to ensure that system performance is at optimum levels. This will require testing the latency in system response in comparison to response from on-premise environment for taking appropriate steps for performance improvement.
  • Scalability - Applications are usually migrated to cloud to take advantage of the elasticity features provided by cloud platforms for quick ramp up/down of computing resources to align with actual demand. The ability of the cloud environment to meet the on-demand needs of the application requires careful planning of the test scenarios and load for performance testing.
  • Availability and Disaster Recovery - Load balancers and elastic computing features for auto-provisioning play a critical role in ensuring high availability on the cloud. The ability of the cloud environment to withstand peak load and server failures has to be tested prior to releasing the application for producing use. Cloud platforms such as Amazon EC2 allow placing multiple instances in different availability zones in a region to protect applications from failure of a single location (5). The availability of the application has to be tested by simulating the failure of an application instance in a location. Also, data recovery mechanisms in place have to be tested for ensuring proper disaster recovery.

Cloud computing aspects conducive to testing
Testing an application being migrated to a cloud platform requires the test environment to be setup in the cloud environment. The following are some aspects of cloud computing that are conducive for setting up test environments on cloud platforms:

  • Reduce the lead-time for procuring infrastructure - Less time to provision infrastructure resources using self-service interfaces
  • Optimal use of hardware resources - In-house test environments require hardware, which most of the time goes unused. With cloud, the resources can be scaled  up or down to keep pace with demand which leads to efficient utilization of resources
  • Pay-per-use - With cloud, there is no need to budget for extra hardware. Additional resources can be procured easily for the test environment using pay per use models
  • Quick resource ramp-up - Cloud is ideal for quickly ramping up resources for the following testing needs: Testing an application on multiple operating systems, multiple browser types and multiple software versions (JVM, App Server etc.)
  • Setting-up multiple test regions - Cloud makes it cost-effective for creating separate test regions for system testing. Often, minimal infrastructure is enough for testing functional aspects of an app location. Large infrastructure needed to simulate production environment can be procured quickly for the duration of testing
  • Reduce software licensing costs - On-demand testing tools on cloud are cost effective and the pay per use models provide relief from costly one-time licensing of testing tools (6)

Enhancements to Testing Methodology for Cloud Testing
The enhancements proposed to the conventional software testing methodology are based on our experience with deploying and testing J2EE, .Net applications, and commercial as well as open source packages on Amazon EC2 and Microsoft Azure cloud platforms.

A typical cloud testing methodology is comprised of the following phases: Test Planning, Test Design, Cloud Setup, Test Execution, Remediation and Closure. The methodology for testing applications on the cloud platform requires additional activities in the following phases:

  • Cloud Setup - The setup of test environment on the cloud requires familiarity of the target cloud platform. Testing teams need training on key functions such as setting up a cloud account, provisioning cloud resources (Virtual Machines (VMs), storage, load balancers, software licenses). An understating of the cloud monitoring tools is essential to monitor system response and resource usage.
  • Test Execution - Based on the test requirements for the application, additional resources may have to be procured for computing as well as storage. For example, performance testing of the application will require a true representation of the production data for effective results. It may also require additional VMs to simulate computing support for handling larger loads. Testing application security will require understanding of the firewall rules, routing of requests and data access rules.
  • Closure - Cloud platforms provide storage at low cost and are ideal for archiving test cases, test results and test data. The VMs used for testing can be saved as images in cloud storage and can be restored later to recreate the test environment quickly for subsequent releases. Once the testing phase is complete, all the cloud resources can be released to keep the overall testing costs low.

Conclusion
Testing applications that are being migrated to the cloud requires a careful assessment of the testing considerations from the perspective of what application changes are undertaken for cloud deployment. This will help testing members in understanding application areas that need specific focus during testing on the cloud platform. In addition, knowledge of the cloud platform capabilities for scalability, availability and disaster recovery is useful for test planning. Testing teams should get acquainted with the cloud platform for accessing the test environment, monitoring and perform all test related activities. An understanding of the innovations cloud computing brings to testing services, especially test environment on the cloud and cloud based testing tools, will enable better utilization of the cloud computing capabilities by organizations for effective gains.

References

  1. Gartner Highlights Five Attributes of Cloud Computing, http://www.gartner.com/it/page.jsp?id=1035013
  2. The Five Characteristics of Cloud Computing, Maria Spínola, Cloud Computing Journal, http://cloudcomputing.sys-con.com/node/1087426
  3. Application Migration Considerations for Cloud Computing, Rajagopal Sattaluri, Cloud Computing Journal, http://cloudcomputing.sys-con.com/node/1686320
  4. Architecting for the Cloud: Best Practices, http://media.amazonwebservices.com/AWS_Cloud_Best_Practices.pdf
  5. Amazon Elastic Computing Cloud, Features - Multiple Locations, http://aws.amazon.com/ec2/
  6. HP and Amazon Web Services, http://aws.amazon.com/hp/

More Stories By Rajagopal Sattaluri

Rajagopal Sattaluri currently heads the Solution Architecture Team at Mahindra Satyam. He is a TOGAF certified enterprise architect. He has over 20 years experience in software development with expertise in Solution Architecture Consulting, Technology Evaluation, New Technology Research and Development, Product Development and Offshore Software Development. He is a staunch promoter of Agile, Cloud Computing and SOA. Rajagopal has a Masters degree in Management from North Carolina State University, USA and an under graduate degree in Computer Engineering from Andhra University, India.

@CloudExpo Stories
"ZeroStack is a startup in Silicon Valley. We're solving a very interesting problem around bringing public cloud convenience with private cloud control for enterprises and mid-size companies," explained Kamesh Pemmaraju, VP of Product Management at ZeroStack, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"Codigm is based on the cloud and we are here to explore marketing opportunities in America. Our mission is to make an ecosystem of the SW environment that anyone can understand, learn, teach, and develop the SW on the cloud," explained Sung Tae Ryu, CEO of Codigm, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
High-velocity engineering teams are applying not only continuous delivery processes, but also lessons in experimentation from established leaders like Amazon, Netflix, and Facebook. These companies have made experimentation a foundation for their release processes, allowing them to try out major feature releases and redesigns within smaller groups before making them broadly available. In his session at 21st Cloud Expo, Brian Lucas, Senior Staff Engineer at Optimizely, discussed how by using ne...
"There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
Enterprises are moving to the cloud faster than most of us in security expected. CIOs are going from 0 to 100 in cloud adoption and leaving security teams in the dust. Once cloud is part of an enterprise stack, it’s unclear who has responsibility for the protection of applications, services, and data. When cloud breaches occur, whether active compromise or a publicly accessible database, the blame must fall on both service providers and users. In his session at 21st Cloud Expo, Ben Johnson, C...
"Infoblox does DNS, DHCP and IP address management for not only enterprise networks but cloud networks as well. Customers are looking for a single platform that can extend not only in their private enterprise environment but private cloud, public cloud, tracking all the IP space and everything that is going on in that environment," explained Steve Salo, Principal Systems Engineer at Infoblox, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventio...
Data scientists must access high-performance computing resources across a wide-area network. To achieve cloud-based HPC visualization, researchers must transfer datasets and visualization results efficiently. HPC clusters now compute GPU-accelerated visualization in the cloud cluster. To efficiently display results remotely, a high-performance, low-latency protocol transfers the display from the cluster to a remote desktop. Further, tools to easily mount remote datasets and efficiently transfer...
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Agile has finally jumped the technology shark, expanding outside the software world. Enterprises are now increasingly adopting Agile practices across their organizations in order to successfully navigate the disruptive waters that threaten to drown them. In our quest for establishing change as a core competency in our organizations, this business-centric notion of Agile is an essential component of Agile Digital Transformation. In the years since the publication of the Agile Manifesto, the conn...
"We're developing a software that is based on the cloud environment and we are providing those services to corporations and the general public," explained Seungmin Kim, CEO/CTO of SM Systems Inc., in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
The question before companies today is not whether to become intelligent, it’s a question of how and how fast. The key is to adopt and deploy an intelligent application strategy while simultaneously preparing to scale that intelligence. In her session at 21st Cloud Expo, Sangeeta Chakraborty, Chief Customer Officer at Ayasdi, provided a tactical framework to become a truly intelligent enterprise, including how to identify the right applications for AI, how to build a Center of Excellence to oper...
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
In his session at 21st Cloud Expo, James Henry, Co-CEO/CTO of Calgary Scientific Inc., introduced you to the challenges, solutions and benefits of training AI systems to solve visual problems with an emphasis on improving AIs with continuous training in the field. He explored applications in several industries and discussed technologies that allow the deployment of advanced visualization solutions to the cloud.
While some developers care passionately about how data centers and clouds are architected, for most, it is only the end result that matters. To the majority of companies, technology exists to solve a business problem, and only delivers value when it is solving that problem. 2017 brings the mainstream adoption of containers for production workloads. In his session at 21st Cloud Expo, Ben McCormack, VP of Operations at Evernote, discussed how data centers of the future will be managed, how the p...