TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

A magical AWS serverless developer experience

241 pointsby ptrikabout 3 years ago

35 comments

pech0rinabout 3 years ago
This sounds like an interesting setup, but honestly my alarm bells are seriously going off in terms of cognitive load for every developer. I would love to see how much time is spent on ops at this company vs actual dev time. Also once they are hitting scale I am really interested how all of this holds up. You have 7 devs now, what happens with 20 devs on different teams.<p>Also since this is a beta product, I am doubting that you would hit too many problems with any deployment solution at this point. Why are you using Aurora + serverless + event bridge at all? Its magical because you are all using the same dependencies as prod, but why are you using these dependencies at all? All you need is a single postgres database (easily spun up on any developer machine) + crud app (easily able to use full stack typescript with nextjs or the like).<p>Word of caution about having this many moving parts, they will bite you in the ass. Now it seems all rainbows and magic but there is a reason people on this website preach simplicity -- because when shit hits the fan the simple solutions are easy to debug and fix without spending 1000s of dev hours. The complicated magic solutions are the ones that cause 24+hr downtimes and need to be re-architected. You are a customer service tool, not a devops company, the choices here don&#x27;t make too much sense.
评论 #30830301 未加载
评论 #30828915 未加载
评论 #30833152 未加载
sdevonoesabout 3 years ago
Looks very painful, or at least it looks to me like doing programming in the 60s: we need to connect to the &quot;mainframe&quot; in order to be able to do our jobs.<p>So much vendor lock-in, so much dependance on internet connectivity, so many buzzwords around... so much magic (as the post&#x27;s title describes). I really dislike having to deal with a lot of third-party magic when doing programming.
评论 #30828879 未加载
评论 #30830447 未加载
raydiatianabout 3 years ago
This was an interesting read, I’m currently facing a similar set of decisions. Good on you guys for finding an approach you’re excited to write about!<p>Throwing my two cents into the conversation, perhaps one day we’ll be able to have our cake and eat it too: If <a href="http:&#x2F;&#x2F;localstack.cloud" rel="nofollow">http:&#x2F;&#x2F;localstack.cloud</a> (replicate AWS services locally) ever makes it to a 1.0 release, I may strongly think about vendor lock-in friendly approach like this. Unfortunately localstack recently (v0.14.1) forced me to give up on each ambition in my ideal develop-n-test-it-locally wishlist: first I gave up on a CDK provisioning resources locally, then I abandoned using ECR images for localstack lambda, and then I abandoned localstack altogether. Their S3 mock still works for local dev though!<p>The other thing is... if you want to develop locally but still on top of lambda, you either skip the api gateway altogether, or you write an undeployed shim for like expressJS or node http to fake that restful pattern locally. As great as not using APIGW+lambda-integration is, Lambda doesn’t believe in return codes other than 200 (ignoring throws and server failures), and you should probably use the AWS-sdk&#x2F;client-lambda package. This all scatters weird lambda anti patterns. Yuck, that’s gonna be a big “chore:” commit if you ever get sufficiently sick of it. And I’m actually not in favor of using the lambda response interface, but APIGW lambda integrations are a seeming sht show. VTL and selection pattern seem so bad I’d rather just have more Kubernetes experience. Knative is good these days, I hear.
评论 #30829763 未加载
评论 #30833117 未加载
评论 #30879478 未加载
emilsedghabout 3 years ago
For me, the magical serverless developer experience was Google Cloud Run.<p>I write a conventional 12 factor app, with no vendor-specific code which could be executed on my local machine for development, Heroku, or anywhere else, and hand it over to Google Cloud Run. It&#x27;s really an amazing service.<p>I had a few wishes on their service (eg integration with Papertrail, an easy way to run background workers, etc) but overall the whole thing is the best of all worlds:<p>* No vendor lock in due to platform specific code<p>* Easy local development<p>* Serverless scalability and pricing<p>Are there particular reasons why people go through so many hoops to use Lambda when such superior experience exists?
评论 #30828285 未加载
评论 #30829949 未加载
评论 #30830738 未加载
评论 #30829251 未加载
评论 #30828213 未加载
评论 #30828268 未加载
评论 #30829315 未加载
EnKopVandabout 3 years ago
We’re doing more and more full stack typescript because it’s incredibly powerful resource (as in money) wise to have the same environment across everything in non-tech enterprise.<p>We also do a lot of “serverless” but the way we do it seems far less vendor dependent than this. Basically what we do is layer out the “node” part of our “serverless” application and let our cloud provide act as what is essentially the role of what expressJS or similar might have done for you 5-10 years ago. We’re also handling a lot the federated security through a combination of ORMs, OPA, AD and direct DB access control for the very rare BI application that needs it.<p>This way we can leave our cloud vendor at any time. Not without figuring out a suitable replacement but far easier than this article, and maintaining almost all of its advantages.<p>Interesting read, and if you’re certain AWS is a good home for the next five years from your most recently deployed service, then I don’t see too much of an issue with vendor lock-in.
评论 #30828067 未加载
评论 #30832412 未加载
评论 #30829106 未加载
qaqabout 3 years ago
I&#x27;ve worked on a major project that went all in on AWS Serverless and all AWS latest and greatest, What a pain the amount of CDK code 1:1 to application code, Number of pipelines and speed of deploy abysmal. Dev experience sucked. In a rare one to one comparison we had to reimplement a major subset of the project as a mostly monolithic app running in a single container. (On prem version). Was done by 4 people in 2 month. Orders of magnitude productivity boost.
评论 #30828540 未加载
chris_armstrongabout 3 years ago
My company started from nothing on serverless about 18 months ago with a small team and now ramping up to several developers. Unlike the author, we&#x27;re using more run-of-the-mill tooling (like AWS SAM) and more unit testing than integration testing, but the set up is otherwise very similar (TypeScript frontend and backend, a fully deployed version of the application per branch).<p>Our application has evolved from a simple API Gateway + frontend architecture to numerous asynchronous processes, dozens of integrated Lambdas, numerous S3 buckets and DynamoDB tables, third-party system integrations, cross-account integrations, etc.<p>It&#x27;s been great for our velocity, costs next to nothing to run in development, and has been generally straightforward to refactor any &quot;monolithic&quot; parts into smaller, reusable, event-driven units. We operate in a very traditional industry and interface with much older style enterprise systems.<p>I wouldn&#x27;t say any part of it is truly &quot;magical&quot;, but the ability to give each developer their own fresh copy of the environment for each new piece of work at little to no cost is incredible. It&#x27;s wonderful not having to concern ourselves with scaling each of our resources or worrying that they&#x27;ll go down, as well as not needing the regular maintenance that comes with servers or containers.
评论 #30831621 未加载
claudiusdabout 3 years ago
It&#x27;s great to see how others are doing serverless development. It&#x27;s definitely not something you learn to do well overnight. I&#x27;m glad to see someone get past the learning curve and write about what works for them.<p>I&#x27;ve been experimenting with serverless for some time now and came to many of the same conclusions written about here. The biggest takeaway for me is that there are pitfalls to an overreliance on lambdas. You really need to offload as much as you can to the other serverless solutions AWS provides.<p>I&#x27;ve been using Appsync for my graphql API instead of API gateway + Lambda, and I have had a good experience with it. A lot of logic can be offloaded into mapping templates, making lambdas unnecessary in many cases. Debugging is still a bit of a pain for me, but the end result is fast, cheap, and reliable.
treveabout 3 years ago
I hope people considering this architecture read this article and reconsider if they can build their applications using mostly portable services.<p>I&#x27;d be curious what kind of use-cases people have that makes this complexity worth it.
评论 #30828222 未加载
vishnuguptaabout 3 years ago
&gt; In isolation without impacting other engineers due to everyone having their own AWS account.<p>This is super interesting. I&#x27;m almost certain they mean AWS keys (with appropriate IAM permissions etc.,). Otherwise billing, developer onboarding&#x2F;de-boarding and such quickly go out of control.<p>Back in 2015 at my previous company I had setup two AWS accounts, one for test stack and one for production. That in itself was quite a bit of pain.
评论 #30828694 未加载
评论 #30828564 未加载
评论 #30828793 未加载
评论 #30828728 未加载
评论 #30828699 未加载
o_____________oabout 3 years ago
Terrible name choice:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;serverless-stack&#x2F;serverless-stack" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;serverless-stack&#x2F;serverless-stack</a><p>Given their most obvious competitor is already ambiguously named and extremely popular:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;serverless&#x2F;serverless" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;serverless&#x2F;serverless</a>
评论 #30831712 未加载
ChicagoDaveabout 3 years ago
Reading through the comments one thing is clear: almost no one here seems to understand _why_ you use serverless implementations.<p>If your architecture follows domain driven design principles, you can build very large, complex, scalable, and maintainable systems.
评论 #30828716 未加载
评论 #30830098 未加载
dmitriidabout 3 years ago
The tower of Babel that &quot;serverless&quot; requires to do the simplest tasks (like running tests) should scare anyone. And yet... &quot;We deploy to cloud and then shim calls via websocket to dev machine which then shims something else while requiring individual accounts with full prod access&quot; is magical
评论 #30827898 未加载
评论 #30827703 未加载
grantjpowellabout 3 years ago
Wow, the stack in the article feels like a ton of innovation tokens[1].<p>I hate to be an armchair expert, but I&#x27;ll do my best to give the _counter_ opinion to &quot;this is a model of a good startup stack&quot;.<p>If you&#x27;re looking to build a web app for a business on a small team, some guiding values I&#x27;ve found to be successful (that feel counter to the type of values that lead to the stack in the article)<p>1.) Write as much &quot;Plain Ol&#x27;&quot; $LANGUAGE as possible[2]. Where you do have to integrate with the web framework, Understand your seams well enough that it&#x27;s hard for your app _not_ to work when it receives a well formed ${HTTP&#x2F;GQL&#x2F;Carry Pigeon&#x2F;Whatever} request<p>2.) Learn the existing &quot;boring&quot; tools for $LANGUAGE, and idioms that made _small_ shops in similar tech stacks successful.<p>3.) Learn $LANGUAGE&#x27;s unit test&#x2F;integration test framework like the back of your hand. Learn how to write code that can be tested, focus on making the _easy_ way to write code in your codebase to be to write tests _then_ implement the functionality<p>4.) Have a strong aversion from adding new technologies to the stack. Read this [1], then read it again. Always be asking &quot;how can I solve this with my existing tools&quot;. Try to have so few dependencies that it would be hard to &quot;mess up&quot; the difference between local and prod (you can go a LONG way with just Node and PostgreSQL).<p>Some heuristics to tell if you&#x27;re doing a good job at the above points,<p>1.) You don&#x27;t have to prescribe Dev tool choices (shells, editors, graphical apps, git flows, etc)<p>2.) You can recreate much of your app on any random dev machine, and feel confident it acts similar to production.<p>3.) Changing lines of code in your code base at random will generate compiler errors&#x2F;unit test failures&#x2F;etc<p>Most every real world software project I&#x27;ve worked on in the SaaS world ended up with &quot;complexity&quot; as the limiting factor towards meeting the business&#x27;s goals. When cpu&#x2F;network&#x2F;disk etc was the culprit, usually the hard part of fixing it was trying to _understand_ what was going on.<p>Plain may be very successful in their flow, but I&#x27;d say most everything in this article runs counter from the ideas that I&#x27;ve seen be successful in the past.<p>[1] <a href="https:&#x2F;&#x2F;boringtechnology.club&#x2F;" rel="nofollow">https:&#x2F;&#x2F;boringtechnology.club&#x2F;</a><p>[2] At our shop we&#x27;d say &quot;You&#x27;re a ruby programming, not a rails programmer, your business logic is likely well factored&#x2F;designed if it could be straight-forwardly reworked into a rails free command line app&quot;
评论 #30828765 未加载
评论 #30828012 未加载
评论 #30832022 未加载
评论 #30828727 未加载
评论 #30828330 未加载
code_runnerabout 3 years ago
Vendor lock-in aside… azure has a very good experience for developing azure functions locally.<p>As hit and miss as my azure experience has been… azure function core tools, vscode, and azurite were excellent for purely local development.
lysecretabout 3 years ago
Would help to know what exactly their product is. When you are building a crud type simple website &#x2F; web-app this seems like a big overkill.<p>I am doing a lot of data-engineering and serverless is an absolute god-send. I have set up all our data-eng infra on lambdas and on aws-batch and I am super happy. The only issue is we have a lot of waste dressources on our always running Postgres instance.<p>I would love to hear more about your experience with Aurora Serverless PostgreSQL. The main turn-off for me is that it only works with postgres version 9.something.
dsanchez97about 3 years ago
Interesting read, but I think it exemplifies some of the problems people currently have with Serverless development. For the main population of people here on HN that have experience with deploying applications, this will seem like a lot of learning and effort to recreate an already positive experience they with whatever framework&#x2F;setup they currently use to build applications. For new developers, it is now a mountain of tools and services they must learn, which takes away one of the selling points of Serverless as an easy paradigm to learn and start building apps on (hence the selling point of not needing to worry about how to setup servers).<p>With all that said, I am working on building a framework that I would describe to the crowd here as Django for Serverless. It is in early stages but you can check it out at <a href="https:&#x2F;&#x2F;staging.cdevframework.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;staging.cdevframework.io&#x2F;</a>. One of the main focuses is to make it easier to write code that is not dependent on running on a Functions as a Service (FaaS) model, so that your code can eventually be bundled up and deployed on a traditional server when a FaaS platform becomes uneconomical.
dpacmittalabout 3 years ago
Wow, the vendor lock-in with such a setup is incredible. Should AWS decide to ban you for whatever reason, your entire business is shut. It&#x27;s crazy how people don&#x27;t see that as a huge risk&#x2F;threat.
评论 #30828122 未加载
评论 #30827924 未加载
评论 #30829434 未加载
评论 #30827849 未加载
评论 #30832333 未加载
评论 #30828190 未加载
tyingqabout 3 years ago
Makes me wonder why AWS hasn&#x27;t released a &quot;next gen serverless&quot;, where things like endpoint urls (with CORS config), cron-like scheduling, and so on are built-in without having to cobble them together.<p>They did accidentally release documentation about &quot;Lambda Function URLs&quot; at the end of last year, and then pulled it back. So perhaps some of that is coming.
评论 #30830244 未加载
chikipowpowabout 3 years ago
The issue I have with this article is that it sounds too good to be true. All pros, and seamingly no cons. Either the authors are embellishing it a little bit, or don’t want to think&#x2F;write about cons a lot. Or both. I wish they balanced things a little bit more.
imronabout 3 years ago
&gt; Using so many services involves a lot of configuration, permissions, and infrastructure that needs to be developed, tested, and deployed.<p>Magical
alephnanabout 3 years ago
This seems to be a lot of post-hoc rambling to justify why a suite of serverless tools were elected, rather than posing a problem seeking a solution. The conclusion does not follow from the premise.<p>For example, before a satisfying answer on why a serverless implementation is better, the article delves straight into tests, and how things are complexified because the serverless architecture means more hinges, glue code, moving parts which now need to be tested. Since this particular serverless interpretation involves relying on Cloud as a Service, a hermetic local development doesn’t exist, and so they build a solution around interactive serverless development.<p>This article is a solution seeking a problem. Many of the solutions here seems like caveats of pursuing this serverless stack, rather than a feature. This is enlightening and useful to know what’s needed to get a fully integrated serverless DevEx, but it doesn’t motivate why people should elect serverless versus a monolith.<p>&gt; We need to make sure that the few engineers that we do hire can make the most impact by delivering product features quickly while maintaining a high quality.<p>&gt; This meant being able to run our services at a scale at a low cost without needing to have a whole department just looking after a homegrown infrastructure.<p>&gt; as well as how we’ll be able to build a successful business in the next 5 to 10 years without needing to do foundational replatforms<p>All these points can be true with a monolith. If anything, these points make a monolith seem viable.<p>There’s been article posting around of using Postgres as a hammer for everything. If anything, vendor lock-in to server less platforms will likely involve replatforms in 5-10 years.<p>&gt; serverless applications. One of the main differences is that you end up using a lot of cloud services and aim to offload as much responsibility to serverless solutions as possible<p>This contradicts the desire to avoid replatforming.<p>&gt; Having personal AWS accounts allows each developer to experiment and develop without impacting any other engineer or a shared environment like development or staging. Combined with our strong infrastructure as code use, this allows everyone to have their clone of the production environment.<p>Again, I’m not sure how this is a feature. This adds another incidental complexity to debug. Engineers may have different permissions and roles. Alternatively, if the engineers are going to have the exact same “environment” as the deployed environment, then the individual accounts don’t provide much value.<p>&gt; full-stack TypeScript ... The ability to move between the frontend, backend, and infrastructure code without having to<p>This is an orthogonal concern to serverless.<p>&gt; developer features... this In isolation without impacting other engineers due to everyone having their own AWS account.<p>This is orthogonal to serverless. In fact it barely seems like a concern of infra. If local environments exist, developers can just have their own local development branch in Git. They can also test and deploy in separate remote branches. Here, the problem was created because local development is against live services.<p>Typically these developer blog posts are intended to evangelize the company. Personally I find many red flags in the company culture. Seems like a fun and cool place if you want to try out the latest and greatest tech trends, and have a chance to scratch your own engineering itches. But if you care about job security, you’d want to understand what is the business impact of all this research and development?
paxysabout 3 years ago
I don&#x27;t know their product well enough, but do they not have a website? Or the need for a single persistent server? How does one run an entire non-trivial application just on Lambdas?
评论 #30828738 未加载
评论 #30828367 未加载
oxffabout 3 years ago
For personal projects I have used Serverless Framework, and I have no qualms about the experience as a developer.. though they&#x27;re not huge projects so things may vary with those.
chrisweeklyabout 3 years ago
&quot;Magical&quot; represents the extremes at both ends of the spectrum:<p>&gt; &quot;Good magic decomposes into sane primitives.&quot;<p>and<p>&gt; &quot;If it _isn&#x27;t_ composed of sane primitives, steer clear.&quot;<p>This feels more like the latter.
frankcaronabout 3 years ago
Men will conceive complex manual and philosophical workflows and theoretical all-in-one SDKs just go to avoid going to Heroku.
tomatowurstabout 3 years ago
&gt; The ability to move between the frontend, backend, and infrastructure code without having to learn a different language is invaluable to every member of the team.<p>I&#x27;m actually quite skeptical of this claim. Learning a new language isn&#x27;t really a big deal unless you are using relatively &quot;esoteric&quot; stuff like clojure or datalog which really require an experienced consultant to train your team.<p>With AWS Chalice, we&#x27;ve been able to ship production scale code (for govcloud) in Python without any one of us breaking the environment by simply using separate staging. We were able to get PHP&#x2F;Javascript developers to use it with barely any downtime. In fact it was more or less appreciated from the clean and simple nature of Python right from the get go.<p>This feels like way too much engineering from the get go. Here&#x27;s my workflow with AWS Chalice and its super basic (I&#x27;m open to improvements here).<p>- checkout code from github<p>- run localhost and test endpoints written in python (exactly like Flask)<p>- push to development stage API gateway<p>- verify it is working as intended and this is when we catch missing IAM roles, we document them. if something is wrong with our AWS setup (we dont use CDK just simply use the AWS console to set everything up once like VPC and RDS)<p>- push to production stage API gateway<p>All this shimming, typescript (rule of thumb is &gt; 40% more code for &lt; 20% improvement through less documentation and type errors, only really valid in large teams) separate AWS developer accounts seems overkill.<p>The one benefit I see from all this extra compartmentalization is if you are working in large teams for a large company with many &quot;clients&quot; (internal and external). you are going to discover missing IAM roles and permissions anyways and is part of being an implicit &quot;human AWS compiler trying different stackoverflow answers&quot; since you are locking yourself into a single vendor.<p>Some positives I see are CDK but if you are deploying your infrastructure once, I really don&#x27;t see the need for it, unless you have many infrastructures that can benefit from boilerplate generation.<p>Happy to hear from all ends of the spectrum, serverless-stack could be something I explore this weekend but there&#x27;s just so much going on and I&#x27;m getting lot of marketing department vibes from reading the website (like idea to ipo and typescript to rule them all) and to top it off going to <a href="https:&#x2F;&#x2F;docs.serverless-stack.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;docs.serverless-stack.com&#x2F;</a> triggers an antivirus warning about some netlify url ( nostalgic-brahmagupta-0592d1.netlify.app) what is going on here???
评论 #30828109 未加载
评论 #30831825 未加载
eljimmyabout 3 years ago
serverless-offline (<a href="https:&#x2F;&#x2F;github.com&#x2F;dherault&#x2F;serverless-offline" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dherault&#x2F;serverless-offline</a>) is a great tool to use for local development of serverless applications.<p>It&#x27;s not a complete mirror image of what you get but it&#x27;s close enough in my experience.
gchamonliveabout 3 years ago
The main problem I see when writing integration tests to assess infrastructure correctness is that they don&#x27;t take into account architectural decisions.<p>You could very well use those integration tests to write Architecture Fitness Functions (which is implicitly what part of the test do) but having developers write those functions instead of architects risk the architecture decisions not carrying over to those tests.<p>For small use cases like this (s3, API gateway + lambdas, sqs, sns, elasticache) which although having many moving they come together more or less cohesively (they all depend on each other for a single feature), if your use case grows, by having ETL jobs, more async workloads, etc... You can start having issues with architecture tests not really covering all bases.<p>Regarding leaking so much cloud abstractions to the developer, I am not really sure what to make of this. I think the arguments of cognitive overload might well be valid, however a basic understanding of the target infrastructure is necessary for the developer to build applications effectively. In this case I think it works because they go all in on leaking abstractions, going as far as to provisioning a separate account for each developer. What won&#x27;t really work is to have abstractions built upon abstractions to make developers think they are using the cloud (by emulationg the stack locally) when they aren&#x27;t actually using it. So in this case being consistent is more important, either don&#x27;t leak any cloud abstraction or go all in.
alberthabout 3 years ago
Off topic: Why doesn&#x27;t AWS Lamda support PHP?<p>It&#x27;s the epitome of a &quot;serverless&quot; architecture.
评论 #30830759 未加载
BFLpL0QNekabout 3 years ago
For a professional product, my preference would be build as a standalone app, package as a Docker image, bake an AMI and deploy to a vps in an auto scaling group with elb in front, or if in a large org with platform team, kubernetes. If you need other AWS services like SQS fine, it’s only deployment&#x2F;packaging we’re talking about<p>Development&#x2F;deployments is so much simpler and for a business with money, the price difference is negligible. You can dev&#x2F;test locally, not to tied to a provider, essentially just another boring web app.<p>However for personal projects I’ve been playing with Sererless out of interest to see if it’s ready yet, and instead of paying $10-20 a month for a VPS I pay fractions of a cent.<p>I develop my Lambda as a monolith application, not a lambda per endpoint. I’m told this is an anti pattern…my take is I’m just using lambda as another compute deployment target it’s fine. I use hexagonal architecture so my app knows nothing about Lambda which makes unit testing easy.<p>Next I wire up a very thin adapter layer that takes the Lambda request json and converts it to the required value my app needs for routing. This is at the very edge of the app. I like to use this design regardless of lambda, I can swap out any web framework easily, even build a cli frontend for testing with minimal effort. In the context of lambda, using hexagonal architecture means I can bin Lambda, replace it with a standard web framework and deploy as a standalone app with minimal effort if I need to.<p>With the lambda in place I have a Cloudflare worker as the entry point to the lambda. It takes a request and forwards it to my lambda. I use a Cloudflare worker as it’s cheap&#x2F;free (generous free tier) and I get a cache at the edge. I’ll use Cloudflare pages or s3 with Cloudflare in front for static assets.<p>I use Lambda for the app instead of Cloudflare workers simply because I want to interact with DynamoDB&#x2F;S3 and I can manage permissions better inside AWS with IAM. I also want to use Rust which has very fast Lambda execution times and I had a few issues with Cloudflare workers wasm which I lost interest in figuring out as only experimenting. As I’m fronting with Cloudflare I’m also extremely dogmatic on cache headers from the lambda and propagating them to reduce calls to the origin&#x2F;lambda.<p>The end result is reasonable performant. It’s fast but not the fastest as expected with the hops&#x2F;latency, it’s extremely cheap. A small pet project may be single digit cents if even that. It’ll also handle large volumes of traffic, easily, without worrying about provisioning issues.<p>However, I have to jump through to many hoops to get what I have, more than what I’d like to do on a professional project. The orchestration is complex and it feels like what I save in $$$ I pay for in slower dev time jumping through hoops to get the absolute lowest cost. I enjoy this stuff and it’s a personal project done for education, still, I’d be hesitant to go this way for a real payed job as interesting as I find it.<p>Also pay as you go is great when it’s costing fractions of a cent, it’s also terrible in it opens you up to a new attack vector, DoS’ing your service which has unbounded pay as you go services then waking up to very large bills. Always build in rate limiting for services you use with on demand pricing.
JoBradabout 3 years ago
Guess the site has been hugged to death.
throuwout1234about 3 years ago
&gt;You might be thinking: isn’t that expensive? Won’t we be paying hundreds of dollars to AWS? Nope—not with serverless solutions! The genuinely serverless solutions are all pay per usage, so if your AWS account has zero activity, for example through the night and weekend when engineers aren’t working, then you won’t pay a dime. There are a few exceptions to this, such as S3 storage, DynamoDB storage, RDS storage, Route53 hosted zone, etc. costs, but they tend to be minimal.<p>&gt;For example, Plain’s January bill for our 7 developer accounts was a total of $150—pennies compared to the developer velocity we gain by everyone having their clone of production. Typically, the largest cost for each developer is our relational database: Amazon Aurora Serverless v1 PostgreSQL. It automatically scales up when it receives requests during development and down to zero after 30 minutes of inactivity.<p>I don&#x27;t understand this at all. If &quot;7 full production instance cost $150&quot; then your application is <i>tiny</i> and you don&#x27;t need 15 AWS services. The storage costs alone should far exceed that for large application. If a $150 production instance is &quot;scale&quot; then we&#x27;re lost as an industry. If you application is this tiny, Just. Use. A. Server.
评论 #30828141 未加载
评论 #30828760 未加载
评论 #30828139 未加载
评论 #30834677 未加载
评论 #30828086 未加载
评论 #30828185 未加载
jpgvmabout 3 years ago
I hate to say it but this is doomed to catastrophic failure once this pile of spaghetti reaches critical mass and velocity slows to molasses.
评论 #30828193 未加载
old-greggabout 3 years ago
Part of me thinks that we have reached the tipping point where all cloud dev tooling needs to be thrown away and we need to start over.<p>I had the same feeling when we reached the pinnacle of complexity of Windows programming with COM&#x2F;DCOM&#x2F;ActiveX&#x2F;.NET&#x2F;WinForms&#x2F;Silverlight&#x2F;Visual Studio... All of that felt like necessary progress. Yet, a simple script piping text output into a browser via CGI felt like a breath of fresh air. We need this for web development now.
评论 #30827959 未加载
评论 #30828337 未加载
评论 #30828188 未加载