solid python application deployments for everybody · 600+ pre-built configurations on puppet forge...

113
River Bar, 2013 Solid Python Application Deployments For Everybody Hynek Schlawack

Upload: others

Post on 03-Feb-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

River Bar, 2013

Solid Python Application

Deployments For Everybody

Hynek Schlawack

Page 2: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 3: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

@hynekhttp://hynek.me

http://github.com/hynekhttp://www.variomedia.de

H!

Page 4: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

?

Page 5: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

AHEAD

Page 7: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

OPINIONS

AHEAD

Page 8: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

PaaS

Schema Migrations

Page 9: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 10: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Ky Cnet

Page 11: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

easy

≠simple

Page 12: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 13: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

“Simplicity is prerequisite for reliability.”

— Edsger W. Dijkstra

Page 14: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

“It is important to find simple solutions instead of stopping as soon as a first solution is found.”

— Donald Knuth

Page 15: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Put effort into making your deployments simple.

Page 16: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 17: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Dvlpet

Page 18: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Dvlpet

Page 19: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 20: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

No!

Page 21: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 22: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

“Python 2.4 is not supported. It came out

8 years ago. That's older than Youtube. Upgrade.”

— Kenneth Reitz

Page 23: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Sal Pafr

Key Infrastructure!

Page 24: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Sal PafrApplication is tied to server OS version.

Upgrading servers == updating your app.

Some servers upgraded?

Page 25: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Bt Hynek…

My boss won’t let me!

Page 26: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

tests!Dvlpet

Page 27: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 28: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

לא!

Page 29: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

spottyoutdated

loss of control

Sse Pcae

Page 30: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

spottyoutdated

loss of control

Sse Pcae

Page 31: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

spottyoutdated

loss of control

Sse Pcae

Page 32: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 33: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Ue vruln$ virtualenv venv; . venv/bin/activate

$ pip install pyramid requests pytest

$ py.test

$ pip freeze >requirements.txt

$ pip install -r requirements.txt

Page 34: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Pn Dp Hr“Django == 1.4.3”

Don’t rely on SemVer!update w/ pip-tools

Page 35: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

SECURITY!

Bt Hynek…

Page 36: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Scrt!?

It’s your Job.

Page 37: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Si I

Page 38: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

+ git

Page 39: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

+ gitNe!

Page 40: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Fabric

Page 41: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

build toolsrepetitive

downloads

Wa’s Wog!?

Page 42: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 43: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

.rpm

.deb

SSL

.pkg.tgz

Page 44: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

introspectionCM integration

versatile

Ntv Pcae !?

Page 45: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

1. check out from VCS2. create virtualenv3. install dependencies4. do whatever you want5. package result6. push to your repo

Page 46: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

1. check out from VCS2. create virtualenv3. install dependencies4. do whatever you want5. package result6. push to your repo

Page 47: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Abuse the Pipelinerun tests

LESS/SASS/CoffeeScriptcompression

cache busting

Page 48: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Packaging is hard!

Bt Hynek…

Page 49: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

fpm

Np.

Page 50: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

fpm \ -s dir \ -t deb \ <appdir>

Page 51: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

repo server

Bt Hynek…

Page 52: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Rp Sredpkg -itar.bz2

Page 53: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Atmt!

e

Page 54: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

app_name: whoisproject: DOMbuild_deps: - libpq-devrun_deps: - libpq5 - authbind

Page 55: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Tee’s mr ta oe wy t d i…

Page 56: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 57: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

ل!

Page 58: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Cn4grtoMngmn

declarativedescribe the goal

CM choses the path

Page 59: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

SltosWhich Is Right For Your Organization? Puppet Enterprise packages the power of Puppet open source with enterprise-oriented features to make IT automation even easier and more powerful. Use the below chart to compare the two releases, and see which one is right for your organization.

Features Puppet Open

Source Puppet

Enterprise

Graphical User Interface ✔

Provisioning – Amazon EC2 ✔ ✔

Provisioning – VMware VMs ✔

Configuration management – Discovery & cloning ✔

Configuration management – User accounts ✔

Configuration management – OS & applications ✔ ✔

600+ pre-built configurations on Puppet Forge ✔ ✔

Orchestration – Task Automation ✔

Compliance – Automated configuration auditing ✔

RBAC – Now with external authentication support ✔

Unified cross-platform installer of all components ✔

Support – Option for 24 x 7 x 365 ✔

Support – Defined SLA ✔

Certified by Puppet Labs engineers ✔

Pre-packaged dependencies in one directory ✔

Smooth upgrade and maintenance path ✔

Page 60: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Which Is Right For Your Organization? Puppet Enterprise packages the power of Puppet open source with enterprise-oriented features to make IT automation even easier and more powerful. Use the below chart to compare the two releases, and see which one is right for your organization.

