I didn’t go to re:invent last week, but was very intrigued by a lot of the conversations and technologies springing out of the conference.
The big thing that happened though was that AWS went all in on Lambda. Gone are the days when Lambda and Serverless in general were simply for the thrill seeking techies who want to play with something new (and catch all the bugs for them).
Lambda and Serverless is now mainstream.
And it’s a godsend for the MVP.
Taking a look at the MVP idea
Over the years there have been many different ways of doing technology based startups. Essentially, the key things that happen are:
- You come up with an idea
- You develop a prototype of that idea
- You test the idea in the marketplace
- Rinse and repeat
Essentially all businesses run in this way, with varying degrees of success, and with different models.
The MVP springs out of a “Lean” mindset of course, which means that you essentially try to be as efficient (not quick!) as possible.
Your development loop is based not around building a full product, but around feedback from users on what you have (it needs to be a standalone product, but may not be the full idea).
Build — Measure — Learn
So, when building an MVP you look at business logic as the primary driver to development.
Basically, what do we want to measure? Right, let’s build the smallest thing that will measure it.
So the most efficient MVP is the one that requires the least coding and gets the most value out of it.
Back to re:invent/Lambda/Serverless
The thing is, that one of the aspects of the Serverless (thin client version not thick client version) approach is that it focusses on business logic, and little else.
Because the services around you (the HTTP gateway, the servers themselves, the data storage, state) is managed for you, you can essentially ignore the 80% of code that you don’t need from previous MVPs and focus on the 20% of logic that you can actually test.
And if you build it well enough, it’s also good enough to go live with as a service (note: not every service will be able to use Lambdas as their production environment, but most that I’ve seen will!)
In Las Vegas last week, AWS launched a bunch of new services around Lambda including Step Functions, Lambda@Edge and X-Ray. Step Functions allows you to create multi-function flows through a system. While it’s imperfect (read Ben Kehoe’s post here for more info) it will get better over time and as long as it becomes asynchronous and connected to X-Ray it will be really useful.
X-Ray specifically solves (or will solve in the future) some really interesting problems around debugging and testing of apps built with Lambda and AWS services, which are major issues that AWS is trying to resolve.
Lambda@Edge will be fascinating if they get it right. Processing at the edge is going to increasingly become important as the world changes and markets open up.
And therein lies the point and why AWS is ahead of the Serverless game.
They are already building all the tools and iterating the service.
AWS are making the tools needed to rapidly prototype and debug highly scalable solutions.
And if you hadn’t noticed, it is this that enables startups to develop ideas quickly.
And if you (pretty much) only need to build the business logic code now rather than using a framework and a server, then your ability to create an MVP at speed is now so much greater, that we will see some changes in the innovation space.
Innovation will become more rapid
New entrants will be more prevalent
Incumbents will have to iterate a lot faster if they don’t want to lose their competitive advantage.
A quick thought
I sat down in a meeting last week, while we discussed some issues to do with Community Energy (I am an unpaid director of Wolverton Community Energy — the website is not serverless… yet).
I sat there and while we were talking about something completely unrelated, a business idea I’d been thinking about for a while (think years) came back to me, and all of a sudden I could see both how to implement it technically and could pretty much guess how much it would cost to develop.
It was a perfect use case for Serverless.
And I just sat there with a smile on my face.
Because I could probably build most of the bits I’d need to test in about a week or two (conservative estimate).
That whole thought process took about 10 seconds.
The only thing I need now is a team to start selling the idea, and I could test the market without ever having to touch the technology.
Because, the tech just became easy.
Lambda makes it easy.
So easy that I don’t need to worry about it very much any more.
I mean, maintaining things is never straight forward, but the ability to develop, test, iterate and grow a scalable solution has never been this simple.
If you’re not doing serverless, you’re going to be overtaken by those of us that do.
Serverless is like being given the keys to a one year old Ferrari instead of a new Fiat.
They both still get to where you want to go, but one gets there a LOT faster.