For purpose of discussion let's assume that you have Oracle 11g or 12c RAC cluster deployed on premise, and now you've been directed to see about moving it to the cloud. Of course there is always the Oracle cloud, but let's further assume that your company has more than just Oracle databases and has therefore chosen a generic cloud provider such as Amazon AWS, Micro
soft Azure or Google Cloud. These cloud providers generally do not offer network multicast, virtual IP nor database specific QOS control. Furthermore they also do not offer the true shared storage required by RAC and historically provided on premise via a SAN or NAS. So what are you to do?
Please note that I am not promoting any one cloud provider over another. I don't want to start any heated debates or discussions. I am just saying what do you do when management says move our Oracle databases which include some RAC clusters and they mandate it must be to one of the other cloud providers where they have already standardized. As I see it you have four choices (with some better than others, and some not really choices at all).
First, you might be able to educate management and thus push back on the decision to move Oracle databases to other cloud providers due to RAC infrastructure requirements. Only you know how much clout or political capital you have to spend on such an endeavor. My experience has been that more and more Oracle DBAs find that the tail cannot wag the dog anymore. As many hesitant DBAs learned in the early days of database virtualization that resistance is futile. Thus this option may not really be feasible.
Second, you might suggest that since the cloud VM size can be created and upgraded as needed that you can consolidate the RAC cluster into a single VM whose size equals the total of all the current nodes. However while that might solve the scalability issue it nonetheless loses the most critical aspect of RAC – High Availability (HA). So while technically this might sound good at first, it sacrifices HA which should not be the tradeoff you should readily make.
Third, you might consider using Oracle Data Guard to provide HA via a physical and/or logical standby database run in maximum protection mode. However there are scenarios where manual tasks must be replicated when using a physical standby that does not exist with RAC. And to quote Ask Tom about logical standby "There are more moving pieces which require more setup, care, and feeding". Also your company may not be licensed for nor have skills with Data Guard. So in effect you'd introduce two variables to this cloud migration: the cloud and Data Guard. That too may not be a viable choice.
Fourth and final you could search for a way to deploy Oracle RAC in non-Oracle cloud. Searching the web you should encounter a company called FlashGridwho offers a interesting and novel solution. You also will find references to FlashGridon Amazon'sand Azure'smarket places. Of course many skeptical DBAs might ask “Does Oracle support such a solution?” You can easily find a few blog posts against the idea. While they present reasonable technical points for consideration, they also admit to not yet having tried to run Oracle RAC on AWS or Azure. You might remember 10-12 years ago when the same kinds of questions were asked about running Oracle on VMware. At that time too there were blog posts against it and even some question as to the level of Oracle support. However today we all run Oracle on hypervisors without much concern – and Oracle fully supports it.
So my advice is to treat this like any new car you might buy. Take this or any other promising technology for a test drive to form your own opinion. I have run Oracle RAC on both AWS and Azure – and so far no issues. You can create a 2 or 3 node Oracle RAC cluster via FlashGrid's simple provisioning wizards which takes about 10 minutes to define what you want and then an additional 90-120 minutes to fully deploy a fully functioning environment. So for the mere cost of a few hours cloud time you can see and judge for yourself whether this new technology has merit for your database needs. Take it for a spin!