News for hackers. Stuff that matters.
Re:You probably don’t need AWS and are better off without it by fdgsdfogijq on Wednesday April 20, 2022 @04:03PM (#31102210)
I spent the last few years developing software on AWS. I honestly cannot imagine not using it. Once you get good at infrastructure as code (CDK), microservices, and how everything wires together, any other technical stack is just painful. I still believe that engineers are completely underestimating productivity gains in people that are good at AWS. There is just so much less BS in terms of systems working, everything clicks together, you arent stitching a million open source libraries to build a stack. Billions of dollars of effort are behind making it as seamless as possible.
Re:You probably don’t need AWS and are better off without it by IceWreck on Wednesday April 20, 2022 @04:15PM (#31102377)
Infrastructure as code can work on any cloud provider including smaller ones like Digital Ocean, Linode, OVH, Hetzner, etc which are mentioned in the article.

A lot of the things you said apply just as much to them as to AWS.

In my opinion using AWS is fine, as long as you use cloud agnostic stuff and avoid AWS specific services. That way if you ever have to switch, you just have to rewrite the provisioning part of your infra-as-code, everything else can be easily migrated over with some config changes.

Re:You probably don’t need AWS and are better off without it by oneplane on Wednesday April 20, 2022 @04:27PM (#31102538)
If you are not using cloud native features you are essentially just using a virtual datacenter at which point AWS is an expensive choice.

On the other hand, if you use Kinesis, Lambdas, RDS, VPC peering, and IAM accross all of them including EC2 and EKS, then no, none of those other options can even come close. Purely the lack of system-wide IAM alone would be a dealbreaker.

This is also why being 'on the cloud' and 'cloud native' is very different. While the latter is a bit too buzzwordy for my taste, it does show the difference between "playing datacenter" and "getting stuff done in new ways, both cheaper and faster".

Do not use AWS if you just run a few virtual machines and some basic networking. That also applies to GCP and Azure. It's too expensive for what you need, and too easy to misconfigure and shoot yourself in the foot.

On the other hand, if you need API-driven infrastructure with a large gradient between IaaS and SaaS to pick from, then by all means, use AWS.

Re:You probably don’t need AWS and are better off without it by zarzavat on Wednesday April 20, 2022 @05:06PM (#31103007)
> If you are not using cloud native features you are essentially just using a virtual datacenter at which point AWS is an expensive choice.

Hence “you probably don’t need AWS”.

> On the other hand, if you use Kinesis, Lambdas, RDS, VPC peering, and IAM accross all of them including EC2 and EKS, then no, none of those other options can even come close. Purely the lack of system-wide IAM alone would be a dealbreaker.

Hence you are locked in and have zero negotiating position. Your business has an existential risk based on AWS - assuming your code is critical to the business and could not practically be rewritten because of all this special sauce you’re using.

That might be okay but I sure hope your CTO made that decision consciously.

Re:You probably don’t need AWS and are better off without it by jbmsf on Wednesday April 20, 2022 @05:26PM (#31103228)
The same is true in reverse. If your team assumes they need the optionality of avoiding cloud lock-in, your CTO had better have made an explicit choice to pay the overhead of not using these cloud services.

Sure, you can play FUD games about AWS suddenly raising prices, but I doubt you'd have any historical evidence to back that up. So you'd better be able to say why being cloud-agnostic is critical to your business.

Re:You probably don’t need AWS and are better off without it by zarzavat on Wednesday April 20, 2022 @05:56PM (#31103571)
AWS prices are already high, the danger is not so much that they will raise prices but that if your business conditions change. Perhaps there’s a new competitor and you can’t afford to splurge on cloud costs anymore, or your business needs to cut costs and focus on profitability because of economic conditions - you are stuck with this albatross.
Re:You probably don’t need AWS and are better off without it by oneplane on Wednesday April 20, 2022 @11:20PM (#31105733)
High compared to what? GCP? Azure? A raspberry pi in a closet with a cable modem?

You generally pay for what you need and for what you can afford. If you don't need AWS or you can't afford AWS, it wouldn't make sense to use AWS. That goes for in-house software development, infrastructure management and pretty much anything else too...

Re:You probably don’t need AWS and are better off without it by invalidname on Thursday April 21, 2022 @01:08AM (#31106189)
I run a startup and work in another.

In my startup we use mostly linode and handle a lot of volume. I have a few VPSs and some dedicated hardware for specific tasks. Monthly bill roughly 200-250USD all included.

The other startup used the AWS free credits. Got extra credits and lived it up. Adopted Kubernetes and all the big AWS stuff. Brought in a few devops professionals. All super smart people.

Monthly spend 7kUSD on traffic/usage that's actually much smaller than the one I have with my startup. Availability is roughly the same (if anything, my startup has better uptime).

So yes, this is an Apples to Oranges comparison. I get that. They can better scale in theory etc. But if they pay 7k right now, I can't imagine how expensive it will be when they scale.

They started just using EC2 but slowly got roped into AWS services so now they have no vendor neutrality and no viable/easy way to reduce these costs.

Re:You probably don’t need AWS and are better off without it by oneplane on Thursday April 21, 2022 @12:28PM (#31111572)
So none of your requirements match up with AWS services. Of course it's not going to be a great match in that case, right?

If you need 'some random compute and a bit of networking' then no, do not use AWS.

Vendor neutrality isn't worth match to a business unless you are the EFF or intend to move vendors all day long.

You don't need AWS or any other cloud for volume (traffic volume, that is), heck I'd say stay away from the clouds for volume since that is where the bulk of your money disappears anyway.

Re:You probably don’t need AWS and are better off without it by happymellon on Thursday April 21, 2022 @11:16AM (#31110549)
But AWS spend a lot of time selling you lambda over any of these other solutions.

If you have less traffic then you should spend less.

This sounds like they don't have anyone who actually knows what they are doing, or did any form of cost/benefit analysis which will always mean you spend more than you should.

Re:You probably don’t need AWS and are better off without it by kikimora on Friday April 22, 2022 @03:51PM (#31127162)
They likely overcomplicating things for no good reason. If you can handle their load on a $250 VPS what the heck the are doing with AWS?
Re:You probably don’t need AWS and are better off without it by codyswann on Thursday April 21, 2022 @10:35AM (#31109984)
What type of usage volume are we talking about here?
Re:You probably don’t need AWS and are better off without it by hdjjhhvvhga on Thursday April 21, 2022 @05:48AM (#31107523)
> Sure, you can play FUD games about AWS suddenly raising prices, but I doubt you'd have any historical evidence to back that up. So you'd better be able to say why being cloud-agnostic is critical to your business.

I'm not sure if you're being serious here. It's not about rising prices but making your business completely dependent on another entity and losing any options you might otherwise have.

As for past data, history is rife with stories of companies who made the mistake of trusting a big player their technology will be around forever. So many have invested in technologies like Flash because they were 100% sure they will be there forever.

If I was in charge of AWS, I would avoid sudden price increases, but instead focused on many new features and small charges. These look insignificant, "This is just 20 buck per TB, less than our spending on toilet paper." And then these slowly accumulate and the TCO is getting higher and higher, and again some new* smart features lure you - again, at a small cost. In the end, it turns out you can't leave even if you want.

*Or just your old open source library/framework repainted in AWS colors.

Re:You probably don’t need AWS and are better off without it by hackerfromthefu on Wednesday April 20, 2022 @08:16PM (#31104698)
It depends on the situation, but by keeping a simpler architecture there's not necessarily any overhead. AWS has huge complexity which is a tradeoff against the complexity of simpler solutions, regardless of the $billing cost.
Re:You probably don’t need AWS and are better off without it by oneplane on Wednesday April 20, 2022 @11:18PM (#31105724)
That sounds exceptionally vague. Simplicity rarely is bound to some vendor and more likely to be based on requirements and implementation engineering. It mostly gets as complex as it needs to be.

Simple things are simple: need IPv4 networking? Get an IPv4 allocation and route it to a (virtual) port of your choice. That is no different between on-prem, managed-dc, unmanaged-dc, managed server provider and cloud provider. There might be some semantics that are different, where a physical port cannot be unplugged via an API (at best you can down/up a switch port but that's not the same) and routing may or may not be implicit, may need a firewall or routing rule and may need translation. But all of that applies always anyway and gets named differently on who you are paying for it.

If you create something very complex, but it didn't have to be, perhaps it's simply a bad implementation and not a property of the technology that was applied. There are plenty of engineers that think they can roll their own crypto libraries, write their own filesystems and their own RDBMs... but what business case for the 99% out there really requires that? Nearly everything in a business is a generic problem any business has; it's always about products and/or services, and it's always bound to some legal and financial system the business operates in. Everything beyond that is just marketing and trust building.

The only unique thing in most cases is the data you have and the degree of integration of processes within the business. And neither of those are an actual technology problem or complexity driver.

Re:You probably don’t need AWS and are better off without it by krageon on Thursday April 21, 2022 @04:40AM (#31107204)
AWS is extremely expensive for what it offers. It doesn't have to raise prices to be a bad idea, it just has a very large mindshare in the space.
Re:You probably don’t need AWS and are better off without it by kikimora on Friday April 22, 2022 @03:55PM (#31127236)
I would say otherwise. Some basic things that come to mind - db snapshots that works - S3 - Cloud Trail - know who and when access a server and what commands they enter in their SSH session. - Session Manager - being able to control permissions in a single place. - S3 + Athena + QuickSight - easy reporting at scale - the list goes on and on

As soon as you have decent amount of data which you care about AWS became dirt cheap compared to on-perm when user right. Look at the list above and imagine how much effort you would have to put on an ongoing basis to support this.

Re:You probably don’t need AWS and are better off without it by sharpy on Wednesday April 20, 2022 @05:41PM (#31103417)
True. But while avoiding vendor lock in is a worthy goal, it does have its costs - as in you are now on the hook for duplicating various functionalities that may not work as well together.

For example, let's take a simple producer/consumer system with some sort of queue. That's an easy enough problem. But add in some additional requirements:

* Data encryption - both in transit/rest * Access control * Audit logs

And it becomes much more complicated. It is a trade off. But the productivity gains available by having a common consistent solutions to issues like this... shouldn't be underestimated.

Re:You probably don’t need AWS and are better off without it by unethical_ban on Wednesday April 20, 2022 @07:43PM (#31104494)
Trying to utilize all three major US cloud providers with their cloud native tools simultaneously, learning those tools and cutting IT, dev and security from on prem to those, takes a massive staff in a regulated industry.

Doing it "right the first time" in one of the big three, then building a skunk works to replicate efforts as a blackout scenario, seems much more cost effective.

The key term is Total Cost of Ownership. Lockin is a cost. Legacy stacks are a cost. Learning three times the tools are a cost.

Re:You probably don’t need AWS and are better off without it by oneplane on Wednesday April 20, 2022 @11:43PM (#31105854)
Having to pay expensive diy-developers is also a cost (and a huge risk). And if you then need to transfer knowledge and reinvent the wheel for all the NIH-applications you're essentially becoming a cloud, but less complete and not scalable at all.
Re:You probably don’t need AWS and are better off without it by andag on Thursday April 21, 2022 @02:08AM (#31106451)
> Hence you are locked in and have zero negotiating position. Your business has an existential risk based on AWS - assuming your code is critical to the business and could not practically be rewritten because of all this special sauce you’re using.

You don't have a negotiation position based on your ability to switch even if you are huge. AWS pricing negotiations is almost exclusively based on volumes.

Re:You probably don’t need AWS and are better off without it by datatrashfire on Thursday April 21, 2022 @10:33AM (#31109944)
Cloud services are competitively priced. I'd honestly like to see some examples of people who invested the time to build cloud agnostic get actual ROE on that in terms of pricing concessions by negotiating with AWS/GCP/Azure over and beyond the additional developer time to build said platform.
Re:You probably don’t need AWS and are better off without it by oneplane on Wednesday April 20, 2022 @10:45PM (#31105553)
Unless you intend to create your own CPU architecture, your own internet and your own human population, by your logic, you are always "locked in". Regarding negotiating positions, those are governed by contracts and by money, the same as with any other company.

There is no real lock-in other than the requirements of your own implementation. A lambda on AWS can just as easily be run on Kubernetes, but that means that on top of running the code that you wanted to run, you now have to run Kubernetes too. You could use a hosted Kubernetes control plane, or fully hosted setup, but according to your same logic you would now be locked in to Kubernetes.

It seems to me that you might have a very special use case, or simply not have had the scaled experience or requirements that made a lot of other vendors non-viable.

Business risk-wise, AWS is a very low risk when compared with pretty much anything else. What do you think will fail first, a custom in-house maintained setup (expensive, non-portable between companies and people) on Digital Ocean, Linode, OVH, Hetzner, etc or all AWS Availability Zones in all AWS Regions world-wide? (and we ignore the lack of IAM, lack of things like RDS, SQS, SNS etc)

Re:You probably don’t need AWS and are better off without it by hackerfromthefu on Wednesday April 20, 2022 @08:14PM (#31104688)
I recommend using descriptive names rather than marketing ones. Proper naming helps you understand and think about things accurately to remove psychological bias/koolaid.

Another term which is more descriptive for cloud native is vendor cloud lock-in, which could be reasonably but descriptively shortened to cloud-locked or cloud-married maybe.

Native sounds cool but completely loses sight of the cost of lock-in, while locked or married talks to both the benefits and the costs.

Re:You probably don’t need AWS and are better off without it by KyeRussell on Wednesday April 20, 2022 @08:20PM (#31104721)
Vendor lock in is an attribute, or effect, which is not the same as “another term”. You can’t start an argument about semantics only to bend this language so drastically.
Re:You probably don’t need AWS and are better off without it by oneplane on Wednesday April 20, 2022 @11:51PM (#31105887)
Your semantics are misguided at best and malicious at first hand. FaaS is cloud-native, but is a mere abstract context a lock-in? If so, what is the point of ascribing lock-ins at all at that point? Cloud-native isn’t vendor-owned, at best it could be trademarked at the CNCF but that’s not a vendor.
Re:You probably don’t need AWS and are better off without it by dijksterhuis on Wednesday April 20, 2022 @05:54PM (#31103555)
I wrote a big reply to the below quote from you, and then realised were were probably arguing the same point.

> Do not use AWS if you just run a few virtual machines and some basic networking. That also applies to GCP and Azure. It's too expensive for what you need.

Currently on a contract where I've saved them 6 months of my costs over 3 weeks of part-time development on a single year long project. They saved half of my entire contract on their first foray into AWS compared to Digital Ocean charges.

When you know what you're doing AWS can become very cost-effective. Build it with $PLATFORM in mind and all sorts of savings are possible.

But the tricky part is whether the team is ready for it, or whether they'll spend more time learning the ropes than the company saves over $NUMBER years. Which I think is what you were getting at?

Re:You probably don’t need AWS and are better off without it by AtlasBarfed on Wednesday April 20, 2022 @10:45PM (#31105549)
"On the other hand, if you use Kinesis, Lambdas, RDS, VPC peering, and IAM accross all of them including EC2 and EKS, then no, none of those other options can even come close. Purely the lack of system-wide IAM alone would be a dealbreaker."

If you use those, AWS starts rubbing its hands together and cackling in an evil laugh. I bet they even have an mp3 that plays whenever a major player uses a lock-in api product on AWS.

"aws lambda install blah blah" < I obviously don't know the api

Somewhere in Seattle: Mwahahahahahaha! Bwahahahahahah! Kwahahahahah!

Although RDS is just hosted SQL databases. It isn't a pure lock-in. Identity management, key management, firewalls, and networking all exist in some form at most places.

And don't underestimate how bad internal "clouds" are in large enterprises. AWS pure EC2 can still be a huge win, especially if that is the only one that has been "expertly" vetted or negotiated by some lofty level of management on a golf course somewhere.

Re:You probably don’t need AWS and are better off without it by rstuart4133 on Thursday April 21, 2022 @07:36PM (#31116506)
> On the other hand, if you use Kinesis, Lambdas, RDS, VPC peering, and IAM accross all of them including EC2 and EKS, then no, none of those other options can even come close. Purely the lack of system-wide IAM alone would be a dealbreaker.

I use AWS, but I suspect I'm a fair bit older than you.

Those things you say "you can't come close" - they exist elsewhere. There are just software libraries. It's the reverse of "can't come close" - there is a plethora of implementations to choose from, and most are free. Lambdas is just CGI on steroids, RDS is just a database, IAM is just one of any number of authentication / authorisation platforms the most notable one being kerberos which is literally decades old.

It's true that AWS's versions of these libraries all play nicely together, whereas the others are going to require more glue. But on the other hand AWS nickel and dimes you on every use. The price of writing the glue can be high and has to be incurred up front, whereas the price of the nickel and dimes - that's a future self problem. Just like smoking and crack. Not unsurprisingly the cloud vendors use the same tricks as the smoking and crack vendors too - they give away their delights for free to early users by handing out free credits like candy, knowing once you're locked in as a heavy user there is no way to avoid paying the piper.

The price difference in my experience is typically of the order of an an extra 0. That's not a big deal with your primary costs aren't CPU cycles but rather developer time. That's absolutely the case at the start of an enterprises life, and it seems to remain true for many enterprises for their entire existence. So perhaps AWS works out for many.

But personally, I would not take it for my business. There are lots of implementations of all the things you mention, and much more besides out there. Worse, many of AWS's products seem to exist to solve problems created by using other AWS products. Need to monitor you SES reputation? Don't record it yourself - send it to CloudWatch! It's only a small cost. Oh you need to get it to CloudWatch - use SNS - it's only a small cost. Oh you want to trigger stuff from CloudWatch - just use Lambda - it's only a small cost. Oh, you need to control access to all those things - use IAM. Maybe it's true it's all only a small cost - but it a very complex solution compared to parsing you SMTP server logs and writing them to a open source database, which is all that is happening under the hood. At times it seems the only reason AWS structures things in the way they do is to induce you into buying more AWS services.

Which is why things like TerraForm exist. Some are happier to where the cost incur the expense of gluing together the many free alternatives out there, in return for the ability to roll it out to the lowest cost provider out there.

Re:You probably don’t need AWS and are better off without it by gemenon on Friday April 22, 2022 @03:27AM (#31119174)
What’s the point of reducing everything to the most primitive element and ignoring the reality? You’re one of these “I’ve seen this before, nothing new” while completely missing the value proposition. Why do anything when everything already exists and there’s no nuance?
Re:You probably don’t need AWS and are better off without it by deanCommie on Saturday April 23, 2022 @12:43AM (#31131482)
Re:You probably don’t need AWS and are better off without it by redredrobot on Wednesday April 20, 2022 @05:02PM (#31102962)
> using AWS is fine, as long as you use cloud agnostic stuff and avoid AWS specific services

IMO this is exactly when you should not be using AWS. AWS is a premium offering and you can find cheaper alternatives for the commoditized offerings like EC2, RDS (the older, non-AWS-specific features) and (maybe) S3.

It's the high-level services where the real value is in AWS - the cutting edge technologies that only exist in a specific cloud (or multiple clouds but where it's difficult to port across clouds due to subtle differences). This is where the extremely high development cost is able to be amortized over many customers, allowing you to get scalable, easy-to-use, and easy-to-operate services at a much lower cost than would be possible outside of that cloud. A great example of that for AWS is Serverless Aurora.

Re:You probably don’t need AWS and are better off without it by hnlmorg on Wednesday April 20, 2022 @04:40PM (#31102702)
The real benefit of the cloud is their SaaS offerings. If you go cloud agnostic you create more on going maintenance overhead (since you now have to manage services), higher hosting costs and you still have to rewrite most of your IaC when switching clouds anyway. Contrary to common belief, IaC platforms like Terraform doesn't mean the same code works across different clouds. It just means the same language can be used to provision services. However how you define services in that language will differ from one cloud to another even if the types of services are the same.

So unless you're going multi-cloud from day one, it's much better to write your services to be specific to the cloud you're using and benefit from them rather than boycotting them because of a theoretical decision of multi-cloud that you might never actually make. Most companies that talk about going multi-cloud never actually do because the benefits of being multi-cloud are actually pretty small for most domains. Being multi-cloud is one of those things that sounds more important than it actually is.

Re:You probably don’t need AWS and are better off without it by mywittyname on Wednesday April 20, 2022 @04:29PM (#31102565)
Developer skill sets vary a lot. I know my way around linux, but I'm no system administrator. So there's a good chance that I'll do something wrong if I built products using pure EC2. Also, frankly, I hate dealing with system administration stuff. I'll take a more expensive Aurora instance over a self-managed MySQL cluster any day of the week.

I'm sure there are tons of developers out there who know a lot about infrastructure and system administration. For those people, it might be worth spending time managing infra, but my time is absolutely better spent using a turn key solution and focusing on product development.

For smaller teams, getting feature-rich products out the door can be more important than building the most cost-optimal product. Bigger teams can afford dedicated staff to optimize infra.

Re:You probably don’t need AWS and are better off without it by mr_toad on Wednesday April 20, 2022 @06:37PM (#31103977)
> Infrastructure as code can work on any cloud provider including smaller ones like Digital Ocean, Linode, OVH, Hetzner, etc which are mentioned in the article.

Back in the ‘old days’ of the cloud you’d hear a lot of talk about “commodity computing”. Compute was fungible. No salespeople, no politics. It was a utopian environment for developers.

But in the decade and a half since, the landscape has changed. Now cloud is infested with salespeople, consultants, and worst of all, third-party solutions. It’s the same old hodgepodge of half-finished incompatible products tossed over the wall that on-prem used to be, only more expensive.

Re:You probably don’t need AWS and are better off without it by cube2222 on Wednesday April 20, 2022 @04:27PM (#31102541)
> as long as you use cloud agnostic stuff and avoid AWS specific services

That is a big tradeoff, and it's not something obvious. If being banned from AWS is an important and relatively big risk for your business, sure, go for it.

But if not, then those AWS-specific services are exactly where you get all those productivity gains from, and where AWS (and GCP for that matter) shines in comparison to smaller ones, like DO or Linode, or on-premises.

Re:You probably don’t need AWS and are better off without it by Communitivity on Thursday April 21, 2022 @11:47AM (#31111014)
I think it's all about what features you are using, and how much you want to BYOC (Bring Your Own Code).

Infrastructure as code is something you can do on smaller deployment environments as well, even in air-gapped environments.

The benefit of AWS, for me, is the reliability and all the capabilities that work out of the box that aren't differentiators for my solution (so it's great that I can offload them to someone else, if security, etc. allows).

I agree that it's a good idea to have a layer of abstraction so you can use other service providers, even though you may take a bit of a performance hit for doing so.

Re:You probably don’t need AWS and are better off without it by rsanek on Wednesday April 20, 2022 @06:29PM (#31103917)
> using AWS is fine, as long as you use cloud agnostic stuff and avoid AWS specific services

This is the worst of both worlds. You get the expense of AWS but without any of the things that would make the cost worth it. IMO you should either avoid using their services and move to something way cheaper (OVH, as the article mentions Hetzner), or fully buy into the benefits AWS has to offer.

Re:You probably don’t need AWS and are better off without it by rco8786 on Wednesday April 20, 2022 @04:44PM (#31102764)
I'll be honest, my experience is like literally the exact opposite. I guess "Once you get good" at anything it seems easy, and learning something else seems like a waste of time. But every time I want to do something in AWS it feels like asking for a house and having someone hand me a pile of bricks and 2x4s and then charging me for 2 houses.
Re:You probably don’t need AWS and are better off without it by jthrowsitaway on Thursday April 21, 2022 @02:35AM (#31106569)
Totally agree. It's been a few years since I used AWS, but back then they shipped half -assed products that didn't have a consistent feel with the rest of their products and weren't feature complete out of the box.

I remember using their email service (SES) and wanting to read logs for emails that have been sent. The only option was to point log events at an SQS queue. So, you had to create one of those, assign proper roles and access controls, etc. After that, you need to dump or consume the queue somehow. I can't remember if SQS could dump to S3, but if it could, then OK: create a bucket, assign roles, etc. Now, to parse the S3 bucket contents somehow... Wait, what was I doing? Trying to read some damn log files or set up a Rube Goldberg machine for the log files?

I get it. It's a modular system, and that can be very powerful. Sometimes I just want to do something simple without going down a multi-hour (or day) rabbit hole. The inability to perform simple actions on AWS without looping in tons of their other products means indefinite job security for a lot of people. IaC and templates for actions like the above alleviate this a bit, but it's still a dreary landscape.

Re:You probably don’t need AWS and are better off without it by rco8786 on Thursday April 21, 2022 @03:12PM (#31113952)
Your experience with emails and logs is how I feel every time I try to do anything with AWS as well.
Re:You probably don’t need AWS and are better off without it by dublin on Monday May 02, 2022 @03:18PM (#31239562)
The important thing to understand about AWS (or Azure or GCP, for that matter) is that you're not eliminating learning how to deploy and use an OS underneath your apps, you're just using a different (sometimes better/easier, but always more proprietary) KIND of OS. Because that's what these cloud platforms are - replacements for the OS in the modern distributed world.

They can offer awesome leverage and benefit. They can also be horrible traps that can break a company. I've seen both. As Doug Comer once told me, Unix is a Power Tool. Power Tools can kill. So can cloud platforms. There is nothing new under the sun...

Re:You probably don’t need AWS and are better off without it by jjeaff on Wednesday April 20, 2022 @05:13PM (#31103078)
Ya, but you don't know it's going to cost you as much as two houses until you are done building and start using the house. Then the surprise bills start rolling in.
Re:You probably don’t need AWS and are better off without it by pojzon on Wednesday April 20, 2022 @04:18PM (#31102405)
Deployed few services on ecs, nat gateway, shared elb, certificate and route53.

Total cost 30$ per day ~900$ per month.

You can accomplish the same for a fraction of that cost.

The convenience you talk about comes with a huge bill.

If I add reserved instances/savings plan, probably gonna drop to 600-700$, but still… I can setup that myself on my local lab for around 5$ per month.

So the knowledge required to setup that and hardware is worth around 695$ per month.

Thats why Cloud Providers are biggest employers of old sysadmins ;)

Re:You probably don’t need AWS and are better off without it by Rantenki on Wednesday April 20, 2022 @04:39PM (#31102686)
I have a personal dev cloud on AWS that has:

* AWS MSK (Kafka server) with redundant instances across 3 AZs

* Aurora Posgres instance with redundancy across 3 AZs

* Multiple Lambdas for incoming messages from MQTT to Kafka

* IoT/MQTT and about a dozen iot devices sending telemetry continuously (every second)

* 20+ services with nearly 40 tasks, running on ECS

* All the supporting route53, certificates, VPCs etc. for the above

* A bunch of miscellaneous stuff I've forgotten that's used by other developers.

* All deployed via TF

_THAT_ all costs well under a grand. You're doing it wrong.

Re:You probably don’t need AWS and are better off without it by the_jeremy on Wednesday April 20, 2022 @05:13PM (#31103084)
I think that's unfair. Your setup involving more distinct services than his has little bearing on the amount of data you're working with. Our setup is a lot simpler than yours (no postgres, lambda, mqtt) but deals with presumably a lot more data (~800Gib daily) so it costs an order of magnitude more than yours.
Re:You probably don’t need AWS and are better off without it by Rantenki on Sunday April 24, 2022 @09:38PM (#31149982)
Absolutely. My setup is, as stated, a dev instance. We have a substantially larger prod setup, but I can't get into the details about production scale on a public forum. That said, even the dev instance is moving a substantial amount of data; nothing like 800GB/day, but within an order of magnitude.

And yes, bandwidth costs can be brutal, especially if you try to build a hybrid solution that uses heavy services that live outside of AWS.

That said, the above comment didn't get into enough detail to get an accurate read on their bandwidth or CPU/Memory/Storage utilization, but if they can run it in a lab for $5/mo (which I doubt, since that barely covers power), then it can't be much, so I think it's fair to assume it's at least back-of-the-napkin similar scale.

Re:You probably don’t need AWS and are better off without it by jjeaff on Wednesday April 20, 2022 @05:05PM (#31102995)
Most all of those services are pay for use. Which means listing out the services you use means nothing. The price would be based on your level of usage. I have a bunch of lambdas setup in AWS and it's basically free because at the moment, I'm not running them.
Re:You probably don’t need AWS and are better off without it by Rantenki on Sunday April 24, 2022 @09:43PM (#31150018)
Our ECS containers all run continuously processing Kafka messages. Dev has variable throughput, but it's hundreds of messages per second at least. The containers all use between 256MB and 2048MB commits (they're stream processors, so they don't hammer the memory like a stateful monolithic service would).

My point was just that it doesn't have to cost over $1k on Amazon to run a combination of services which apparently CAN run in a private lab for $5/mo, however that is calculated. I can't run my full stack even without load (due to memory commit) on my 32GB, 3 year old Xeon workstation, and that would cost a lot more than $5/mo at any provider I am aware of.

Re:You probably don’t need AWS and are better off without it by dublin on Wednesday April 20, 2022 @05:02PM (#31102961)
Although he doesn't mention API Gateway in his list, I used to design AWS solutions for people, and it was by far the biggest mistake I saw them make cost-wise: It can get scary-expensive in a hurry, especially if you aren't careful at your cloud architecture and really understand what all you'll be paying for.
Re:You probably don’t need AWS and are better off without it by pojzon on Wednesday April 20, 2022 @05:11PM (#31103062)
Difference is probably that you run real microservices that have small footprint and you can binpack them on very small instances together with very very small aurora cluster.

If you wrote exactly the numbers of instances and types -> we could have a real comparison then.

Re:You probably don’t need AWS and are better off without it by j-krieger on Wednesday April 20, 2022 @05:00PM (#31102935)
Which is most likely the case 99% of times people decry a technology on HN
Re:You probably don’t need AWS and are better off without it by oneplane on Wednesday April 20, 2022 @04:28PM (#31102563)
Is it really the same, or 'similar, but worse'? AWS is expensive, but multi-zone redundancy is expensive anywhere and even worse: it's not available everywhere.

That also means that a side-project that doesn't need that redundancy would be a mismatch in terms of requirements anyway. On the other hand, if you need a multi zone automatically available system, you're running out of choices really fast.

Re:You probably don’t need AWS and are better off without it by bcrosby95 on Wednesday April 20, 2022 @04:43PM (#31102742)
Based upon outages when a single AWS zone goes offline, a whole hell of a lot more than side projects aren't taking advantage of multi-zone redundancy.

I think what many fail to realize is that - surprise surprise! It isn't that simple. Many think "if my zone goes out, I'll just migrate to a different zone!" Nope! AWS doesn't have the capacity for it - as we've seen many times, AWS can't seem to handle the migratory load when a zone goes out. Sure, the other zones don't really die, but good luck migrating your workload to them.

But when touting multi zones, no one ever mentions this little nugget of information.

Re:You probably don’t need AWS and are better off without it by pojzon on Wednesday April 20, 2022 @05:24PM (#31103202)
At my previous work we often were able to saturate all similar instance types in given region..

All AWS had to say was “we are working hard on providing additional capacity”.

The same often happens on black friday, where companies scale up their platforms just in case because there might be no capacity on AWS.

Re:You probably don’t need AWS and are better off without it by oneplane on Wednesday April 20, 2022 @11:33PM (#31105793)
We have that 'issue' with many of our Spark workloads where there isn't any of our desired capacity available as spot, but we have a baseline reserved up front instances for anything realtime anyway so with a bit of planning it's a non-issue.

It does cost money, but then again, so does not running certain processes. The trick becomes calculating the intersection at which point the costs outweigh the benefits, and that calculation applies everywhere.

Re:You probably don’t need AWS and are better off without it by oneplane on Wednesday April 20, 2022 @11:31PM (#31105783)
If you're in a single AZ you're not in multiple AZ. Migrating between AZs isn't multi-zone either. Running at 130% capacity in three AZs, that is multi-AZ (to us, in our availability configuration). If an AZ goes down (which in some regions we use has happend 0 times) we lose about 30% capacity, but since that's our margin of scaling anyway we can keep going as-is, even if there was no 15% additional capacity available in the remaining AZs.

Some sort of manual active-standby configuration really doesn't require AWS or a Cloud, that stuff is the same 90's implementation it has always been and practically boils down to attaching your RAID1 USB HDDs from one PC to another PC and booting that bad boy up as 'failover'. (yes, that's an example, and yes it's an extreme one)

If you have capacity planning, and you plan accordingly, you take service provider limits into account, just like you would with anything else. Having two power feeds into a distribution warehouse doesn't help much if neither can't handle 100% of the load in an industrial park. So while having two feeds might seem 'redundant' to a single tenant or customer, it's only really redundant if either can supply all the demand of all connected customers.

The same applies to fiber connections, plenty of fake-redundant connections that are suggested by customers to be 'redundant' turn out to end up at the same PoP and if the PoP goes down your redundant fibers are worthless. In the same logistics distribution scenario, your trucks can't deliver goods if the destination warehouse itself is offline, and now you need redundant warehouses.

That's obviously a weird thing to do at smaller scales, but the fact remains that AWS having an AZ go down is only a small piece of the puzzle, and only really a problem if you didn't plan for it appropriately.

Re:You probably don’t need AWS and are better off without it by fulafel on Thursday April 21, 2022 @05:51AM (#31107542)
Automatic multi-zone failover to survive az cashes without outages seems to be commonly based on optimism, as people don't effectively drill for it regularly. There are always bugs in it that need ironing out. So people just pay the price in operating costs, keeping replicas running on other AZs, and the resulting sw/distributed system/infra complexity, but but don't actually make the last steps to reap any payoff. It's because single-az outages are rare enough and that still leaves relatively common aws-wide outages you face and your self inflicted footgun outages. And drilling for the az failover can be scary and risky if you haven't done it before and are already in production.

AZ redundancy is like storage backups or backup power, if you don't regularly test it you don't have it.

Re:You probably don’t need AWS and are better off without it by fdgsdfogijq on Wednesday April 20, 2022 @04:20PM (#31102445)
This is true, but I will argue again that I am proficient enough with AWS to deploy a full stack with 10+ lambdas, DNS, certs, RDS, step functions, etc for < 5 dollars a month. You need to understand what to use and what not to. Most of that bill is from the nat gateway/private VPC, which you really dont need
Re:You probably don’t need AWS and are better off without it by mitjam on Wednesday April 20, 2022 @06:55PM (#31104117)
How? Last time I looked the smallest RDS for MySQL came at 11 USD.
Re:You probably don’t need AWS and are better off without it by freedomben on Wednesday April 20, 2022 @05:58PM (#31103596)
RDS for < 5 dollars a month?
Re:You probably don’t need AWS and are better off without it by douglasisshiny on Wednesday April 20, 2022 @04:22PM (#31102476)
>Deployed few services on ecs, nat gateway, shared elb, certificate and route53.

>Total cost 30$ per day ~900$ per month.

Ummm... I think you're doing something incorrectly. The biggest line items on that list are ELB (assuming you mean Application Load Balancer/ALB) and NAT Gateway. But with that setup, I could maybe imagine $100/month with on-demand plans. Not $900.

Re:You probably don’t need AWS and are better off without it by jcims on Wednesday April 20, 2022 @04:46PM (#31102797)
How can you say that with ECS on the list? You have no idea how much compute is being used.
Re:You probably don’t need AWS and are better off without it by nucleardog on Wednesday April 20, 2022 @05:05PM (#31102992)
Well he said he can replicate it with a $5/mo setup elsewhere.

How much compute can you rent anywhere for $5/mo? How much compute can you get even buying the hardware and amortizing over its useful lifespan for $5/mo (~$300 total)?

Re:You probably don’t need AWS and are better off without it by justinclift on Wednesday April 20, 2022 @06:14PM (#31103768)
Reading over the post, it says $5 in their "local lab". Which probably means using existing or older hardware, so the $5 is probably electricity costs or similar.

And it sounded more like a generalisation anyway. ;)

Re:You probably don’t need AWS and are better off without it by sorry_outta_gas on Wednesday April 20, 2022 @05:00PM (#31102928)
ECS can get up there if you're backing with large ec2 instances or something

either way my biggest problem with services like AWS isn't really cost but that you end up using all of their SDKs and services out of convenicance and it becomes hard to track down or move away from.. it spiders out of control so fast that sometimes its better to spend an extra few weeks doing things the harder way that's not always an issue though espcially for startups

Re:You probably don’t need AWS and are better off without it by hayd on Wednesday April 20, 2022 @04:36PM (#31102640)
NAT is $1/day and ELB is 60cents/day. So those can't (although those costs excludes data transfer...) be the biggest line items.
Re:You probably don’t need AWS and are better off without it by Aea on Wednesday April 20, 2022 @04:46PM (#31102792)
NAT is $1/day *PER* AZ *PER* VPC.

Managed NAT Gateways can be a very substantial cost depending on your architecture. I believe the recommended VPC layout has 3 AZs so you're paying close to $100/month for a single VPC just for NAT.

Re:You probably don’t need AWS and are better off without it by pojzon on Wednesday April 20, 2022 @05:20PM (#31103160)
Ding ding ding, ppl here dont take to account HA and disaster preventions you sometimes have to abaid to due to security certifications and regulations!
Re:You probably don’t need AWS and are better off without it by hayd on Wednesday April 20, 2022 @05:50PM (#31103509)
So your comparison with your $5 local lab is not just less "convenient"!

Do you really need multi-multi-region failover redundancy? Do you really need multiple NATs in every region (it's easy to share one NAT Gateway across AZs, especially so if a region is only servicing DR)? Your numbers still sound high.

x $1 + y $0.60 to make up $30 is a _lot_ of regions/AZs.

Re:You probably don’t need AWS and are better off without it by rstupek on Wednesday April 20, 2022 @07:56PM (#31104568)
Yes the $5/month lab setup compared to a globally redundant service.
Re:You probably don’t need AWS and are better off without it by ramraj07 on Wednesday April 20, 2022 @04:22PM (#31102484)
what exactly do you set up for 5 bucks a month on your local lab? Sounds more like you’re comparing what lightsail offers, which incidentally costs the same even on aws?

If you want a simple sight with just core aws, you can set one up on aws on elastic beanstalk for a few bucks a month. Add an rds for 15 a month. Why will you needlessly overcomplicate the system and then cry foul?

Re:You probably don’t need AWS and are better off without it by pojzon on Thursday April 21, 2022 @03:58PM (#31114483)
Tbh 5$ was to just show the order of magnitude.

Even if it was 50$ per month, its still alot cheaper.

And the cluster we are talking here about is a raspberry box with 10 mashines each 2cpu 8gb, running k8s, replicated storage, my own domain and certificate, metalb load balancers, and few other things.

Its not as redundant as AWS, but it never broke in few years of constant work. Chances of all of those machines to break at the same time are astronomically low in normal circumstances.

If I spread the cost of that setup over two years of reservation, the monthly cost will be a lot less than 50$.

Re:You probably don’t need AWS and are better off without it by tempnow987 on Wednesday April 20, 2022 @05:12PM (#31103069)
$900 a month? The only thing in that list that could come close might be ECS? Are you using ECS anywhere?

If you have high compute needs I've had good experience with that and it's cheap. You can put a huge box behind it. I did that (I have ATT fiber to the house) and for the $7/month I could still use all my deploy templates and AWS CLI commands and code to do stuff.

I tried this with an AMD home machine (AMD 5900x / 64 GB ram / nvme) and it worked surprisingly well as did a dell server (beefier). I put ubuntu on them, registered them, and they came right up in the plane.

Re:You probably don’t need AWS and are better off without it by johnnyo on Wednesday April 20, 2022 @05:06PM (#31103015)
> So the knowledge required to setup that and hardware is worth around 695$ per month.

That's an extremely cheap price to pay if you had to hire someone to do it.

Re:You probably don’t need AWS and are better off without it by Spivak on Wednesday April 20, 2022 @05:33PM (#31103320)
Yeah a single infra engineer in my city gets paid $15k/mo total comp.

I get the pain if you’re at “garage with shoestring budget” stage but $1k/mo isn’t even worth the time to set up a billing alarm.

Re:You probably don’t need AWS and are better off without it by _pdp_ on Wednesday April 20, 2022 @04:27PM (#31102546)
We have around 20 API GW, at least 20 dynamodb tables and more than 30 lambdas, several queues and opensearch replicated across 2 environments (dev and prod) plus additional programming environments (cloud9) and we barely come close to half of what you you are budgeting here for. Your math is wrong.
Re:You probably don’t need AWS and are better off without it by pojzon on Wednesday April 20, 2022 @04:55PM (#31102882)
How big are those Opensearch clusters ?

Lets take a small production cluster of 4x r6g.large (default proposal for prod) (0.167$/h) deployed in VPC in private subnet (x2 for HA)

That’s 16$ per day for instances only and 2.5$ per day for nat-gateways per day. So 18.5$ per day and ~550$ per month.

Thats ofcourse if you disable all metrics all logs all alerting etc and it does not include Volumes cost, because its highly dependent on the domain.

AWS is expensive because you get alot of administrative work out of the box (snapshots, restores, etc). Tho sometimes have to still fix in the source. Ive personally pushed quite a few fixes to OpenSearch source, coz version 1.0.0 had a lot of issues.

Re:You probably don’t need AWS and are better off without it by systemvoltage on Wednesday April 20, 2022 @05:28PM (#31103245)
$900/month – whether thats too little or too much entirely depends on the company's revenue/margins. I've seen companies that do not care about AWS spend. It makes close to zero difference to them and just thinking about the cost costs more. On the other spectrum, I've seen companies that move to bare metal servers. A couple of servers and that's all they need. $120/month from $2000/month and it mattered to them.

So yeah, what you're saying is sort of meaningless without understanding the business type/stage/revenue/costs.

Re:You probably don’t need AWS and are better off without it by smackeyacky on Wednesday April 20, 2022 @07:20PM (#31104323)
That $5 a month figure - does that include your internet connection? I have a far more complicated AWS setup that costs me about $100/mo. I'm assuming the extra costs you are incurring are for data?
Re:You probably don’t need AWS and are better off without it by throwr966 on Wednesday April 20, 2022 @05:54PM (#31103559)
5$ per month is pretty impressive. What hardware would you be running this solution on? Typically if you run hardware in a co-located data center there's a fee for that, is that included in the 5$?

What did the hardware cost, and based on depreciation, how long will it last before requiring replacement? Is that also included in the 5$ you are quoting here?

Re:You probably don’t need AWS and are better off without it by moltar on Wednesday April 20, 2022 @05:16PM (#31103124)
Totally agree and this mirrors my experience. I spent years tinkering with devops, custom VPSes, Ansible, etc.

AWS CDK is unparalleled experience. Truly a multiplier in productivity that I haven’t experienced in 20 years working on the web.

Re:You probably don’t need AWS and are better off without it by VWWHFSfQ on Wednesday April 20, 2022 @05:23PM (#31103189)
Terraform was a complete game-changer for me. Once I got good at that suddenly everything became trivial.
Re:You probably don’t need AWS and are better off without it by moltar on Thursday April 21, 2022 @02:33AM (#31106564)
Ya I can see that. Try CDK though, it’s on the next level. There’s even a cdktf project!
Re:You probably don’t need AWS and are better off without it by fdgsdfogijq on Wednesday April 20, 2022 @05:31PM (#31103295)
I'm at the point where I'm not sure I will take a dev job on a non AWS stack. My quality of life is just so much higher.
Re:You probably don’t need AWS and are better off without it by simulate-me on Wednesday April 20, 2022 @05:14PM (#31103090)
I like AWS, but K8s has reduced my cloud needs to down to a Docker registry and a K8s cluster, which I can easily get anywhere. The one thing I really like about AWS is DynamoDB, which has very cheap and straightforward pricing but can also scale up seamlessly.
Re:You probably don’t need AWS and are better off without it by erulabs on Wednesday April 20, 2022 @10:55PM (#31105605)
Exactly - I use AWS still but it’s more or less EKS and RDS only. Could be anywhere these days - and in fact our ci cluster at linode costs ~1/2 as much and is functionally identical.
Re:You probably don’t need AWS and are better off without it by Too on Thursday April 21, 2022 @02:21PM (#31113273)
What about storage? Using S3 or some k8s alternative? PV have a very different usage model.
Re:You probably don’t need AWS and are better off without it by simulate-me on Thursday April 21, 2022 @10:34PM (#31117600)
I haven't needed to use storage in a serious way. GCS, S3, Digital Ocean storage, they all seem to work relatively the same for my use cases.
Re:You probably don’t need AWS and are better off without it by treesknees on Wednesday April 20, 2022 @04:13PM (#31102366)
The author touched on this, you can use cloud services without the complexity and billing nightmare that is AWS. It's not AWS vs DIY.

>Is it actually good as default choice to host a software system of any scale? Let us go through some arguments against going all-in with AWS and why many companies and individual side-project developers might be better off using something else.

To be clear, the author is suggesting that AWS doesn't need to be your first choice in smaller setups and side projects. I don't think they're intending to say people shouldn't use AWS under any circumstance.

There are plenty of smaller cloud service providers that can offer similar functionality to AWS that probably make more sense for smaller-scale uses. I personally love Linode, and you can definitely pull together their various services to build something without doing it from the ground up on VMs.

Re:You probably don’t need AWS and are better off without it by fdgsdfogijq on Wednesday April 20, 2022 @04:27PM (#31102539)
Maybe, but I'll just say again, after a few years of day in and out AWS development, I can build a full blown website, with queues, microservices, RDS, react app, monitoring, alarms, logs, authentication, in a few weeks. Everything is rock solid, done by the book, and CHEAP. I think you are underestimating the power of this
Re:You probably don’t need AWS and are better off without it by zmmmmm on Wednesday April 20, 2022 @06:25PM (#31103872)
I guess this sounds dismissive, but it just doesn't sound that impressive. Anybody can do that on any cloud provider in a mostly vendor agnostic way with some docker-compose or kubernetes yamls / terraform scripts.

I think you've lost touch with where the non-AWS world is up to and are assuming it's still where it was in 2012. It's not.

Re:You probably don’t need AWS and are better off without it by jjeaff on Wednesday April 20, 2022 @05:11PM (#31103063)
I can deploy most all of those services to my k3s cluster just as quickly using their respective helm charts.
Re:You probably don’t need AWS and are better off without it by gregmac on Wednesday April 20, 2022 @05:37PM (#31103364)
I'm involved with a project that is built out using colocation space in a traditional datacenter, running on VMware Vsphere. Up to now, they've been doing this very manually: customers assigned to specific, named servers; servers provisioned manually (largely scripted, but not automated); networking configured manually; etc. Worse, they have two deployments in different regions of the world, but they're managed mostly by separate teams and there's a lot of implementation details that are very different. I come from an AWS infrastructure-as-code world, and it's shocking how primitive this stuff all feels.

They had considered switching to AWS or Azure in the past, but ultimately deccided to stay on this setup for cost reasons, and frankly I don't think anyone understood the benefits of infrastructure-as-code let alone taking advantage of all the other thing in the cloud providers.

I came in to help modernize it. Just as we were getting going with some Terraform-based proof-of-concept, a couple things happened: some sales opportunities came up that would require running in another region, and there were some harder questions on the disaster recovery plan (eg: "what happens if the datacenter burns down?"). The company doesn't want to invest in building out another traditional datacenter, let alone redundant ones, so we took this opportunity to discuss shifting this project over to AWS or Azure.

Once built with infrastructure-as-code on the cloud providers a bunch of these problems just disappear, even without making the app itself "cloud-native". Having a dev environment that mirrors production is easy. Having multiple multi-tenant environments in different regions -- and adding new regions -- is also easy. Recovering from a major disaster would also be relatively painless, provided you have a good backup strategy (deploy to new region, restore backups).

Re:You probably don’t need AWS and are better off without it by aresant on Wednesday April 20, 2022 @05:46PM (#31103473)
I was going to write this same comment.

Thinking about the resource cost to prop-up, maintain, and cross-integrate a platform anywhere close to AWS is a business in itself.

Re:You probably don’t need AWS and are better off without it by elorant on Wednesday April 20, 2022 @04:05PM (#31102242)
Would you recommend any resources/book for someone who hasn't got a clue what all the services at AWS are about?
Re:You probably don’t need AWS and are better off without it by sethhochberg on Wednesday April 20, 2022 @04:11PM (#31102331)
There's so much going on within AWS I'd suggest approaching it the other way and identifying a few examples of things you'd need, and then researching how AWS implements those things - if you need a mainstream relational database, AWS has RDS or Aurora, etc. Need to make sure your RDS database is only accessible from your private backend app? Thats a Security Group. Need somewhere to run that app as a Docker image? ECS or EKS... which may require learning a bit about IAM so you can make sure your own user / deployment user has the right permissions to manage all these resources. Its pretty straightforward to pull a thread - but there are lots of threads you could pull.

But this has been shared here before and is still pretty good: https://adayinthelifeof.nl/2020/05/20/aws.html

Re:You probably don’t need AWS and are better off without it by fdgsdfogijq on Wednesday April 20, 2022 @04:08PM (#31102293)
I would start by understanding the infrastructure as code paradigm, built by CDK. With CDK, I would build some kind of webapp, incrementally adding more resources (lambdas, databases, etc). The true value is that you should never modify resources you provision in the console and only do it through code. Once you start developing software like this, it will be very hard to go back to the old way.
Re:You probably don’t need AWS and are better off without it by lambdaba on Wednesday April 20, 2022 @04:13PM (#31102364)
Where does this sit in relation with Terraform? Is Terraform not able to do everything this does? I was aware of something from AWS called CloudFormation templates or something but I heard that was too low-level and idiosyncratic, also JSON-based and not expressive enough. Sorry if this is a bit confused, just want some clarification, and thought that Terraform was the gold standard.
Re:You probably don’t need AWS and are better off without it by pojzon on Wednesday April 20, 2022 @04:28PM (#31102556)
Terraform is using a delarative DSL. CloudFormation is similar in that regard.

Using a declarative language is both a pro and con.

Pros of that solution is that you are restricted in what you can do, which often results in simplier and cleaner code.

Cons are that again you are restricted in what you can do.

Now about CDK is just your preferred language library to write infrastructure in imperative way. For example you write java code that deploys infrastructure.

When using a real programming language you have ofcourse a lot more freedom in what you do, but ofcourse that comes at the cost of complexity. If your developers are “creative” it can be very hard to understand wth is happening in code.

—- So yes many ppl consider Terraform as a golden standard (me included) but after many years of working with it, like anything in IT it has own flaws and you may want to consider other solutions for specific projects.

Re:You probably don’t need AWS and are better off without it by fdgsdfogijq on Wednesday April 20, 2022 @04:35PM (#31102630)
I'm a huge fanboy of CDK. I think its superior, and that its power has yet to be realized by the tech community at large. You can essentially create object oriented abstractions of common infrastructure patterns. You are correct, you need to be careful about how you build things, but it can be extremely productive. Cloudformation is a nightmare.
Re:You probably don’t need AWS and are better off without it by jen20 on Wednesday April 20, 2022 @04:36PM (#31102641)
CDK is also declarative - it generates a CloudFormation YAML file, so cannot possibly be anything else. Declarative is a property of a programming model, not a language.
Re:You probably don’t need AWS and are better off without it by Too on Thursday April 21, 2022 @02:47PM (#31113637)
It’s possible, and very easy, to generate yaml with a bunch of for-loops and side-effects in an imperative language.

So without knowing anything about cdk, even if it is declarative, I don’t think your conclusion is applicable.

Terraform, the language, works differently. While it has variables, you can not store state in variables and depend on side effects based on the order you read/write such variables. Every assignment and execution order of resources is purely based on dependency order and not based on the order of the lines in your code.

Re:You probably don’t need AWS and are better off without it by jen20 on Thursday April 21, 2022 @09:52PM (#31117371)
Terraform is not a language. HCL could be considered a language, but really requires the additional context of the Terraform resource model and the individual schema pertaining to the resources under management to decode. It populates an internal resource model, before changes are effected by the Terraform core engine.

One can configure the self same resource model using JSON, which can be trivially generated - as you correctly point out - using whatever language and paradigm you like.

However, since the language doing the generation does not influence the order of operations when applying the effects, the model is declarative. This is identical to the CDK configuring the CloudFormation engine via YAML. Indeed, there is a CDK for Terraform too...

Re:You probably don’t need AWS and are better off without it by pojzon on Wednesday April 20, 2022 @05:03PM (#31102978)
Inbetween using CDK and generating CF Template you can be very “creative”, thats where the imperative part lies.
Re:You probably don’t need AWS and are better off without it by 8note on Wednesday April 20, 2022 @08:14PM (#31104690)
I think there's a much stronger argument that cloudformation deploying your stacks gets to being imperative than the way you produce your cloudformation file.

The file is still declarative regardless, and the functions you write to create that file don't per se have side effects outside that file

Re:You probably don’t need AWS and are better off without it by jen20 on Wednesday April 20, 2022 @04:35PM (#31102633)
- CloudFormation is the native offering from AWS. Templates are submitted in the form of YAML or JSON documents.

- CDK compiles Typescript and other languages down to CloudFormation Templates

- Terraform uses the AWS API directly via an AWS-specific provider, and does not typically use CloudFormation stacks (though this can be useful, in some circumstances!)

- Pulumi uses TypeScript and other languages to drive an engine similar to Terraform (and the Terraform AWS provider is one of the options for provisioning AWS resources).

Hopefully this clears it up?

Re:You probably don’t need AWS and are better off without it by holler on Wednesday April 20, 2022 @05:00PM (#31102939)
I'd recommend learning raw cloudformation first since it's the primitive cdk compiles to & being able to read/understand it will give someone full confidence of their stack.
Re:You probably don’t need AWS and are better off without it by fdgsdfogijq on Wednesday April 20, 2022 @05:14PM (#31103098)
This is how I learned. Its a great point, might be tedious to do at this point though
Re:You probably don’t need AWS and are better off without it by jayair on Wednesday April 20, 2022 @05:01PM (#31102953)
If you are looking for a guide on building full-stack apps on AWS, check out: https://serverless-stack.com/guide.html

It covers a small subset of AWS services but it is very comprehensive in what it covers.