đ Liked: The Power of Serverless
@hjertnes eh, comme ci comme ça. I am underwhelmed for the most part. I think serverless makes sense when working at scale (either of service or workforce), or in a scenario where youâve got time to get the architecture right. It makes some things heaps easier, and others more confusing. That all being said, it is probably the way-of-the-future, so Iâm working on understanding it inside and out. What do you think?
@eli I'm not sure yet. To route urls to a lambda or what ever instead of running a full server kind of makes sense. But where does databases and redis fit in server less? And how far are development environments from production?
@hjertnes @eli We're in the process of evaluating Lambda/RDS/etc. for use here. I agree that for some cases (transcoding videos, images, etc) that Lambda seems like a terrific use case. I wouldn't want everything serverless though. Way too many moving parts for me (and no matte what Amazon claims, they are moving parts :) )
@jack @hjertnes I totally agree. I've used a bunch of the different offerings in AWS on various projects â the biggest hiccup I see to serverless is during development. It becomes wicked complicated to develop locally when working with a serverless system, so a staging/dev. environment needs to be set up, which is fine, but I think developing locally affords folks a certain amount of flexibility/room to experiment with architecture that is sometimes nice to have. I guess AWSâ answer to this is cloud9, butâŚđ¤ˇââď¸ âď¸
@eli thatâs true to some degree, but any networked API does that. Whether you use http, rpc, or whatever else, youâre already adding network.
@hjertnes not at all, what I was saying (but very badly...sorry!) is that you can't run the entire system locally.
@hjertnes you can get all the common stuff... Postgres, MySQL, nosql (amazonâs own), redis/mamcached. They also provide their own graph database.
@hjertnes you can also always install your own DB on an EC2 instance. That is how I run redis on AWS.
@hjertnes enter the fun second problem with serverless: cost, and figuring out how to calculate that
@eli Okay. This is one of the things that have been driving me nuts for close to 10 years. They say "Amazon is soooo cheap" even though the cheapest EC2 is 3x the price of the cheapest Linode.
@hjertnes itâs monkey Postgres but works quite well. Used it in the past and we migrated to it from fairly customized Postgres install and all went well.
@hjertnes I think when people refer to âamazonâ being cheap itâs in regards of S3 most of the time. EC2 is hella expensive, but you can do lots with CloudFront, lambda, S3 , API gateway, etc and fit in the free model and/or pay close to nothing. At least if those tools fit your bill.
@hjertnes github.com/awslabs/a... is a great help. With that+docker you can run some functions locally, depending on the resources you need.
@hjertnes I have not, and Iâm not sure if I would for production purposes. Iâm playing with the idea though, implementing Micropub endpoint serverless as an experiment. Iâm not sold on serverless, just toying with tools and ideas.
@oyam realistically, AWS can be much cheaper than other platforms, but you have to fully embrace their pricing model, and leverage RIs, spot instances, auto-scaling, etc. For VPS use cases, RIs are particular good.
@cleverdevil Even with RIs youâre looking at $25/mo for medium instance (counting the full 75% discount), plus transfer out. With DO, I can get that at $20 including 4tb transfer at on-demand pricing, no commitment. Similar on linode. Even GCP will be cheaper at that config. Unless youâre pushing out upward of 10tb data/month, I donât see how EC2 can beat any of the other offering out there.
@oyam if you compare exclusively on static workloads, I think you're right. But, Linode and DO don't have things like auto-scaling, spot instances, instance scheduling, etc.
@cleverdevil Thatâs true, however, I think spot instances are, to a degree, solved by the lower pricing. Neither have auto scaling, but thatâs not that complicated to solve as is instance scheduling. Their APIs are good enough to deal with if if youâre willing to put a little more work in. My initial comment was mostly about static loads - lot of people use EC2 to run databases or web servers, which can be done much cheaper elsewhere.