Serverless land

What Is Design Thinking? In a nutshell, design thinking is a way to define and solve tough challenges. It focuses heavily on rapid prototype solutions and learning from mistakes.” – Megan Collins “Design Thinking Is a Challenge to Teach — and That’s a Good Thing

World Design Day today. And the watchword of the post-COVID19 world will be “Resilience”. Resilience is actually a relatively prominent design point for modern day computer systems. And these systems could provide lessons to broader domains of design for the inevitable demands for such resilience in the future.

I happened upon John Chapin’s presentation on serverless systems which focused on this resiliency – “Designing and Building a Resilient Serverless System: John Chapin at QCon London”:

  • Failures are a given and everything will eventually fail over time…For Chapin this means that the systems we are building today are so big and so complex that failure is a statistical inevitability. Some part of the system will be in failure mode almost all the time and we must handle that. In his blog post, Vogel also talks about embracing failure and although he is doing that from the perspective of a vendor running cloud services, Chapin thinks we as serverless application developers should consider the same concepts, which include:
    • Systems will fail. At scale, they will fail a lo
    • Embrace failure as a natural occurrenc
    • Limit the blast radius of failures by using isolation mechanism
    • Keep operating
    • Recover quickly, and automatically