At our place we’re building an internal RMM system (planning on commercialising eventually) We use azure and currently receive around 2k requests / minute. Our azure costs are £15 / month for an sql database, some azure functions, a web api and azure service bus. We’ve not had any issues currently with scaling. Given how cheap it is it makes zero sense for us to self host. The internet connection we’d need alone would cost more than our azure bill
@CodeOpinion16 күн бұрын
Thanks for sharing!
@codewkarim16 күн бұрын
What about the elephant in the room: "SECURITY"
@CodeOpinion16 күн бұрын
Totally forgot and wanted to mention that.
@jay-j6l15 күн бұрын
you're not secure on aws, that still all falls into your lap.
@codewkarim15 күн бұрын
@@jay-j6l yes with simple clickops instead of all the infra and the set of skills you need to do so.
@Zutraxi14 күн бұрын
@jay-j6l If you use a hosted database surely you don't have to. 1. Scan traffic that hits it and run it through a complicated defender service to check for attacks 2. Update the underlying os or database version 3. Handle georeplication, zonereplication or even local replication 4. Firewalls 5. Access rights 6. Scale out or scale in 7. VPNs if needed 8. Performance recommendations based on use. And that's the ones that comes off the top of my head.
@GuillermoArellano14 күн бұрын
I left an AWS EC2 instance running and got charged even for the public Ipv4 addresses! Screw that! I’m self hosting all the way. Self hosting will teach you a lot and save you money from Jeff Bezos.
@dalibor-rankovic16 күн бұрын
Problem with devs is because they tend to have radical choices, either doing everything in cloud lambdas or compiling their own kernel. Personally, hybrid approach is a way to go. Hosting backend services on VPS, having files in AWS S3, using GCP for authentication, using Azure for pipelines etc. is completely fine for me. Don’t lock in just so you could flex “we’re on AWS…”. Use tools and services that provide actual value for your business. No one cares where you host.
@volodymyrliashenko102416 күн бұрын
But again, it depends on the context. Big companies may want to have single cloud providers and (maybe) have discounts and manage it the same for all service instead of managing multiple providers, have developers how to work with different providers, etc.
@IvanRandomDude15 күн бұрын
Facts. Hosting a backend service on VPS? More than fine. Hosting and managing your own database? No way I would do it for anything serious. People might think it is easy until you need to do restore and realize that your backup file is corrupted (don't ask me how I know this). So I would rather pay $40 for RDS and sleep at night well.
@llN3M3515ll16 күн бұрын
As is always the case.. it depends.
@CodeOpinion16 күн бұрын
Pretty much
@kewqie16 күн бұрын
I joined a huge enterprise company that moved everything to cloud, all of their services were already running fine on premise and they just did it because someone sold the idea to them. There were no performance or scalability requirements, most services were for the intranet and were running fine with 100mcpu and 256m of memory, databases less than 10GB. That migration took over 2 years, costed millions, had hundreds of issues and a few dozen resignations because of the stress involved, and all of that just to keep up with the trends, nothing gained.
@ray8952016 күн бұрын
Sounds for me from the outside, someone was very focused on the Opex idea over CapEx. If this is the only motivation, the switch to the cloud won't bring the desired absolution. Wrong decision regardless of the tool.
@CodeOpinion16 күн бұрын
Thanks for the share. Sadly, not surprised.
@Kiev-in-3-daysКүн бұрын
I used self-managed hosting for ~25 years before transitioning to the Cloud. And yes... testing has become harder. The databases I prefer aren't available, so I have to rely on external services. Not everything can be replicated locally during development, which makes the process feel slower overall. Looking ahead, I plan to adopt a hybrid approach. In fact, I'm growing increasingly frustrated with the exploitative practices of big tech companies, whether they are cloud providers or hosting services. This has drawn me toward the local-first movement. My future approach will likely combine local-first principles with a hybrid model that integrates the cloud and a "self-hosted" VPS.
@mwonsil16 күн бұрын
100% spot on. Context is everything. Also, the term cloud is not binary. Co-location is a type of cloud, so is IaaS, PaaS, SaaS, as well as "serverless" or functions as a service. It's not enough to say "cloud sucks" but to indicate which part of the cloud spectrum sucks for your context. Not to mention, with any of these services you are also getting, electricity, HVAC, physical security, 24X7 operations, upgrades, etc. There is also the matter of resilience. Does your context require a duplicate server in a different region to be prepared for datacenter-area outages? Do you have redundant networks to protect yourself from a backhoe? Yes, cloud services are expensive because 1.) you get a lot more than you think, 2.) You're probably thinking that you're still on-prem and over provisioning, and writing inefficient code, 3) You're only doing IaaS and not getting a better price as you move up the cloud spectrum. Finally, security. I would never run an edge service on-prem unless it was completely segmented from the rest of my network. Great post, Derek.
@CodeOpinion16 күн бұрын
Ya the term as a whole is often confused but i think most would view it as IaaS, PaaS, SaaS as one grouping. Just my guess.
@mwonsil16 күн бұрын
@@CodeOpinion Yeah, maybe. I've always suspected the "herd" was mostly lift-and-shift and skewed toward IaaS and that's the group coming back on-prem, but I could be wrong.
@MrBlackWolfX16 күн бұрын
As usual, everything comes to context. Developing an application that needs to grow fast so you don't have time to manage servers? Cloud. Doing a small personal proof-of-concept or blog? VPS may suit you. There is no golden hammer!
16 күн бұрын
I remember an interview I did ~3 years ago where I said I wasn't using microservices and the interviewer said "why wouldn't anyone build a microservices nowadays" Application was internal usage with less than two thousand users total, not concurrent.
@MrOboema16 күн бұрын
I hope after that remark you thanked the interviewer for his/her time and that you wish their enterprise lots of luck in future endevours without you?
@dovh4916 күн бұрын
lol, at that point you could use something like PocketBase or Clace to run your code/server. I think Clace was built specifically for this purpose, small internal business apps.
@jonathangalliher447416 күн бұрын
Yeah, it seems like everyone in this industry is looking for a way to stop thinking about what we're doing while still making bank. I know it's not literally true, but it's surprisingly widespread.
@CodeOpinion16 күн бұрын
Herd mentality
@SoftwareThatScales16 күн бұрын
There are definitively ways to run things for cheap in the cloud. It's just a false dichotomy. You just have to pick the right provider, services and architecture. When I launched my startup everything was running in a VM but as we grew we had to evolve over that. I would probably not start over that way with what is available now, unless I was forced into a system design that made it impossible.
@desmaraisp289416 күн бұрын
Yeah, lift-and-shift is the biggest reason cloud migrations end up more expensive. For startups, scale-to-zero can be a big advantage, but the solution has to be architected for it
@jonathangalliher447416 күн бұрын
Depends on resource usage. If you need 100% from a bundle of resources, it may always be cheaper to own it yourself.
@desmaraisp289416 күн бұрын
@@jonathangalliher4474 That's true, but right-sizing is often pretty hard on on-prem datacenters ime, especially if you ever deal with spikes or traffic variations. So unless you can guarantee with absolute certainty that your load does not change significatly over time, you might need to over-provision by a little Considering that margin, plus the possible low-traffic hours (if you have any, of course), doing the analysis and cost-comparison is probably still worth it
@jonathangalliher447413 күн бұрын
@desmaraisp2894 right sizing is pretty much impossible without data no matter where the app is being run. It's true that on-prem systems often enough require longer lead time when they need to be scaled up and the steps are likely to be whole-server size, although this is much less often the case when working in a larger company that has needed hundreds or thousands of servers for years to run all their applications. I'm a lot more sympathetic to the idea that new apps should generally be trialed in the cloud, since it's a lot faster to spin something up there if we don't already have servers on which to run things. Still, if we're renting cloud resources we also have to pay the cloud operator for the privilege, and that expense would disappear if we managed the resources in-house.
@qj0n13 күн бұрын
We as a team of 5 devs use Azure (app services, storage, functions, app insights and some containers, cdn) and after subtracting money from ms partnership we pay like $200 a month. Quite a bit tbh, self hosting would be much cheaper, but... If all the management would take a half of one person's time, it would still be more expensive than Azure
@kittipongpiyawanno31512 күн бұрын
In our case: - Script + bare-metal much easier to deploy & maintenance. - Make app more efficient to avoid scalability issues. - Architecture level + algorithmic optimization is the key for efficiency. I saw people, who are careless about design & coding. They hope that cloud technology will solve their problems. No, it doesn't. They just shift the problem from one place to the other.
@m1dway16 күн бұрын
TBH, i run my own project. I would love to have it in the cloud rather than self hosting. Too many complexities you have to dealt with. Plus the learning curve of the self hosting is not worth it.
@noahmoerbeek658014 күн бұрын
So many contractual obligations, whether from a cyber insurance policy or for responding to RFP's. most of the time, unless you have very particular niche requirements for most companies cloud makes since from a risk mitigation POV.
@georgehelyar16 күн бұрын
Some good reasons to use managed cloud services are high availability, geo replication and SLAs. It's easy to say don't use the cloud when you don't have any real load and an outage won't have a significant impact on your business.
@Zutraxi14 күн бұрын
I would love to host some things in the cloud due to skillsets/time but licences these days are not favoring cloud in some contexts..
@obiwanjacobi16 күн бұрын
We sell the cloud (Azure) to all our customers. No questions asked. It's so stupid.
@shaicohen216 күн бұрын
Wait, let me make sure I understood correctly: The answer to a question relating to software engineering is "It Depends"? color me surprised 😉. Great video, as usual. Thanks!
@CodeOpinion16 күн бұрын
Imagine that!
@Rick10454715 күн бұрын
If you're doing a modern project and don't fall into the microservices as a goal trap then you don't need much to run your app in the cloud. You can run an simple api in Azure for like 10-20 dollars per month. I know I did for a company with a thousand users and it works completely fine and is quick. Any performance issues we had were simply the result of missing indexes or just bad queries. It could easily handle more. At that price its not even worth it to spend the time trying to optimize that. Your thoughts are more expensive than that. Yet I also see projects that are just an internal app with almost no load requiring many thousands per month. Not because it's actually needed but because no attention was paid to the services that were used or unneeded complexity was introduced just because it looked nice in a diagram.
@dandogamer15 күн бұрын
Context definitely matters but at the end of the day I don't care what your product is hosted on or built with as long as I can do the things I need it to do in a nice and friendly manner
16 күн бұрын
Whether you choose either way, it is always best to choose vendor agnostic products and technologies as low as possible. Maybe you can use code as a infrastructure kind of products so you should able to run your services in any vendor or environment with the same yaml file like kubernetes.
@ray8952016 күн бұрын
Kubernetes is a good abstraction but also not free from distro specific things. Like storage classes are completely specific to your kind of installation. They MAY be compatible enough meanwhile, but it's not a guaranteed thing. IaC is nice and great and strongly recommend it, but agnostic from a platform? Forget it. Azure resources are different to AWS, VMware is different to others etc. So Terraform is a cool product, but in the end you speak all the time the same language, but if you switch, you need to write everything from scratch anyway. So I'm not that off to say, use the specific tooling. Meanwhile I like Bicep much more as Terraform from syntax standpoint. Also, I would really question if you need that abstraction / portability all the time. If you in one environment, how likely it is to switch? A maybe can always arise, but by which chance? And if it occurs, is it really only some switches and nothing needs to be adjusted? Data migrations can be a complex task alone.
@JP-hr3xq8 күн бұрын
IMO the cloud is only a good move if you want to host in more than one geographic location and don't want to stress about replication.
@IvanRandomDude16 күн бұрын
The funniest thing in this whole argument is the fact that VPS is Cloud. How can anyone think that VPS is on-prem? Even some people who are on-prem are not hosting servers in their own basements. Instead, they buy hardware and rent a server room in data centers. Most of the networking and hardware setup is then is taken care of data centers. So even many on-prem people nowadays are cloud-light in some sense.
@sarabwt16 күн бұрын
VPS absolutely is cloud, it just isn't higher level services, because you won't need them. Cloud has become synonym for serverless in most people's mind it seems. Your own hardware in data centers feels different though. The benefit of the data center is that you have good uptime, security and network guarantees, not so much, that you don't have to manage the hardware yourself.
@CodeOpinion16 күн бұрын
True but I think it's not so much "managed hardware" as what people think of as managed services and elasticity vs fixed hardware.
@cai015 күн бұрын
Context is king 👑
@CodeOpinion14 күн бұрын
Always!
@jay-j6l15 күн бұрын
I just don't trust the slimey vsp provides, that's the feeling I get.
@Johntasticful13 күн бұрын
Cloud is for profit. Of course you can do it yourself cheaper. But maybe not apples to apples. Everyone’s needs are different. The bigger you get the less cloud providers make sense. And even in the small scale, with a narrowed focus, cloud becomes expensive. How about the middle of the road guys? I’d say make sure to the rein in IT. Cloud is very expensive. They are not cheaper. Cloud is very convenient and easy to get going. Hard to shut down. It becomes hard to know what is used by who very quickly. After years of Azure and AWS experience, I’d say, if you can’t beat the cloud in cost, fired your IT guys , unless you are doing some super disaster recovery or high availability across multiple regions, etc… Which is a total waist of money, but whatever. My two cents. Not worth much.
@DodaGarcia16 күн бұрын
You mean if I set everything up myself and maintained it forever I could be spending just $200 a month instead of the [checks notes] $5 I currently spend using Google Cloud Run?? I have been played for a fool indeed!! Did the author of that obnoxious article forget that a huge part of the appeal of cloud services is that they scale *on demand*? It seems he's seriously proposing that paying upfront in time and money for the "capacity" to handle a huge number of users is somehow better than not having to worry about that, much less pay that much, until you have that many users in the first place.
@sarabwt16 күн бұрын
200$ for 80 cores (actual cores, not vCPU bullshit) and 128gb of memory. If you rent that, it can serve as your main PC, dev PC, build pipeline, pre-staging, staging and production for all your projects and you can rent it out to friends and family to use and you will still have compute left over xD Point is, overprovisioning is not expensive, because any "on demand" cost you save on infra, you will pay by developing the microservice container clusterfuck, potentially needing more cloud services (state is a bitch), when it could have been just a monolith, that would run on one machine. Even if you are spending only 5$/month and if you are, you are doing so "per service". If that is enough for you, then you could as well buy a 50$ mini pc and put it under the table and still have more capacity rofl
@CodeOpinion16 күн бұрын
Yes, as mentioned scaling is an aspect for consideration as well as having it managed. Having very low consumption can result in very low cost. Using services incorrectly can result in a high cost. Not really a shocker but here we are.
@sarabwt16 күн бұрын
@@CodeOpinion If you use the cloud services correctly, you will overpay, because your infra is getting more complex. If you go serverless/stateless, you will need something like postgres/mongo + maybe redis + blob storage. You likely won't self host any of these, but even if you would, it still means development is more complex.
@pierre936816 күн бұрын
One of the problems with self-hosting is when the person who set it all up and supported it quits. Pray to God that he left records of servers, logins and passwords. Using the cloud, you can see everything in a single control panel. But why is it so expensive? Reduce the rates by 3 times! For Christ's sake!
@JobertoDiniz16 күн бұрын
Didn't even need to read. Just glancing over like you did, it's pretty "easy" to say cloud services are a blessing. Security is missing from that. I wonder whether the author works primarily on infrastructure because none of those are simple to configure.
@abcabc-ur3bf16 күн бұрын
The same old silver bullet issue.
@CodeOpinion16 күн бұрын
It never ends...
@MrOboema16 күн бұрын
Cloud: auto scalable, feature-rich latest&greatest, low cost in house keeping, pricy VMs: strictly resource allocated, featureset is fixed, high(er) cost in house keeping, relatively cheap. ... pick your poison.
@CodeOpinion16 күн бұрын
Indeed
@viacheslavsamodelkin694416 күн бұрын
Are you configuring you infrastructure manually in 2024 ? Seriously ? LLM will configure and deploy it for you in minutes. But if you like paying thousands of money to corporations like Amazon, then why not...
@CodeOpinion16 күн бұрын
As mentioned, initial configuration is only a single aspect.
@wboumans16 күн бұрын
Ah yes those $4 100x overcommited VM's lol.
@marcinn305816 күн бұрын
Cloud Service Providers hate you
@CodeOpinion16 күн бұрын
Why? I'm advocating for them when it's a good fit.
@marcinn305816 күн бұрын
@CodeOpinion they probably stopped watching at the title