Jak přehledně odlišit produkční prostředí od dev / stage?

,

Jako vývojáři nebo testeři pracujeme na různých prostředích, kde vyvíjíme a testujeme nové funkce. Čas od času se ale stane nepříjemnost — někdo si splete prostředí a provede destruktivní operaci na produkci, protože si myslel, že se nachází v testovacím prostředí. Taková chyba může vést k výrazným finančním ztrátám a časovým komplikacím. Jak tomu efektivně předcházet?

Kromě základní obezřetnosti existují praktické způsoby, jak si jednotlivá prostředí vizuálně odlišit, což minimalizuje riziko nechtěných chyb.

Co a jak graficky odlišit?

Z mojí zkušenosti většinou postačí následující vizuální indikátory, které vám jasně připomenou, ve kterém prostředí pracujete:

1. Label v CLI

Pokud používáte příkazovou řádku (CLI) pro práci s prostředím, můžete si do promptu přidat jasné označení aktuálního prostředí. Například:

  • DEV: zelený text (např. [DEV])
  • STAGE: žlutý text (např. [STAGE])
  • PROD: červený text (např. [PROD])

Konfiguraci lze snadno nastavit v souboru .bashrc

PS1="\[\e[32m\][DEV]\[\e[m\] \u@\h:\w$ "
PS1="\[\e[33m\][STAGE]\[\e[m\] \u@\h:\w$ "
PS1="\[\e[31m\][PROD]\[\e[m\] \u@\h:\w$ "

CLI alert

2. Badge v phpMyAdminu nebo Admineru

Pokud používáte nástroje pro správu databází jako phpMyAdmin nebo Adminer, můžete si přidat jednoduché barevné odznaky (badge), které označují prostředí. Inspirace, jak to provést je k vidění zde: https://github.com/midlan/adminer-skin/blob/master/adminer.css

pma badge

3. Badge v administraci aplikace

Pokud pracujete v administraci systému, přidejte na viditelné místo (např. do záhlaví nebo do rohu stránky) barevný odznak, který označuje aktuální prostředí.

Admin Badge

Další tipy pro zvýšení bezpečnosti

  1. Oddělení přístupů
    • Ujistěte se, že přístupy do produkčního prostředí mají pouze vybraní uživatelé.
    • Používejte různé účty pro práci na dev/stage a produkci.
  2. Zálohování a obnovy
    • Automatické zálohy produkčních dat by měly být samozřejmostí.
    • Testujte obnovu dat z těchto záloh pravidelně. Z mých zkušeností se nevyplácí se spoléhat, že poskytovatel managed služeb je schopný obnovit zálohu včas. Je vhodné toto „nacvičit“ a mít specifikované veškeré procesy předem.
  3. Logování destruktivních akcí
    • Logujte všechny změny provedené v produkčním prostředí, aby bylo možné rychle identifikovat a případně napravit chybu.