Features Puppet Open

Source Puppet

Enterprise

Graphical User Interface ✔

Provisioning – Amazon EC2 ✔ ✔

Provisioning – VMware VMs ✔

Configuration management – Discovery & cloning ✔

Configuration management – User accounts ✔

Configuration management – OS & applications ✔ ✔

600+ pre-built configurations on Puppet Forge ✔ ✔

Orchestration – Task Automation ✔

Compliance – Automated configuration auditing ✔

RBAC – Now with external authentication support ✔

Unified cross-platform installer of all components ✔

Support – Option for 24 x 7 x 365 ✔

Support – Defined SLA ✔

Certified by Puppet Labs engineers ✔

Pre-packaged dependencies in one directory ✔

Smooth upgrade and maintenance path ✔

Not easy at all.

Sltos

Page 61: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Wy aya?safety/securityreproducible

“later”

Page 62: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

safety/securityreproducible

“later”

Wy aya?

Page 63: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

safety/securityreproducible

“later”

Wy aya?

Page 64: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Ts I i Saig

Page 65: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

r!t

Page 66: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

r!tNein!

Page 67: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Js dn’t.

Page 68: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Piiee Pr

drop privilegesauthbind

Page 69: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Need dat POWER!

Bt Hynek…

Page 70: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Snl Proe Wres

celeryrq

zerorpcperspective broker/AMP

Page 71: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

B Prni/bin/false

iptables

file sockets

REVOKE ALL

SSLfail2ban

Page 72: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

/bin/falseiptables

file sockets

REVOKE ALL

SSLfail2ban

B Prni

Page 73: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

/bin/falseiptables

file sockets

REVOKE ALL

SSLfail2ban

B Prni

Page 74: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

/bin/falseiptables

file sockets

REVOKE ALL

SSLfail2ban

B Prni

Page 75: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

/bin/falseiptables

file sockets

REVOKE ALL

SSLfail2ban

B Prni

Page 76: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

/bin/falseiptables

file sockets

REVOKE ALL

SSLfail2ban

B Prni

Page 77: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

$ ./manage.py runserver ▌

[0] 0:bash*

Page 78: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 79: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

$ ./manage.py runserver ▌

[0] 0:bash*

沒有!

Page 80: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

I’s Es!upstartsystemd

supervisordcircus

Page 81: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

I’s Es!upstartsystemd

supervisordcircus

Page 82: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Eape: usat$ cat /etc/init/yourapp.confstart on static-network-upstop on deconfiguring-networkingrespawnchdir /path/to/yourappsetuid yourappexec /path/to/gunicorn_django settings.py$ start yourapp

Page 83: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Lglog to stderr

redirect stderr sysloguse OS tools

Page 84: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Lg…[uwsgi]log-syslog = your-app…

twistd --syslog --prefix your-app …

Page 85: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Lgif $programname == 'you-app' \

then /var/log/your-app.log& ~

Page 86: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

+ mod_wsgi

Page 87: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

+ mod_wsgiНет!

Page 88: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

DslieUsing Apache is

perfectly fine.

Page 89: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Iff you decide consciously

for it.

Dslie

Page 90: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

mod_wsgi

Page 91: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

mod_wsgi ??

Page 92: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

+gor

Page 93: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

+gor

Better separation

of concerns.

Page 94: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Es t St U: gncr

$ gunicorn_django settings.py

$ gunicorn_paster settings.ini

Page 95: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

$ cat settings.py…INSTALLED_APPS = ( … "gunicorn",)…$ manage.py run_gunicorn

Es t St U: gncr

Page 96: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

location / { proxy_pass unix:///tmp/app.sock;}

location /static/ { root /your/app/public/;}

Es t St U: nix

Page 97: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Fo Es t AEOE

Page 98: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Text

Page 99: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Sil Es: usiuwsgi --emperor production.ini

…[uwsgi]paste = config:%puwsgi-socket = /tmp/app.sockprocesses = 2…

Page 100: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

location / {include uwsgi_params;uwsgi_param UWSGI_SCHEME $scheme;uwsgi_pass unix:///tmp/app.sock;

}

Sil Es To: nix

Page 101: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Dpo!

Page 102: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Rlbc!

Page 103: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Mntr

Page 104: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Mntr

Page 105: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 106: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 107: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Mntr

Page 108: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Mauestatsd

graphite

yunomi

Page 109: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 110: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing
Page 111: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

Mauestatsd

graphite

yunomi

Page 112: Solid Python Application Deployments For Everybody · 600+ pre-built configurations on Puppet Forge Orchestration – Task Automation Compliance – Automated configuration auditing

gt 1