4 ms·
Ctrl+F "env", nothing, "local", nothing. The article title gives me flashbacks to when I had to work on a project that was all-in on AWS serverless stuff, and
by quectophoton 3y ago
Ctrl+F "env", nothing, "local", nothing.
The article title gives me flashbacks to when I had to work on a project that was all-in on AWS serverless stuff, and we had a single dev environment (there could be only one person at a time working on a specific service), that was also used by other teams (so, many times when we tested stuff we received complains that it was broken because other teams' services were pointing to ours).
And no, there was no way to test locally and "no time" to even try.
There was also a test/staging environment that required waiting a few days between the moment you request a deployment until the moment it was actually deployed.
And the best part, all environments had very different Terraform files, so there's some stuff you could only test when you deployed to the staging environment, and some stuff you could only test when deploying to production. Each deployment with a waiting time measured in days.
[thousand yard stare] So much time wasted.
- icedchai 3y agoI worked at a “serverless” shop and ran into people who would actually edit code in the AWS console. They’d then copy-paste into their local editor before committing to git (usually. Stuff sometimes got overwritten!) It was baffling that no time was spent on local environments.
- tayo42 3y agoIs this how serverless really is? I just inherited someone's lambda project and basically I have the same experience. Like no testing, just deploy to production and see how it goes. Idk how this didn't set off red flags to anyone.
- icedchai 3y agoSadly, yes. You can build an app that runs both locally and on Lambda / serverless. I've done it and seen it done. However, in my experience, this is generally beyond the capabilities of most individuals. It's more often a mess than not.
- financltravsty 3y agoYes it's a Kafka-esque soul-deadening trial. Either you: use some OSS tool that emulates AWS infra locally (never exactly, and always missing features), run the aforementioned tool in a container because why not (looking at you, GitHub runners), or simply rely on manual integration testing to somewhat emulate the environment (and provision and point to blackbox cloud resources when you have a lot of moving pieces).
- paulryanrogers 3y agoIs Localstack enough?
- mike_hearn 2y agoNot always. Check out how Oracle Cloud does it. It's a hosted version of an open source stack called fn, which you can run fully locally via a simple CLI tool. https://fnproject.io https://fnproject.io
- The_Colonel 3y ago"Deployment speed" is mentioned there. Many devs forgot (or never knew in the first place) that local development used to be the default and that the waiting time in the cycle "write code, run it, find a problem, write code" should be measured in seconds, not tens of minutes or hours (as is usually the case when devs don't have a local environment), or even days. This is another (from a long list) hidden cost of complicated "webscale" architectures (not just serverless, but often the case for the plain microservice architecture).
- perrygeo 3y ago> the waiting time in the cycle "write code, run it, find a problem, write code" should be measured in seconds, not tens of minutes or hours I've run across developers who have never seen this in their career; they simply don't believe it or write it off as another old-timer story about punch cards. The bureaucracy of modern software is so pervasive that it's ruined our expectations of basic things like being able to run the software you're developing. That really shouldn't be controversial, yet here we are.