Cloud Application, Infrastructure Deployments: Pre-Migration Testing Is Required
With 77 percent of enterprises reporting that they have at least one application or a portion of their enterprise computing infrastructure in the cloud, the move to the cloud is well and truly underway. Worryingly though, research indicates two-thirds of these companies say that they failed to fully derive intended business benefits like cost savings, scalability, agility and rapid IT modernization.
While the promise of the cloud is immense, it has associated risks ranging from failure of migrated systems not performing as per expectations to sub-optimal realization of the full business potential. There are three major barriers holding companies back from getting the most out of their cloud investments: inherent complexity of cloud architectures, security and compliance risk, and post-migration performance issues.
Increased complexity means more challenges
Now, this is not surprising as cloud architectures have different characteristics than those of traditional on-premise systems. To ensure that migrated systems perform without a hitch, cloud-specific behavior attributes need to be tested and evaluated based on their failure propensities in a phased manner. A rigorous pre-migration testing approach is a must to avoid the pain of post migration failure. To paraphrase a popular saying, a test in time saves nine!
Let’s take a closer look at the challenges preventing smooth transition to cloud for many organizations:
- Sizing optimization for cloud: One of the challenges is cloud architecture sizing. Though there are plenty of tools that discover current on-prem infrastructure resources and map the same to specific cloud provider profiles, forecasting and simulating business and user workloads for the future and estimating an optimized cloud architecture is a different matter altogether. It can be a challenge to optimize the cloud bill of materials while keeping costs low.
- Design choice and consequences: Cloud architects need to make trade-offs and design choices while architecting for cloud migrations. These design choices include database, load balancers, webservers and various parameters like timeouts, fallbacks and retries. The run-time consequences of these choices can be tough to understand and predict accurately during design time, causing production outages and service degradations under specific conditions and triggers.
- Resiliency: The poly-cloud, heterogeneous and distributed nature of cloud architecture, coupled with varying user and business workloads, can cause unpredictable failures. Though the underlying cloud infrastructure provides hardware redundancy, it is the application’s responsibility to be resilient to failures. Testing for resiliency – recovering from failures or degrading gracefully rather than having outright outage – is very important for cloud.
- Security: Cloud has more serious security implications since the computing and storage resources are located physically and logically separate from enterprise systems. As a result, cloud architecture has more points of vulnerabilities and wider attack surface than on-prem. Testing for security, therefore, is extremely important
- Performance: The inherent lack of control in cloud migrated applications due to multi-vendor and heterogeneous environment (partly on-prem and partly on cloud) can cause performance issues, leading to severe business impact. Capacity and performance modeling help mitigate these risks.
Pre-migration testing to the rescue
You would notice that most of these challenges result from the inherent complexity of cloud architectures. These complexities are unavoidable if we want to take full advantage of the promise of the cloud like rapid provisioning, demand elasticity, scalability, multi-tenancy, efficient resource sharing, etc. The key is mitigating these complexities and challenges as far as possible with a smart, planned approach that includes rigorous testing and assurance before and during migration to the cloud.
Accenture research shows that when it comes to cloud technology, the more clients consume, the greater value they’ll see in return. However, cloud migrations are complex and have risk of failure due to multiple factors. It is important to mitigate the risks and assure techno-business imperatives using a proven, automated and analytics-driven testing approach.
In subsequent blog posts, we’ll examine each of these challenges in detail and discuss how specialized testing can help alleviate them.