I'm helping people move away from the cloud at the moment, particularly AWS, after they have been burned. I'm a cert AWS architect for ref so if that's a recommendation then I don't know what is
...
Case in point, TCO over 5 years for a high end pair of SQL Servers is no less than about £4m. In DC hardware it's less than that for the entire cluster over 5 years including capex and opex.
...
Yes I hear a lot from vendors about clients moving out of the cloud. Lot of companies had FOMO (Fear of Missing Out) and prematurely moved workloads to the cloud. We luckily did our homework and decided not to move any existing workloads to the cloud... but all new developments were moved to the cloud, and they could only code using cloud native services like Lambda (and not EC2's). I warned against that as well (cloud vendor lock-in); I much preferred going with agnostic container services like docker, so that workloads could be run anywhere.
All our SQL servers and legacy apps remain on-premise.
Totally agree. My personal recipe of observation on how to fail at the cloud properly:
1. CXO decision panel. Watched a YouTube video by one cloud vendor. We need to move to the cloud. Everyone is moving to the cloud. The cloud tells us it will save us money and humans and is basically made of manna from heaven.
2. Goes and talks to existing architects who shake their heads and warn against the woes of doing this without lots of legwork and possibly rewriting the whole product from the ground up. CXO demands that rather than technically skilled, he wants yes men.
3. Company hires some yes men, usually from a consultancy but occasionally an enthusiastic architect who has watched all the same YouTube videos the CXO class has and is pissing their pants with excitement over getting to play with new toys instead of Java EE containers. Thus starts the death march.
4. Consultancy, after great expense, tells them they need to rearchitect everything cloud-focused i.e. plan for failure, automation (difficult on windows) and service discovery which is diametric opposite of what they have which is basically point and click operations on windows and semi-religious development with bits of legacy crap hanging off it and various bits of non portable black boxes like firewalls that abstracted the entire understanding away to an MSP. Everyone is sent for AWS training which people mostly nap through and check ebay.
5. Much money is spent on running around like dung beetles and rolling their turd around for the cloud which takes money away from things the clients actually need like fixing bugs, developing new features and what the business needs which is customer retention.
6. Eventually "migration weekend" happens, possibly the stupidest idea in the history of IT, where the entire staff of mortals is expected to execute a 1000 point plan with no failure points. By some miracle at 10pm on sunday night, victory is prematurely declared and everyone goes home, via the pub to get smashed.
7. Roll on Monday morning and everyone crawls in, hung over, expecting to celebrate their victory but nope the phone lines are jammed, latency is through the roof, literally everything is on fire, all the consultants and architects are stuck on trains or the M25 still leaving everyone stuck in AWS management console with no idea which thing to click to work out what is going on.
8. Eventually, mid morning, someone rigs up a status page which was a massive afterthought and manages to calm the issue which was basically caused by a transaction deadlock. The DBA is now outside smoking 8 cigarettes at a time because she managed to do this entirely blind with an opaque box and no hardware access at all which was not something practiced for or instrumented away.
9. The whole thing is still running like crap, latency is through the roof however. The consultants are phoned and tell them that m5.xlarge was still too small for the web servers and they need to resize the SQL instance to make this problem go away. These 100 or so clicks in the AWS management console instantly cost the company £1m a year but they have to eat it or die. Failure is not an option because the "cloud strategy" was a massive me too marketing drive so they can't be seen to fail and roll back.
10. Everyone responsible (CXO) sticks their fingers in their ears, blaming it on the waving the dead chickens in the wrong order. The consultants say they have done a migration like this several times and it wasn't them. The SRE team say they're just doing what they're told. The architectural team say "I fucking told you so" and are told by the CXO team that they're not being constructive.
11. CXO team externalise the blame to the consultants who were mostly ignored to cut costs, thus defusing the situation. Then they tell everyone it must have been the consultants and immediate step back to 3 and repeats.
We do a lot with Azure - in fact as a Microsoft Partner we resell Azure services. We do a lot of on-prem to Office 365 migrations, and many of those customers get set up with an Azure instance as well to host federation services. Fairly standard template - I have PowerShell scripts that can deploy the needed machines and set up the network infrastructure in one go.
Have some clients who have stuff hosted in AWS - its FAR more complicated to work with and set up than Azure.
Yeah Azure is growing much faster than AWS now... and at a pace AWS has never had. Many expect Azure to surpass AWS in 2021.
Problem with AWS is, its way too developer-centric, and everything feels like unpolished lego pieces you gotta figure out and put together out on your own.
Beauty is they have the most Lego pieces to play with.
Another problem with AWS... they find profitable customers using AWS, and crushes them... Circuit City, Toys R Us, Borders, all former AWS users... all crushed by AWS. AWS now getting into Supermarkets, Pharmacies, VOIP/Phone Systems... they definitely don't have the best interest of their customers.
I prefer to think of AWS in particular as a spell book. Each spell can go well or go critically wrong depending on how you issue it and your understanding of it and where you cast it. Many people I know treat it as a single source of truth, then find administrative and complexity problems galore.
Edit: as a consultant who deals with this most of the time these days, I figure that perhaps 1 in 10 companies are ready for the impedance change required to move their whole whole mess over. The real problems are bottom of barrel quality staff, legacy that hasn't been dealt with, gullibility and fads. None of these are a problem with cloud providers as such but more a damning review of the human race's inability to manage complexity.