Path from on-prem Windows servers to hosted/cloud (Azure)?



  • My company currently has give or take 30 Windows servers, mostly all vmware virtual machines with the exception of a handful special case SQL, DC and misc others. We have several hosted services but no actual servers living in the cloud.

    I'm starting to consider IaaS to gradually replace the majority of our physical server infrastructure but cloud computing is pretty new to me. I know almost nothing about Azure but I am going to dive in soon. I figured I'd check here and see if you guys could give me a general inside perspective from any of you already doing it. And I guess I am looking for a general path of moving on-prem servers gradually to the cloud. Like, how is it typically done?

    Also, why Azure? We are a Windows shop and I'd like to stick with Microsoft products but I am open to other enterprise options.



  • @dave247 said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    We are a Windows shop and I'd like to stick with Microsoft products but I am open to other enterprise options.

    I'd personally avoid Azure. Highest cost, lowest quality of any cloud I've worked with. It's specifically built to price gouge people who think "I use Microsoft, so I should stick to Microsoft." And it totally makes sense for them to do so, tons of their customers think that they either have to use it, or that it'll be the best option, so they have zero incentive to do a good job because no one is using them and doing so based on price or quality of service. So they make a killing doing everything as cheaply and half-assed as possible while charging as if they were a premium service. I wouldn't put them on any short list, or really consider them enterprise.

    They are the only well known cloud provider that I'd rule out automatically out of hand and never consider.



  • In choosing a provider, your first big question is...

    Are you looking for cloud at all? Sounds like, and this is based on almost nothing so I'm reading into it like crazy, you aren't. You are looking for hosting, not cloud. Public cloud is just the most well known, common way to get hosted VPS today.

    If you aren't using elastic capacity, then the cloud is exactly what you don't want, in every way. Cloud is not for regular workloads like you are describing, it's the worst option for that. All of the design and benefits of cloud exclusively exist for elastic workloads - none of which are commonly run on Windows, none of which are common in "normal" businesses.

    The cloud remains primarily a buzz word and used by extremely modern organizations that have built in house workloads from the ground up designed for cloud. If you run Windows, that alone will normally rule out cloud as your desired way to go. If you have existing workloads, that too will normally rule it out (at least for the majority of workloads.)

    Cloud can only be good when your workloads are horizontally elastic capable and actually utilizing that elasticity to a large degree. There is no exception to that. No normal workload, no normal software works that way. Bespoke software can, but even then, not always.

    If cloud was going to work for you, you'd have an engineering department that was building cloud-ready applications and would be telling you all kinds of requirements for what they needed in the cloud. The way that you'd be approaching it would be wildly different.

    I think it's safe to say that cloud is not what you want. It'll be costly and risky and not do what people are expecting.



  • @dave247 said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    We are a Windows shop and I'd like to stick with Microsoft products but I am open to other enterprise options.

    Moving to a cloud provider, even a VPS focused one (Vultr, Digital Ocean, Linode, etc.) means rethinking everything. Sizing, capacity planning, failover, backups, storage, networking, remote management, the use of GUIs, etc. It generally means moving off of Windows, too. It's not that Windows can't run on a cloud, but it's terrible at it. And to make it better means leaving everything that people assume about Windows behind.



  • For Windows shops at your size, there is rarely an exception to colocation being what you need. Colocation will give you more performance, more options, at a fraction of the cost compared to cloud. And won't penalize you so heavily for keeping Windows.

    Most people say cloud but mean "hosted". Hosted is the big push now, but cloud sounds cool and techy, so businesses say that. The cloud providers are happy to capitalize on that. But it remains colocation that provides the real value for normal businesses. It's not just cheaper and faster, but generally far easier, because you don't need any new skillsets to do it.

    To utilize cloud effectively, you really need essentially all of the following...

    • Custom software built just for you
    • New management paradigms (stateless, for example)
    • Modern engineering designing around elasticity
    • Special workload needs that are non-traditional (most companies can never leverage cloud broadly)
    • Essentially all workloads to be non-Windows
    • Windows workloads to be headless (no GUI)
    • LANless network design
    • Build and manage infrastructure via APIs, not by hand
    • High level understanding of risk mitigation in a non-physical, non-HA cloud world
    • Tons and tons of planning that holistically looks at the entire business top to bottom


  • Some pricing examples...

    Tiny Azure VM for Windows with 1 vCPU and 3.5GB RAM and 32GB storage and NO support...

    $102.25/mo

    Vultr 2 vCPU and 4GB RAM and 55GB storage and support...

    $40/mo


    Vultr also tends to beat Azure on CPU performance. And is way, way easier to use and price. You can like easily 500% more for your money.

    So you can see how Azure screws you like crazy. But to compare cloud to colocation, we'll use Vultr's numbers since they are the best in the business, if you use Azure's numbers, of course cloud will always look ridiculous. That wouldn't be fair to cloud. Vultr is the best (IMHO), but in line roughly with DO, Linode, Amazon and other top tier players.



  • So you have 30 workloads on Windows. We will assume that since you need Windows, you also need a GUI, if you need a GUI, you need at least 3.5GB of RAM with no real workloads (DCs are an exception.) So to be as insanely conservative as possible, we will assume that you need 30 VMs, with 4GB of RAM and just assume that 80GB of storage is enough for each one (any increases hurt cloud and help colocation, of any type.)

    Storage especially punishes you for being on colocation, followed by CPU, and finally by RAM.

    So 30 VMs * $40 = $1,200/mo for a total of 60 vCPU, 120GB of RAM, and 2,400GB (aka 1.4TB) of storage. That's a lot. Like, a lot a lot.

    $1,200/mo is $14,400 annually. Now let's compare to colocation.

    That amount of cores, RAM, CPU, etc. is trivial for even a 1U server, but let's use a 2U as an example. Let's assume $300/mo for colocation hosting (but really, you can get it for a fraction of that, maybe as low as $50, but $150 is more likely.) But again, we want to favour cloud as much as possible for a real comparison. That means you have $900/mo to use to buy your server hardware. That's over $10K in the first year. You certainly don't need a $10K server to handle that tiny set of workloads. That's more like $7K.

    With cloud, you pay for that capacity every month, year after year. With colocation, you pay for the small colocation fee monthly, but once you buy the server, it's yours. Even if you did spend $10K on an overbuilt server, it would be paid off in the first 11 months, and the next 4-7 years of running it would be a $10K savings per year.



  • Now in the real world, you likely have needs like big databases, file servers, and other workloads that don't play nicely with cloud. In the real world we see Windows servers almost never (except for jump boxes and domain controllers) running at the tiny 4GB/80GB sizes. It's normal to see them in the 8-32GB sizes which are $70-$240/mo.

    So conservatively, you are looking at numbers much much bigger. Even on Vultr for 30 real world VMs, you are probably more like $3200/mo and on Azure more like $15,000/mo.

    Your colocation cost would go up, too, but only the initial server for just 30 VMs. So while you'd need a bigger server, you get way, way more for your dollars spent there. Going up to a $12K-$15K server will easily get you 256GB of RAM and more storage. The bigger your needs, the faster colocation outpaces cloud costs. Your savings just go up and up.



  • And I'm anything but anti-cloud. I'm just anti-buzzword. There is nothing in IT that is a blanket solution for everyone. Every situation needs its own evaluation and decision process. Cloud is absolutely the best option, for certain workloads. Colocation is absolutely the best for others. On premises cloud or physical is best for others. Cloud, colo, hosted, on prem... they all have their place.

    Currently we have 34 Cloud Hosts (but "real" cloud never has a stable count, cloud should always be ephemeral or it doesn't belong there - ours changes daily), and 45 in colocation. But both are climbing regularly.



  • I'll I can say is that I'm impressed by how fast @scottalanmiller can make assumptions and provide answers to those assumption without much to go on 🙂



  • @Pete-S said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    I'll I can say is that I'm impressed by how fast @scottalanmiller can make assumptions and provide answers to those assumption without much to go on 🙂

    Well we know some things for sure...

    1. Windows workloads
    2. 30 workloads
    3. SQL, DC are some of the workloads
    4. Zero cloud today
    5. IT is considering moving existing non-cloud to cloud
    6. Cloud is new to the organization
    7. There are questions of where to go, e.g. bespoke engineering isn't defining
    8. Looking to move on-prem to cloud (which is a linguistic mismatch, they aren't different things)
    9. Considering Azure.

    It's not a quick assumption, there is a lot to go on if you look at the OP. And if you then add years of posts, it's not like he's an unknown quantity that I've not seen on threads and know from many discussions, including one on one. So while there are assumptions, there is a tremendous amount of foundation to them. And I stated that they were assumptions, and the rest is just general information.



  • BTW, servers with AMD EPYC Rome CPUs have the capacity of two CPU Intel systems but the footprint and power of a 1U system.

    Also for high density needs you can also go with multi-node servers, which will get you 4 two CPU servers on 2U format.



  • @scottalanmiller said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    @Pete-S said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    I'll I can say is that I'm impressed by how fast @scottalanmiller can make assumptions and provide answers to those assumption without much to go on 🙂

    Well we know some things for sure...

    1. Windows workloads
    2. 30 workloads
    3. SQL, DC are some of the workloads
    4. Zero cloud today
    5. IT is considering moving existing non-cloud to cloud
    6. Cloud is new to the organization
    7. There are questions of where to go, e.g. bespoke engineering isn't defining
    8. Looking to move on-prem to cloud (which is a linguistic mismatch, they aren't different things)
    9. Considering Azure.

    It's not a quick assumption, there is a lot to go on if you look at the OP. And if you then add years of posts, it's not like he's an unknown quantity that I've not seen on threads and know from many discussions, including one on one. So while there are assumptions, there is a tremendous amount of foundation to them. And I stated that they were assumptions, and the rest is just general information.

    I know, I'm just pulling your leg here 😉



  • @Pete-S said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    BTW, servers with AMD EPYC Rome CPUs have the capacity of two CPU Intel systems but the footprint and power of a 1U system.

    Also for high density needs you can also go with multi-node servers, which will get you 4 two CPU servers on 2U format.

    Yeah, can make colocation even harder to resist. We are starting to look at them as our colocation density starts to skyrocket.

    We are deploying a server or two a day (VMs) right now!



  • @dave247 said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    My company currently has give or take 30 Windows servers, mostly all vmware virtual machines with the exception of a handful special case SQL, DC and misc others. We have several hosted services but no actual servers living in the cloud.

    I'm starting to consider IaaS to gradually replace the majority of our physical server infrastructure but cloud computing is pretty new to me. I know almost nothing about Azure but I am going to dive in soon. I figured I'd check here and see if you guys could give me a general inside perspective from any of you already doing it. And I guess I am looking for a general path of moving on-prem servers gradually to the cloud. Like, how is it typically done?

    Also, why Azure? We are a Windows shop and I'd like to stick with Microsoft products but I am open to other enterprise options.

    Are you actually looking for cloud or do you just want to move your VMs somewhere else (off-prem)?

    What are you looking to achieve here? What value does any of this add to the business?



  • Another thing to realize, how much bandwidth do you need from your servers to your users? They are used to gigabit I assume today (or better). You might have to get a dedicated connection between you and the DC, or likely at minimum a faster pipe at your office. food for thought.

    way to go Scott!



  • @scottalanmiller said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    Now in the real world, you likely have needs like big databases, file servers, and other workloads that don't play nicely with cloud. In the real world we see Windows servers almost never (except for jump boxes and domain controllers) running at the tiny 4GB/80GB sizes. It's normal to see them in the 8-32GB sizes which are $70-$240/mo.

    So conservatively, you are looking at numbers much much bigger. Even on Vultr for 30 real world VMs, you are probably more like $3200/mo and on Azure more like $15,000/mo.

    Your colocation cost would go up, too, but only the initial server for just 30 VMs. So while you'd need a bigger server, you get way, way more for your dollars spent there. Going up to a $12K-$15K server will easily get you 256GB of RAM and more storage. The bigger your needs, the faster colocation outpaces cloud costs. Your savings just go up and up.

    Scott, it really depends on so many things.

    Maybe they aren't simply looking to just move the VMs off-prem, or just move them to somewhere else, but to add some actual value to this conception. There could be a ton of motive behind this that was not mentioned in the OP. Maybe they are losing out to their competition due to lack of ability to keep up in some areas? Maybe now there's no regional redundancy, no backups, no load balancing.... are there huge databases?... are there really busy web apps that need accessed globally and actually could benefit from a AKS or EKS (for many reasons not mentioned, just saying)?... along with managed SQL services that Azure/AWS offer? Do they need application insights that they don't have now... event-driven automation, monitoring, etc? Maybe they don't even need VMs, but could change the entire company culture and mindset to build their app in a future forward way.... consumption based costs using app services, functions, databases, etc.... possibly may not need 30 VMs, but only a couple (that could live in Vultr for cheap).

    Since Windows, assuming AD is involved...., and if everything (web apps, etc) is cloud native, maybe they need a AAD B2C model for their web app... who knows.

    Maybe they have no web apps at all, and no need at all for those above mentioned cloud services. It could be it's all the standard Windows AD and associated services on a bunch of VMs, with a VM for phone, a VM for backups, a VM Nextcloud, etc.... Does it make sense to have your users using legacy lan-based apps suddenly connect to somewhere else, adding latency? Again, i mention what value does your proposal bring to the business.... again, do you want cloud, do you want to move your VMs somewhere else? Why?

    Or even, maybe they can get rid of a bunch of VMs, and some of the serverless technologies can take care of the requirements for free... lots of serverless tech in Azure and AWS that you can use for free, at least for a lot of SMB needs.

    It totally depends, you have to start out with some simple, but tough, questions to know what you can and can't rule out right off the bat.

    Without writing a longer wall of text that I won't be able to keep up to responses with, just know there's 99.999% more to cloud (whether it be Azure, AWS, GCP) than you seem to be considering or keeping up with.



  • @Obsolesce said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    Maybe now there's no regional redundancy, no backups, no load balancing.... are there huge databases?

    Sure, we'll guess that there probably isn't. But cloud doesn't do that either. In both cases, you can have that redundancy, and in both cases, you don't be default, and in both cases, you can use cloud as the redundant option regardless of the starting location.



  • @Obsolesce said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    Since Windows, assuming AD is involved...., and if everything (web apps, etc) is cloud native, maybe they need a AAD B2C model for their web app... who knows.

    It is, he casually listed it as a DC.



  • I feel there is more value moving from on-prem servers to SaaS than to IaaS. It's simply higher up the value chain.

    Typical companies have infrastructure because they have to, not because it's their mission in life. It's the digital tools and advantages they are after.

    So unless you are a provider yourself, why even bother with infrastructure if you don't have to? Let someone else have that problem.



  • @Pete-S said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    I feel there is more value moving from on-prem servers to SaaS than to IaaS. It's simply higher up the value chain.

    Typical companies have infrastructure because they have to, not because it's their mission in life. It's the digital tools and advantages they are after.

    So unless you are a provider yourself, why even bother with infrastructure if you don't have to? Let someone else have that problem.

    I cam here to say this exact same thing. You don't need to go full cloud and like @Pete-S said, I see PaaS as the low hanging fruit.

    Migrating SQL to Azure or AWS as a PaaS makes sense because you don't have the maintain the SQL servers, and you can have quick instant backups to S3 or Blob storage.

    It's very easy to scale SQL up and down on the cloud to find the right size.



  • Consumption based pricing model on PaaS is great when utilized properly too. No matter the cloud provider. They are all competitive.



  • @Pete-S said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    I feel there is more value moving from on-prem servers to SaaS than to IaaS.

    Anything to SaaS is generally the best move 🙂



  • Each stage is one step more managed and inclusive. Basically...

    SaaS > PaaS > IaaS



  • @scottalanmiller said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    Each stage is one step more managed and inclusive. Basically...

    SaaS > PaaS > IaaS

    Yes, but you cannot move everything to SaaS though. You will need to switch to PaaS in some cases like DBs or to help with your developer by using a PaaS tool like elastic beanstalk. That way if you have developers they don't worry much about infrastructure and are able to focus on dev.



  • When most people thing cloud they think of the term Rehost. Which means you move existing resources to the cloud and don't change your design at all. In this case, you are basically doing a Colo and you are not really going cloud.

    Replatforming is the most common and least interrupting way to move to the cloud. Let's say you have a typical application with Web, app, database servers, instead of migrating your entire app to the cloud, you use PaaS for your database and leverage cloudfront for static resources on your web app. You still keep your web and app servers on prem.

    ReArchtecting is the best way to do things, but also the most time consuming and costly in short term. As @scottalanmiller mentioned windows is terrible for cloud servers. My company re architected app to work on Linux and leveraged cloud SaaS and PaaS into the application. The result in the long run is a less expensive, less maintenance, and elasticity.



  • @IRJ said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    When most people thing cloud they think of the term Rehost. Which means you move existing resources to the cloud and don't change your design at all. In this case, you are basically doing a Colo and you are not really going cloud.

    Right. Using cloud for something other than its purpose. It's really a cloud product, but not a cloud intent. Kind of like buying a car... but hitching it to your horse and still making the horse pull it as if it were a tradition carriage. Technically it's still a car, but not being used as intended.



  • @IRJ said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    Let's say you have a typical application with Web, app, database servers,

    That's not typical. As Jared would say, that's only typical in Scottworld - an ideal future world where people have adopted both modern and good methodologies. In the real world, companies use these kinds of workloads rarely. In many industries, not at all. They are well understood and increasingly we see them creeping into businesses, not still almost entirely as SaaS and not managed by internal IT.

    Real world IT for normal companies still involved legacy and/or poorly designed architectures that don't have those components. Not because they have to, as people often claim, or because they should, but it is what they do. And not once in a while, but nearly always.



  • @IRJ said in Path from on-prem Windows servers to hosted/cloud (Azure)?:

    As @scottalanmiller mentioned windows is terrible for cloud servers.

    It's actually terrible for all servers. Cloud just takes what is bad about it and magnifies it to an absurd degree that makes it impossible to avoid.

    Windows was designed with a "there is a surplus of hardware resources, so efficiency doesn't matter" attitude that was always foolish for performance, maintenance, and security. But they got away with it, more or less, in that they were able to sell it to management regardless. But now, instead of wasting a small portion of IT budgets, it can make IT budgets 400% what they would be otherwise and that's hard for even the most stubborn CFO to try to ignore.



  • I can't count the number of people in the last 12 months that we've "de-clouded" after a CIO got in there and made the switch. With the exception of hosted Exchange / 365, almost every thing else had increased costs, more downtime, and worse user experience. With inexpensive hyperconverged systems, and good backup strategies, it's been a win by a factor of sometimes 1/10th the cost.

    We use AWS / Azure quite a bit....but not for 50 people that need a file server. 2014 was the buzz year of "cloud", and 2019 was the buzz year of "maybe not"


Log in to reply