Configure LazyStack Software Management Framework (SMF)

The LazyStack SMF provides an end-to-end Software Management Framework integrating AWS Services, GitHub Services, and LazyStack developer tools. A configured SMF Organization looks like this:

This install guide takes the steps shown below to setup your SMF Organization. Steps 2 and 3 require you to use the GitHub and AWS Websites. In Step 4, our LazyStackSMF script automates the creation of all your initial AWS assets.

Note: After the SMF setup is complete, Configure Developer Workstation is performed by each developer following the steps described in Configure Developer Workstation .

SMF Setup Overview

The initial configuration creates a GitHub Organization (or uses your existing one), adds two new GitHub repositories and creates an AWS Organization with three AWS Accounts.

  • GitHub Organization
    • - GitHub Admin Account
    • - Copy of InSciCo/PetStore repository (used in SMF tutorial)
    • - Fork of LazyStackSMF (tools and such)
  • - AWS Management Account
  • - AWS Tutorial System Test Account with CI/CD of application test stacks
  • - AWS Tutorial System Production Account with CD of application prod stack

There is a lot involved in the configuration of an AWS Organization and LazyStack "Systems". See the Software Management Framework User Guide for detailed documentation. You can skip all that detail for now and just follow this install guide to get up and running quickly. Here is what the install process looks like:

  • 1) Create GitHub Organization with two new repositories:
    • PetStore repository from the InSciCo/PetStore repository template.
    • LazyStackSMF repository as a fork of InSciCo/LazyStackSMF repository.

  • 2) Configure your Management Workstation

  • 3) Create an AWS Management Account

  • 4) LazyStackSMF script:
    • 4.1 Creates AWS Organization and Organizational Units
      • - DevOU
      • - TestOU
      • - ProdOU

    • Creates the Tutorial System Accounts
      • 4.2 Creates the Tutorial System Test Account
      • 4.3 Creates the Tutorial System Production Account

    • Configures Stack Pipelines

      Each system has one or more Serverless Stacks. Each Serverless Stack is defined in a GitHub Repository and three CI/CD Pipelines that fire based on GitHub Pull Request activity.

      • 4.4 Configures System Test Account and Pipelines:
        • - Test_PR_Create pipeline - create and/or update an PR App Stack when a Pull Request is created or updated.
        • - Test_PR_Merge pipeline - remove PR App Stack when a Pull Request is merged.

      • 4.5 Configures System Production Account and Pipeline:
        • Prod_PR_Merge pipeline - create and/or update Application Production Stack when a Pull Request is merged.

It is very easy to add additional systems (each containing a test and production account with CI/CD pipelines). This is normally done once you have successfully installed the Tutorial System and performed the LazyStack SMF tutorial. See the section for instruction on creating new systems.

For a comprehensive overview of the deployment, visit the Deployment Summary.