twelve-factor laravel

Empower your Laravel project as cloud native application

$: whoami

Dario TRANCHITELLA

(aka prometherion)

 

Former Software Engineer,

switched to the dark side of

DevOps

 

DevOps Engineer @ Kiratech

NOt many slides, just demos...

...hoping everything goes fine!

(meme courtesy of @liuggio)

I.
code

base

One codebase tracked in revision control, many deploys.

II.
DEPENDENCIES

Explicitly declare and isolate dependencies

(A twelve-factor app never relies on implicit existence of system-wide packages)

+

III.
CONFIG

The twelve-factor app stores config in environment variables.

Env vars are easy to change between deploys without changing any code.

IV.
BACKING SERVICES

Treat backing services as attached resources.

V.

Build,

release, run

A codebase is transformed into a (non-development) deploy through these three stages.

VI.

PROCESSES

Execute the app as one or more stateless processes.

+

VII.

Port binding

Export services via port binding.

VIII. Concurrency

Scale out via the process model.

IX. DISPOSABILITY

Maximize robustness with fast startup and graceful shutdown.

X.

DEV/PROD PARITY

Keep development, staging, and production as similar as possible.

XI.

LOGS

Treat logs as event streams.

+

XII.

Admin processes

Run admin/management tasks as one-off processes.

REFERENCES

  • https://12factor.net
  • https://www.docker.com

  • https://laravel.com

  • https://github.com/prometherion/laravelday-2017


  • https://twitter.com/tranchitellad
  • http://www.kiratech.it

Q&A TIME!

LaravelDay 2017

By Dario Tranchitella

LaravelDay 2017

  • 1,821