LazyStack

LazyStack Stack Generator

You write the REST OpenAPI specification (formerly Swagger). This defines your client facing API including the operations and data schema your client may use on the API. This is where you spend most of your time using LazyStack because the OpenAPI specification is used to guide the generation and update of the code projects that make up your stack and update the SAM template file so that stack can be deployed to AWS.

Each time you finalize edits to your API specification or the optional SAM template, you run the LazyStack generator and the following LazyStack Generation Steps are performed:

LazyStack Generation Steps

  1. Update the SAM template

  2. Generate/Update Projects:

    1. Client Application SDK project

    2. Application API Project

    3. For Each API tag (Lambda/Controller):

      • Lambda Project - project published by AWS::Serverless::Function resource definition - references Application API Project and Controller Project

      • Controller Project - Provides method stubs to be implemented by developer

    4. Application’s local WebApi Project

      1. References Application Api Project and Controller Project(s)

Now It's Your Turn to Write Some Code

We provide a Getting Started Tutorial based on a version of the ubiquitous PetStore API. This tutorial takes you through installing LazyStack and building your first stack.

LazyStack doesn’t require you to adopt any particular Source Control, Continuous Integration or Continuous Deployment service. You can run through our tutorial without using anything but your AWS account, AWS CLI (or Visual Studio integration) and LazyStack itself.

On the Software Development Life Cycle (SDLC)

As you start to move toward fielding a production stack you inevitably start to manage different versions of your stack; at a minimum this might include separate stacks for Development, Test and Production. To manage separate stacks and the promotion of changes among them, without going crazy, you need a process and a set of tools to implement that process.

In our experience, the requirements on the SDLC process used by a startup and that used by an enterprise are wildly different. We strive to make LazyStack easy to integrate into any of those processes.

Since startups may not require or afford the overhead of sophisticated SDLC tooling, we provide a LazyStack SDLC tutorial supporting a minimal process with common tools like Visual Studio, AWS Visual Studio Toolkit, AWS SAM CLI and GitHub.

Multiple contributors can work on LazyStack generated application stacks at the same time. The LazyStack SDLC tutorial demonstrates coordination among multiple contributors to your application stack project.