AWS Velocity Series: Set the assembly line up

Most of our clients use AWS to reduce time-to-market following an agile approach. But AWS is only one part of the solution. In this article series, I show you how we help our clients to improve velocity: the time from idea to production.

Set the assembly line up

What is the first thing you do when starting a new project? For me, I design and set my assembly line up first.

AWS Velocity: Software assembly line

The assembly line describes the work that is necessary from idea to production.

  1. In a software project, you decide how to spend your resources. You can not work on everything at the same time.
  2. You write code and tests, adjust configuration, add images, …
  3. Every change is versioned in a repository.
  4. The source code is built and packaged. Tests are executed, and static source code checkers analyze the source code.
  5. The packaged software is deployed to AWS into a production-like environment.
  6. Acceptance tests run against the production-like environment to ensure that your system still behaves as expected.
  7. Now, you are ready to deploy to production.
  8. All steps need to be monitored to know if something goes wrong and to decide based on data.

As you can see, many steps are involved from idea to production. Many steps also mean that many things can go wrong. The goal of the assembly line is to ensure that work is only handed over from one step to the other if it has no defects. Therefore you aim for automation whenever possible. You also need to improve the assembly line whenever a defect gets through to make sure that this never happens again.
That’s your way to AWS Velocity.

Software assembly line

A typical assembly line in my projects looks like this:

In the future articles of this series, you will learn how to glue all those AWS services together to implement your assembly line.

Velocity loves managed services

Most of the assembly line can be implemented with managed AWS services. Managed services help you to focus on the actual work while AWS cares about things like running your build server. Using managed services will speed you up as they offer standardized and highly integrated building blocks for your system. In the following articles, you will learn how you can implement AWS Velocity with EC2 based apps, Containerized apps, and Serverless apps.

Series

This AWS Velocity article series is split into readable chunks. Subscribe to our RSS feed or newsletter to get notified when new articles become available. The chunks are:

  1. Set the assembly line up (you are here)
  2. Local development environment
  3. CI/CD Pipeline as Code
  4. Running your application
  5. EC2 based app (coming soon)
    a. Deploy EC2 based app without downtime (coming soon)
    b. Acceptance Test your EC2 based app (coming soon)
    c. Automate AMI creation and deployment (coming soon)
    d. Monitor your EC2 based app (coming soon)
    e. Cleanup & Summary (coming soon)
  6. Containerized app (coming soon)
    a. Deploy ECS cluster without downtime (coming soon)
    b. Deploy your Docker Container without downtime (coming soon)
    c. Acceptance Test your ECS based app (coming soon)
    d. Automate AMI creation and deployment (coming soon)
    e. Monitor your ECS based app (coming soon)
    e. Cleanup & Summary (coming soon)
  7. Serverless app (coming soon)
    a. Deploy Serverless app without downtime (coming soon)
    b. Acceptance Test your Serverless app (coming soon)
    c. Monitor your Serverless app (coming soon)
    e. Cleanup & Summary (coming soon)
  8. Cleanup & Summary (coming soon)

Read on


Share

           

RSS

  RSS

Newsletter


Michael Wittig

Michael Wittig

I’m the author of Amazon Web Services in Action. I work as a software engineer, and independent consultant focused on AWS and DevOps. Hire me!

Is anything missing in my article? I'm looking forward to your feedback! @hellomichibye or michael@widdix.de.


Published on
Tagged with AWS, DevOps, Velocity,