When migrating from on-prem databases to the cloud, did you see your overall costs go up or down?
My experience has been mixed based on current infrastructure, budget, staffing, etc. Generally, it was quicker and cheaper to stand up a cloud-based solution to get started on a new project. Over time, the decision where to build the production environment was put back to the business since we would cross charge to them. Like anything new, cloud environments need to be managed closely so that costs don’t run away from the data and security controls you naturally have with your on-prem environments. Happy to expand more if you wish to discuss.
We saw the cost go up significantly going from on-prem to cloud in the aggregate, but there's a story. There were some things we couldn't have imagined doing at all were now possible with the cloud.
In one of my previous companies, we used to host hundreds of servers for our customers. We had to make a choice of investing large capital in our data center to replace aging infrastructure or migrate to the cloud. Economics of the cloud for a 1:1 server migration was attractive. For example, instead of putting in 5MM in a data center 1 time and use it for 7 years, it was attractive of a proposition to invest 1MM each year on the cloud. So, we migrated. We did it stages - migrate, optimize, calibrate.
We spent significant time and money in retooling and upskilling staff. We engaged a partner who had done such migrations to guide us. We chose AWS. We thought 1:1 migration was all it took. We were wrong. A server with 8G memory and 1 CPU would require higher server on AWS. This happened to majority of our servers. Instead of an estimated 1MM a year, our cost was estimated triple that. On the other hand, modern SaaS applications used to run in our data center on an 8G/2 CPU server. Those could run on a 1G/1 CPU server. Such economics helped us prioritize migration to modern SaaS applications.
Optimization step revealed that half the costs were coming from servers that weren't ever used. Our architecture was unsuitable for economics at scale. We began turning on/off servers on schedule and closely watched utilization. We changed our architecture to reduce the # of servers we needed to operate. We had to put an expense FTE to run numbers daily, tag servers correctly and determine alternatives every month. Whether to reserve servers, buy spot servers etc. were now a matter of discussion.
Calibration step was all about merging database, finding out which applications are a 1:1 move from our data-center to AWS, which ones are 1:2 and which are 2:1 and how do we get more services on a single server. We were able to tune our upgrades and deployment procedures to minimize downtime during off-peak hour upgrades by region. We began automating of server creation.
Here's where costs were low. We saved tons of time in doing complex analysis of data. In our data center, we couldn't fathom taking gigs of data and summarizing it. On the cloud, we could start 1 powerful and expensive server and would be done with data processing within an hour, costing us maybe $4-10 for such processing.
It cost us more money, yes, but going to the cloud significantly improved our processes. If we had to do it all over again, our costs would be at par or lower than on-prem. If you are going to the cloud, go through discovery phase and talk to those who have had these kinds of experiences. Learning, planning and reacting will give the best value. Be open about everything - upskilling, hiring a completely different team, changing software architecture, hype, licensing etc. Ah licensing: we found the hard way that SQL Server licensing we had wasn't compatible with how we wanted to use SQL Server on the cloud. So, we had to pay up at unfortunate times. If you are using GNU/Linux and open source software with a no support or paid support, you're likely to see lower cost running services on them on the cloud. Privacy on the cloud wasn't a problem despite being very regulated. Regulators are very familiar with the cloud.