UpThoughts for AWS Reinvent 2017 Part 1— Serverless (will) Rule

It is the same as last year, AWS Reinvent is cool, and it is bigger and fancier than last year. Here are some of my quick thoughts and we can check them out 2018.

Serverless is a transformational/paradigm shift technology and container may be a transitional technology — just like DVD and BlueRay to Streaming.

WHYs

Why do we use Cloud Computing? I would say the biggest reasons are convenience and on-demand, and we all want to focus on things that creates values and avoid anything doesn’t contribute to the goals.

IMHO, Serverless is a killer feature of what future cloud computing MUST provide.

Think in this way, resources (SG, Network, VPC, EC2s) provision, working unit (EC2s, dockers e'') and clustering (ASG, ECS, K8S etc) management are on going overhead of value creation; for most of the resources, it is charged by time instead of usage — that means time is not your friend.

Serverless takes away all these problems - and provide you an appliance, as long as our developers produce an execution unit — package it, and it runs; just like your washer and dryer — beside charge by usage.

On the other hand, containerization is making things less painful, especially for legacy apps, but it solves non of the two problems above.

Exponential Growth and the tipping point is near

Just like any paradigm shift technology, it starts with worse but promising future, and as consistent investment pours in, it gets better very fast and becomes unstoppable once it reaches to the tipping point.

AWS introduced Lambda 2 years ago, initially it allows you to host a service as as function level, it is getting better and better — and now almost you can do anything with Lambda and almost every AWS cross service iteration is achieved with Lambda.

We have had DynamoDB for a long time, a managed KV storage, and they have released auto scaling and makes it more “on-demand”

Today AWS announced Serverless Aurora, a serviceless solution for relational DB — pay what you use and without worrying about management.

Another announcement, AWS Fargate is another example, it is a “serverless” cluster management solution.

By today, we have a full on-demand stack, from runtime (lambda) to storage layer.

What are the TODOs

  1. Serverless is the future, make it the first class citizen in your architecture; especially if Microservices architecture in your thing, long tail services should be implemented with lambda in AWS. TIPS: there are more details though — a good service meshing solution is the key to success.
  2. Codes will become much more modular, smaller and easier to deploy, hence we can deploy often, as the result the number of deploy-able unit will increase — in this case, a great organization of the tool chain and automation is the key to scale.
  3. Jobs to manage cluster/machines will be obsoleted — deal with it.