4 ms·
I do wonder if, in a few years time, if we're not going to be seeing a new genre of technical blog posts: "How we migrated off serverless to reduce our costs"
by jlangenauer 8y ago
I do wonder if, in a few years time, if we're not going to be seeing a new genre of technical blog posts: "How we migrated off serverless to reduce our costs"
- sacheendra 8y agoI think there is place for all kinds of software and infrastructure, based on your business model and scale. You can start with serverless, move to normal cloud instances and finally to bare metal or the other way around! For example, the core value provided by an ERP software is not performance but the business logic. Serverless is a good fit for startups creating such software. If you are running a conference call business or serving tons of video like Netflix, a different architecture better suits your need. Such as having edge servers with every ISP.
- Waterluvian 8y agoYes but probably not for the reasons you're thinking. If you try to get things perfect the first time you'll never ship on time. Doing the right things in the right order usually involves optimizing different constraints at the start and re-balancing your optimizations as you prove your product idea, learn what you don't yet know, and gain additional resources and time.
- tnolet 8y agoAbsolutely. Saving 30% on a cloud bill is not a super high priority for new companies. Staying frugal is important, but I find this mostly applies to unnecessary expenses, not necessary but slightly more costly expenses. Don’t get the 27” inch iMac, get a second hand office chair. This will free up enough cash so you can take the more expensive but quicker hosting / infra options like Heroku and Lambda.
- jlangenauer 8y agoOne of the things with Lambda etc is that while they are cost-effective (and flexible) when a business starts, they also can also lead to lock-in (not just with the serverless functions themselves, but queueing services etc). A few years down the track, a business may find themselves spending quite a lot of money with Amazon, and being unable to move away without a major re-engineering effort.
- giancarlostoro 8y agoThe useful thing is that in the case of at least Azure Functions, their back-end is open source. There's plenty of open source alternatives, so you can migrate to a bare metal hosted alternative if it brings down costs and maintains the same level of scalability. This also emphasizes the need for cloud agnostic frameworks.
- tnolet 8y agoWell, at least you have a business. I find vendor lock in to be about the lowest priority on my list. Also, the lock in is pretty exaggerated. Just make sure to keep business logic separate from the cloud plumbing, as per the OP example.
- jlangenauer 8y agoIt's not just about separating business logic from "cloud plumbing". It's building you infrastructure around services that cannot simply be replaced elsewhere, or cannot be replaced easily - if you want to move from AWS Kinesis to (say) Kafka for message broking, or from DynamoDB to Postgres. There is a reason Amazon gives away a lot of free credits to startups, and it's the same reason drug dealers give away free samples. If the economics are right, and growth is strong then you might be okay - but you also don't want to find yourself with a $100k/month AWS bill in a startup with only $2m of annual revenue. (P.S Greetings from the other side of the Spree. I love La Lucha on your street!)
- jsty 8y agoThen again if you're aiming at high growth, you'll be looking at some degree of re-architecting at least every few years anyway to cope with the 10x system problem. If using FaaS can be a quick bandaid solution to get you up and running without worrying about having to design your own equivalent of the fail whale, then a certain degree of lock-in might be worth paying.
- falcolas 8y agoA couple of years down the road, however, will give you both personnel and money to handle a re-architecture. FAAS (Or, MSA) adds a ton of complexity right off the bat. Why take on that risk when you have little money and less time?
- arnvald 8y agoIt's already started: https://medium.com/coryodaniel/from-erverless-to-elixir-48752db4d7bc https://medium.com/coryodaniel/from-erverless-to-elixir-4875...
- martimatix 8y agoThe article talks about moving away from a serverless architecture due to the cost of API gateway. I wonder if the fact that application load balancer can now invoke lambda functions could've made serverless viable. https://aws.amazon.com/about-aws/whats-new/2018/11/alb-can-now-invoke-lambda-functions-to-serve-https-requests/ https://aws.amazon.com/about-aws/whats-new/2018/11/alb-can-n... Mind you, the post was written in August 2018 and the above announcement was made in December 2018.
- cpursley 8y agoYep, Elixir is great. And it's fairly trivial to set up autoscaling distributed Elixir on Google's Kubernetes offering.