Just done an AWS course (thanks Boss) and came across Lambda for the first time. It is absolutely awesome. If only it executed Smalltalk ... :-)
"Serverless" didn't get a single mention in Amazon's quarterly earnings call. Neither did its poster child, AWS Lambda. Apparently it's not the sort of thing investors want to hear about, even if the developers that keep dumping cash into Amazon's pockets do. In the latest quarter, AWS represented 73 per cent of Amazon's …
Don't think so - AWS is holding market share as all cloud providers grow.
"Sorry, Microsoft: Your cloud sales popped 93% — but research says you're still not on Amazon's radar
Amazon's AWS held steady at 33 percent of the worldwide market share
Microsoft's Azure hasn't made a dent"
"The dev geeks might love it but that makes absolutely zero business sense..."
Right, but this is how AWS's strategy works. They work to put in place an enterprise licensing/pricing agreement based on the headline draws of EC2 and S3. They sell compute and storage to people used to buying compute and storage.
However that deal, and the infrastructure built around it, usually apply to and enable an organisation's devs to use all of AWS's services. Before you know it some enterprising dev is knocking out systems leveraging Lambda, Redshift, EMR, Aurora, Kinesis and half a dozen other products you'd never heard of until yesterday.
And yeah, they all work and work well. But it's a form of lock in tighter than anything else we've seen in decades. You've got to be super, super careful which components you choose to let yourself use.
This post has been deleted by its author
As a developer (and business owner) Im not a massive fan of lock in, If Im doing something that we wont host ourselves then it has to be possible for me to pick up that system and move it to another provider - I want to be able to take the system from Amazon and host it on AWS or bring it back on premises. You cant future proof things that you dont control.
That said, if the proprietary tech was going to give us a big advantage then we might take the risk.
I run several bootstrapped(self-funded) startups and I can tell Lambda definitely makes sense for me businesswise. Sure there is a massive vendor lock-in component which you can reduce using FOSS frameworks like Zappa(makes functions bootable to traditional python server web stack) or Serverless(makes moving functions between cloud vendors easier) between you and cloud vendor.
Why it surely makes sense businesswise?
1. Well, I can do/deliver things that would run me out of business on cash flow bases if ever implemented in the traditional environment. Meaning I can delivery major stock exchanges automated SEC rule audits, trade analytics etc with 3 dev skeleton crew. Even as little as 2-3 years ago I would have needed 20 -30 people team with several million of VC capital now I can start these type of ventures with my own.
2. It handles all the crust normally going to scalable SaaS products. Load balancing (checked), Failover (checked), updates (checked), auth (checked), data storage (checked)... well you get the pic. I can concentrate fully on business problem and code addressing it rather than spending my time just trying to get things to work as they are.
3. If you think Lambda was is cool, just take a look at AWS Appsync these guys aren't slowing down one bit. Just getting started with Appsync but I can already see who it takes, even more, IT work away allowing me better focus (I do still write a lot of code but its mostly no longer to automate infranstructure).
Yeah of course all enterprises are going to embrace a technology that puts them firmly in Amzon's pocket eternally.
The one I work for pretty much is. They have a two provider strategy (AWS, Azure) which varies by project or team. The cost of expanding our data centres proved too high. The cost of maintaining the existing ones has continued to be considerably more expensive than AWs or Azure.
The code (serverless functions) really isn't the problem, given the lifecycle of most IT systems is between 10 and 15 years at my current gaff. The real potential for lock in is the data. You'd not believe the battles I've had to ensure there is an on prem copy of anything we have in the cloud. If we have our data, we can rewrite the systems at the next upgrade and walk away from any provider.
So, while I'm busily preparing us for the future, when a cloudy provider tries the lock in shizzle, we're currently enjoying vastly lower TCO for our run book in the cloud, and much quicker time to market - thanks to politics and procedures and so very many teams involvement, it used to take 6 months to get new hardware fired up.... now it takes me about 6 minutes.
Surveys are rarely reliable, because it's quite hard and time consuming to conduct surveys with reasonable margins of errors.
We won't have a clear picture of cloud computing until all major actors disclose the financial informations, for Microsoft, Azure, and not Azure + Office 365, and for Google, Google Cloud and not Google Cloud + Gsuite + whatever.
But if we are to believe what corporations tell us now, Azure and Google cloud and tencent grow almost 2x as fast as AWS, so AWS is slowly loosing its dominance, contrary to what this article implies.
Also it seems to me it is way too soon declaring victory in a field so young.
I remember the CIO of one of Europe' biggest company during a conference telling that they are doing projects concurrently on all major cloud services.
IMO, the service with the biggest chance to win eventually will be the most open and the one that can train the most developers the fastest. Training is probably where AWS shines, benefiting a lot from its first to market advantage.
Then there is the investment capability aspect, where Google and Microsoft lead Amazon by far. That's not a major advantage now, but it could be tomorrow, if/when most countries expect datacenters locally, or if a major technological advance would require costly datacenter upgrades.
"AWS is slowly loosing its dominance, contrary to what this article implies"
Remember this article is specifically talking about "serverless", which is currently approaching the peak of its hype cycle. Very, very few people are doing "serverless" deployments seriously. They're a bit too flaky and unpredictable for most people just yet.
Last time I looked serverless at volume was 2x the cost of a reserved instance rented for a year. So only a cash staved startup should use it for cost reasons and the moment you have volumes you should rent reserved instances and slap your own solution on it such as kubernetes for anything long lived else batch and perhaps open whisk for bursty work to increase density. Then you get all the fast network fabric and buy the compute and memory at best price not 2x the spot list price.
Enterprises using lamba is “CV driven engineering”. Throw in the vendor lock-in and firms should be sacking their “tech experts” who are saying its an amazing idea...
If you use a reserved instance for a workload, what are the chance of it being necessary at all times?
The value of serverless is that you pay for what you use.
So if you have a brief spike and then usage drops to next to nothing, you pay for next to nothing.
If you have peak usage for a couple of hours a day, it will scale to meet any workload, where the reserved instance could be found wanting. Then at night, all the capacity drops to zero and you pay nothing.
Amazon (and the other cloud vendors) offer the capability so people can build their own auto scaling infrastructure, lambda is great for people who don’t want to have to manage that auto scaling infrastructure.
It's worse than that. You can't store state in lambda. So absolutely everything needs to persist to a remote database. So you have longer latency (because you need to create sessions and transit a network) so you need to buy more lambda runtime *and* more database transactions. And then, if you want to scale, you need a scalable database... which is much harder than a scalable processing box... so you end up stuck with something like DynamoDB rather than the DB you need for your data model... so you end up buying more database capacity because your data model isn't optimal.
People may not agree with the article's conclusions but it makes them think.
You are allowed up to 100ms per function call - in a small selection of scripted languages (or Java) with (currently) the first million calls per month free. I guess a pure executable linked module in their web server would be a security no-no. There's no perl either but it's probably too efficient for AWS to make much profit and besides it's yesterday's language.
I think cloud vendor lock-in is going to be similar to owning a mainframe. Consider on-prem serverless.
Amazon are masters of cutting their own throats for market share and the proof can be seen in closed shopping malls all over the US and town centres in the UK.
The numbers aren't due to satisfaction among developers, but rather vendor lock in (unable to get out of the contract) and longer required contracts.
There is no doubt Lambda has its good characteristics, but lets not go crazy with numbers yet.
Remember, you lose control of the environment when moving to Lambda and you don't have nice easy calls. Don't forget, you get charged for each of these calls (this is Amazon). So if you use this for a web app, and there are a lot of customers using it... be ready!
Don't forget all the features aren't well documented. This can be a nightmare for your security analysts. Especially when they want to go through errors. Wait, how does Amazon provide you with error information? HAHAHA. They don't want you to know the problem is on their end, not yours!
So before jumping into Lambda. You may want to do some in-depth research, and try it for at least 10-12 months before committing a large portion of one of your dev teams to it.
Biting the hand that feeds IT © 1998–2020