Successfully migrating applications to the cloud requires a solid understanding of a few key requirements. Luckily, we have covered all of these in our ongoing cloud readiness series]. First, you need to know the locations that make up the cloud and the networks that connect them. Second, you must consider what you want to accomplish with your move to the cloud as well as your applications’ hosting requirements and the steps needed to migrate them. Then you need to know the difference between refactoring your applications to migrate them into the cloud vs. a “lift and shift” migration as well as the ongoing operational oversight and data stewardship needed in either case.
With this knowledge, the next step is to design a solution to host your applications and their data in the cloud. When designing the solution, you should use a combination of PaaS and SaaS “as a Service” offerings as well as the Infrastructure-as-a-Service (IaaS) components that yield the least complex configuration while still meeting all of your applications’ functionality and data management requirements. In keeping with this, Hyperscale providers such as AWS, Azure, and Google all provide (amongst many other things) a basic set of components and “as a Service” offerings sufficient to host most applications.
Why then, would you go beyond the basics when designing a solution to host your cloud applications? There are a two major reasons. Your applications may have requirements that cannot be met otherwise, or they have requirements where going beyond the basics will decrease the complexity of the final solution as well as the cost and level of effort to implement it.
So, it goes without saying that you should stick to the basics if:
1. Your applications experience a nearly constant level of load
2. Your applications’ availability requirements can be met by a single availability zone
3. Your applications’ disaster recovery (DR) requirements can be met with the replication tools built into your applications’ databases and other data repositories
4. Your data warehousing and analytic workloads do not slow application performance
5. Your developers and testers do not require rapid access to current dedicated copies of production data
6. Your production, development, test, analytic, and other requirements can all be sufficiently met by a single cloud provider
However, enterprise applications often have functionality and data management requirements far greater than those described above:
1. Applications often require the ability to rapidly add capacity to accommodate highly variable levels of load
2. Applications often have availability requirements that cannot be met by a single availability zone
3. Applications are often required to be back online quickly with minimal data loss in the event of a regional disaster
4. Data warehousing and analytic workloads often slow application performance by overloading databases and other data repositories
5. Developers and testers often require rapid access to individual copies of the current production dataset
6. Development, testing, and analytic organizations all have very different and specialized requirements that cannot all be best met by the same cloud provider
Additionally, organizations are often required to retain data backups at multiple locations for months, if not years, as well as regularly migrate data within and between environments.
While it may seem as if the above requirements are beyond today’s technologies, partners like NetApp have been providing data management solutions able to meet these requirements for decades. In addition to storing and replicating both Network Attached Storage (NAS) and block data, these solutions also provide the ability to share NAS and block devices between clusters of servers and rapidly create Snapshot-based backups as well as read/write clone copies of data.
To meet these requirements in today’s cloud world, these same partners have ported their solutions to run on virtual hardware in Hyperscale provider environments, making it possible for their customers to seamlessly extend their IT infrastructures and data management strategies into the cloud.
By leveraging a data management solution with advanced features across your cloud and other environments, you gain certain inherent abilities:
1. The ability to store a single copy of your applications’ file-based content and data on NAS shares that makes content and data immediately available to new capacity rather than wasting time and disk space creating and storing additional copies
2. The ability to store your databases and other data repositories in a highly available storage solution that spans availability zones, which enables database clusters and other data repositories to operate without interruption in the event of an availability zone failure
3. The ability to easily replicate all of your applications’ data to any number of other environments with a single comprehensive data replication solution to ensure the ability to resume operations with minimum data loss in the event of a disaster that eliminates an entire environment or region
4. The ability to rapidly deploy read/write clone-copies of databases and other data repositories as the input for data warehouse and analytic workloads to eliminate their performance impact on your production application instances
5. The ability to rapidly and repeatedly deploy as many read/write clone-copies of the production dataset as needed to provide each of your developers and testers with current copies of the production data
6. The ability to replicate your applications’ data between environments, thus enabling your development, testing, and analytic organizations to each select the environment to work in that best meets their individual needs
Finally, with these advanced data management solutions, you will be able to create and retain backups at as many locations as needed for as long as needed and avoid the extra effort normally associated with data migrations both within and between locations.
Arguably, going beyond the basics by leveraging a data management solution such as NetApp’s ONTAP to host your cloud applications will entail some level of investment. However, these data management solutions will dramatically simplify meeting your deployment, availability, data migration, disaster recovery, backup and recovery, analytic, development, and testing requirements by:
1. Providing a shared storage solution that allows clusters of servers to have access to the same data, spans availability zones for increased data availability and includes built-in snapshot backups for fast data recovery
2. Providing the ability to rapidly create read/write clones of production data to avoid the performance impact of analytic workloads and give developers and testers dedicated copies of production data
3. Providing a replication solution that enables DR, multisite backup, data migration, and the ability to choose the best location for each workload
Meeting these requirements is often (if not always) far more complicated, costly, and labor-intensive than meeting an application’s basic hosting requirements. That said, it is almost always possible to minimize the complexity, financial investment, and level of effort needed to meet your applications’ requirements by hosting them with a data management solution that provides these advanced capabilities.
You can read more of Mark Maynard’s thoughts on the cloud environment published on GovDataDownload here.