4 ms·
I'm not sure I agree with this. In the past, software development and how things were deployed etc was the wild west. Every company and team had completely diff
by bedobi 5y ago
I'm not sure I agree with this. In the past, software development and how things were deployed etc was the wild west. Every company and team had completely different standards and methods etc and lots of it was manual and little to no testing etc etc.
Now, with things like AWS, Terraform, increasingly converging popular programming languages, frameworks and best practices like tests, code review etc, in some ways things are less complex.
- StephenJGL 5y agoI agree with your disagreement. I've been in involved in web dev for 30 years. There is more moving parts, but IMO they better align with the actual complexity. This is likely only true for professional, production grade apps where the full range of concerns are in play such as security, maintenance, testing, migrations, scaling, etc. Deploying a simple app is more complex. For the apps I built I don't have to plan server purchases months out. I don't have to coordinate multiple apps on one machine. I don't have to worry about swapping out LBs and Firewalls as a nightmare connectivity issue. I don't have to scale file storage regularly. I can scale up service DBs as needed. All of that reduces total complexity. Beyond that, in some instances even for simple apps there is less complexity once you know the technology. That's not complexity though. That's a buffet of useful options. Good architecture decision are even more critical today.
- deltaonefour 5y ago> I don't have to worry about swapping out LBs and Firewalls as a nightmare connectivity issue. I don't have to scale file storage regularly. I can scale up service DBs as needed. All of that reduces total complexity. You're wrong. Complexity has increased by a huge magnitude so much so that it's actually unmanageable by a single person. What's going on in your case is that the complexity of all of this has been abstracted away from you by amazon. They have entire teams of people making sure you don't have to deal with the actual complexity. That's the difference. This isn't an actual abstraction in the same way a high level language abstracts the details away from you. This is an abstraction where a team of people take care of you. It is not a true abstraction because you cannot wield this abstraction yourself in the same way you can wield a high level programming language. Make no mistake, the actual complexity of it all has increased by huge orders of magnitude.
- squabble 5y agoI think they mean that it reduces the complexity that a single developer has to deal with.
- dogecoinbase 5y agoRight, but this redefines "developer" to "consumer of a cloud platform's services".
- StephenJGL 5y agoComplexity I don't have to deal with doesn't exist. Only if I really don't have to deal with it. We use BigQuery to report on 100s of terabytes of data. Behind the scenes it is massively complex. I don't have to deal with it. It's not meaningfully complex for me.
- deltaonefour 5y agoWrong. Just because you don't deal with it doesn't mean someone else is. A true abstraction abstracts complexity away so no one deals with it. Amazon abstracts complexity away by having someone else deal with it. Big difference. One would imagine software progressing towards abstractions that are simpler and allow one person to do more, what we are getting is instead abstractions that only make it seem this way when in reality it's going in another direction. Complexity is increasing to the point where one person can do less, but companies like amazon don't let you realize this by hiding the true complexity behind other people who deal with it.
- taeric 5y agoI agree, but I think you are overselling how standard deployments are. And, underselling how well older java frameworks actually solved most problems folks would have. The standard "war" file goes a long way for what folks actually need for web applications. And that completely ignores how well PHP works for standard web sites. So, if anything, I would say that things peaked with very understandable deployments about a decade or so ago. Sure, we now have "web scale" orchestration frameworks for the giants out there, but... I question how well this actually solves problems that folks have. Worse, I also challenge that anyone really has a handle on scale. Walmart's site, as an example, was completely garbage today when they released there silly supply of PS5s. In all sorts of ways that showed that eventual consistency is the unnamed assumption in how all "web scale" things are created.
- ratww 5y agoI worked in 5 companies so far that used AWS, and consulted for a handful more. None of them did things the same way than the others. Even inside AWS there's no standardised way of doing deployments. Are we using EC2, Lightsail, Lambda, Elastic Beanstalk, EC2 with ECS, Kubernetes? For databases, are you hosting yourself or with EC2 or using RDS? Or are you using containers? Or Kubernetes? Too many options. Pre-AWS, however, things were much more standardized: Linux servers. Or Windows for 5-10% of cases.