Serverless by Design

Danilo Poccia
Serverless Zone
Published in
2 min readSep 6, 2017

--

Serverless by Design — Think. Build. Repeat.

Welcome to Serverless by Design, a visual approach to serverless development:

  • An application is a network of nodes (serverless resources, such as Lambda functions or S3 buckets) connected by edges (their relationships, for example a trigger or a data flow).
  • Edit an application adding nodes and edges following an event-driven design.
  • Import a previously exported application to continue working on it.
  • Choose a runtime, and build your application (for example, using AWS SAM).
  • Edit templates and code files for the final configuratons before deploying the application.
  • Export an application to save it for later use in a JSON file.
  • Take a picture of the application architecture to have a visual representation to share.
  • Fine tune the physics used to place nodes and edges on the screen, for example enable/disable it or choose another solver.

Here are a few examples to help you start:

Serverless by Design is designed to run without an internet connection, so you can use the online version, or clone the repository locally. In this way, it is great companion for AWS SAM Local.

I am currently looking for volunteers to build the “engines” for Terraform and Serverless Framework formats.

After you build you application using AWS SAM, you can deploy with the AWS CLI using the new package/deploy options (you normaly need to add CAPABILITY_IAM as at least a IAM role needs to be created):

aws cloudformation package --template-file template.yaml --output-template-file template-output.yaml --s3-bucket <BUCKET> --s3-prefix <PREFIX>aws cloudformation deploy --template-file template-output.yaml -stack-name <STACK> --capabilities CAPABILITY_IAM

Looking forward to hear your feedback!

--

--

Danilo Poccia
Serverless Zone

Passioned about IT, IoT, AI, ML, and other acronyms. Writing the Chronicles of Computation book. Chief Evangelist (EMEA) @ AWS. Opinions are my own.