Skip to content

ga-wdi-lessons/12-factor-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

The Twelve-Factor App

Objectives

  • Understand the conventions of the 12-Factor App.
  • Be able to build applications which follow the 12-Factor App conventions.

Introduction (10 min / 0:10)

Why it's important to follow conventions?

Conventions make it easy to work together. Having standards in our applications make collaboration, debugging, deployment, and production more easier and more efficient.

Important Conventions

In the previous lessons, we have learned a few important programming conventions, such as:

  • Agile and scrum
  • Separation of Concerns
  • DRY code
  • Clean Code
  • Convention over Configuration
  • Commit early, commit often
  • Deploy early, deploy often

Today we are going to learn a more sophisticated, and a more important set of conventions.

The Twelve-Factor App

The 12-Factor App is a collection of 12 conventions which most modern application follow. It doesn't matter which languages, frameworks, or libraries you are using, you can always build a 12-Factor App.

You Do: The Twelve-Factor App Conventions (15 min / 0:25)

Each student will be assigned a convention to read about, and present later to class. You can read about these conventions here: https://12factor.net/.

I. Codebase

II. Dependencies

III. Config

IV. Backing services

V. Build, release, run

VI. Processes

VII. Port binding

VIII. Concurrency

IX. Disposability

X. Dev/prod parity

XI. Logs

XII. Admin processes

Presentations (30 min / 0:55)

Each student will have 2-3 mins to present one of the conventions to the class.

Closing