Software Management Framework

The LazyStack SMF provides an end-to-end Software Management Framework integrating AWS Services, GitHub and the LazyStack developer tools. In the Install process, the following AWS Organization structure was created.

The LazyStackSMF provides a collaborative workflow based on "Feature Branch Development using GitHub Pull Requests".

A high-level "AWS" view of this organization looks like this:

In the diagram above, GitHub integration is shown and GitHub Pull Requests are used to coordinate the review and approval of features coded by a developer. In this diagram we see:

  • Developers publish from their workstation directly to their AWS "sandbox" Account
  • Pull Request creation or update publish PR Stacks in the Test Account. This is accomplished using AWS CodeBuild projects connected to GitHub WebHooks.
  • Pull Request Merges publish Prod Stack in the Production Account. This is also accomplished using AWS CodeBuild projects connected to GitHub WebHooks.

An abstract view of the steps in the collaborative development process looks like this:

PR Stack Review

A PR Stack is named after the PR branch that created it. This means there can be many PR Stacks deployed in the System Test account at the same time. To review a Pull Request Stack, you need to know how to connect to it. With that in mind, the CI/CD pipeline that creates the PR Stack also generates and adds a AwsSettings.json file to the PR branch in the repository. This file is usually found at Stacks/Test/AwsSettings.json. For more information on AwsSettings.json file, click here . The LazyStack Tutorial covers the use of AwsSettings.json files, see Configure PetStoreTests Project.