Moving Workloads to the Cloud


11.07.18
By: John Hendricks, Senior Management Consultant, Huntzinger Management Group

As healthcare IT practitioners we have been thinking about and exploring the use of the cloud for several years now. Some organizations are making great progress towards moving application and computing workloads to the cloud. For others though, many haven’t started. So beyond software as a service applications, which computing resources are good candidates for moving to the cloud?

Disaster recovery and data backup/restore is often where many organizations think to start. And why not, hopefully the data center won’t implode and declaring a disaster won’t ever be needed. Another use case is a development or test environment which makes sense because the tolerance for unavailability is higher than production.

However, if we are to take advantage of cloud computing, moving production workloads is inevitable. So which ones? A great candidate is the relational database and the associated cluster if it exists. A data warehouse with its analytics processing is also a good candidate. Why? Computing resources needed for databases are well understood at this point. They need CPU and storage. And, often a lot of it. Databases are known to grow wildly which signals the need for scalability too. The cloud offers just that. In addition, with a properly configured and secured database in the cloud, applications can easily point to it as if the database was on premises. 

Major cloud providers now support just about every flavor of relational databases and some are even offering their own lower cost alternatives built from common open-source code which avoids licensing costs. Other offerings include non-relational and analytical database models.

What should be considered when moving a production database or data warehouse to the cloud? Just about everything that is considered when it’s on premises such as type of database, scalability, user provisioning, security, audit trails and more.

Unfortunately, some database types won’t work well in the cloud and hopefully this will change over time. Particularly proprietary databases attached to a certain application may not work. If however the application just requires a common database instance served by your database cluster and the application is on-premises then it’s a good candidate.

 

Just like on-premise databases, cloud databases can and should be built to scale appropriately with enough compute and storage. They should also be built for high availability. Databases in the cloud can be built to be available across multiple data centers and by utilization data synchronization. Cloud providers even allow for read replicas to provide transaction load balancing and optimized I/O so the application will run without bottlenecks. Typical performance monitors can be used to watch this as well.

With any cloud initiative, securing and protecting your cloud environment and data is extremely important. If done right, a cloud environment could even be more secure than your data center. To accomplish this typically a virtual private cloud or network is established and then the database or any other cloud workload can be segmented off and secured with the appropriate permissions. The database can also be encrypted as needed.

As with your on-premise databases, such things like backups, snapshots and audit logs all exist in the cloud. Options exist for automating and scheduling these services. With audit logs they can be easily sent or accessed by other tools to keep you in compliance or for event monitoring.

The major public cloud providers not only provide many options for databases, they also have tools and appliances to make data migration easier. Considering these services will get you up and running quicker which will free up time for other initiatives.

Are there any concerns using a cloud database? Two items come to mind, expenses and team skill sets. With on-premise databases, teams aren’t overly concerned about quickly de-provisioning the instance or environment. This however could prove to be expensive using the cloud. You will want to only pay for computing resources that are being used and nothing further. Tools exist to help manage cloud expenses and should be leveraged, otherwise the cloud loses its luster when it’s more expensive than on-premises.

The knowledge required to support a cloud environment especially in the public cloud space will need to be learned or transferred. The time commitment required to learn these skills while juggling other competing priorities will need to be balanced. Most engineers embrace the opportunity to learn and develop they just need the time. Often a 3rd party can help develop road maps, project plans and transfer knowledge thereby accelerating the transition.  

If moving production workloads to the cloud is inevitable then consider the database. Regardless, start thinking about your cloud strategy now before someone else does it for you! Let’s continue to conversation. Feel free to contact me at [email protected]


More AEHIT News Volume 2, No. 4: