Getting started with serverless in 5 minutes

Lev Perlman
Mar 29 · 5 min read

TL;DR — Serverless can be simple, as long as you have the right tools in your hands. Most tools today are not the right tools, making serverless architecture too complicated and convoluted. We believe there is a better way.
A practical section is at the bottom of this article.

The past and the future

Let’s start with a simple fact;

Serverless is the future of the tech world

You may assume that the inevitable future has landed on you unexpectedly, and start exploring the different tools that promise you the ultimate serverless vision — Low costs, no DevOps, usage-based pricing.

To your surprise, none of the serverless technologies on the market make your life simple. Quite the opposite;

  • You find yourself struggling to deploy a simple function, dealing with IaaS many limitations (in data size, run time, etc) and reading through hundreds of pages of docs and questions
  • “No DevOps” in reality meant even more DevOps than before; Managing a repository with various serverless functions and deploying each at the right time to the right place becomes a complex task for DevOps magicians
  • Changing your mindset towards a serverless-based thinking feels extremely uncomfortable and makes you question your choices, your career, and your life in general.
  • Even after building several serverless functions, you discover that making them communicate with each other is a separate soap opera. How on earth are you going to orchestrate that?
  • Debugging. Oh my god. Some say that debugging serverless projects is more painful than it was used as a torture measure by the Mossad. We cannot confirm or deny such claims.

Why is serverless bad today?

To answer that question, let’s look at a picture of how your serverless stack may look like today:

An illustration of a famous Serverless provider

Looking at that picture, what do you see?

All of these are functions. Can you say which one calls which? Which does what? And why? Who created it, and when?

NO.

How about this one:

Functions as a visual flow

This looks like something anyone can understand; coders and non-coders alike.
You understand where everything starts, what every single function does, and where it all ends. (from left to right).

This is actually how we think.
“A will call B, and if that succeeds — we will do C”.

So who says coding cannot be done the same way? Who says serverless cannot be done similarly, just the way we picture it?

The product process

All software products go through the same process:

  1. Planning (using a whiteboard or paper)
  2. Architecting (same as #1, or using Google Draw and such)
  3. Implementing (A code editor, various helper scripts and infrastructures, logs sink)
  4. Debugging (Same as #3 + different solutions for errors, monitoring, etc)
  5. Deploying (Deployment scripts, code editors, SaaS solutions, monitoring techniques, logs sink, etc)

This is true for new features, bugfixes, refactorings, upgrades and everything else. The same cycle, involving at least 8 different tools, each fulfilling a different purpose, and each billing you at the end of the month.

It doesn’t have to be this way.

In practice — serverless made simple

No more beating around the bush. We want to be able to plan, code, execute and debug all in one place. We want it to be simple, visual, intuitive and cheap.

Getting started
Let’s start by signing up at https://statewize.com for a free account.

Planning
We can think of every single thing we develop as a “flow”. Let’s create a new flow, and add some “states” to it. Each “state” is a logical piece which performs an action (if you are from a technical background — this is one “serverless” function).

Creating new states and connecting them to each other

You can connect states to one another in order to create a flow — where one action would call the next one as soon as it’s done.

Any connection originating at the green 🟩 box will be executed only if the current state succeeded. The red 🟥 box is the opposite — for failures.

Implementing

Since each of the states “does a thing” — we can tell it what it should do. This can be a pre-made action (such as “Make an API call somewhere”), or a custom serverless function we can code right there in the browser:

Fully-featured code editor in the browser

Executing & Debugging

Once your flow is complete, you can execute it and see it running in real time:

Looking at this, you can understand exactly what happened when, in which order and why.
You also don’t need to worry about logs — every output of every single state is available to you immediately, so you no longer have situations where you are “blind” due to a lack of logs or context data.

Hours which you usually spent on debugging can now be spent sunbathing or watching telly, since this kind of visual debugging allows you instantly spot any issues or bugs without the headache.

Integrating

Using the dead-simple STATEWIZE SDK allows you to integrate this serverless flow into your existing project in just a few lines of code:

It’s done, your serverless flows are up and running in a matter of minutes, and your existing projects can easily invoke them as and when required.

Technology does not need to be exclusive, difficult or cumbersome. Things which can be simple — should be simple. For your life, for your business, for everything. This is the mission which drives us, this is why we do what we do.

Technology done right — means resilience, reliability, stability and calm. Let’s aim for that. 🌅

STATEWIZE as an ecosystem for everything combined

Frontend Weekly

It's really hard to keep up with all the front-end…

Frontend Weekly

It's really hard to keep up with all the front-end development news out there. Let us help you. We hand-pick interesting articles related to front-end development. You can also subscribe to our weekly newsletter at http://frontendweekly.co

Lev Perlman

Written by

Senior Fullstack Software Engineer | Co-founder @ STATEWIZE | TechNation Exceptional Talent | 8200 Alumnus | https://statewize.com

Frontend Weekly

It's really hard to keep up with all the front-end development news out there. Let us help you. We hand-pick interesting articles related to front-end development. You can also subscribe to our weekly newsletter at http://frontendweekly.co

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store