Temat: wzajemnie bezpieczne virtualnehosty
Tomasz Grzechowski:
prostuje i dodaje szczegółów
1. bezpieczne rozwiązanie, by aplikacje miały jak najbardziej ograniczone pole manewru
2. zautomatyzowany proces deploymentu
przerabiam ten temat na co dzien i moge Ci polecic infrastrukture oparta na wirtualkach (np xenserver) i serwerze CI jak jenkins
process wyglada tak ze np: tworzysz sobie szablon maszyny ze srodowiskiem testing/staging etc, nastepnie jak masz projekt dla jakiegos klienta to odpalasz z szablonu takie srodowisko, podpinasz instancje jako nody do jenkinsa i to on zajmuje sie deploymentem:
- potrafi polaczyc sie do dowolnego hostia via ssh
- jest hostoria budowania
- jest sporo triggerow do budowania, np zmiany w kodzie, cron, reczny trigger itp
- mozna skopiowac projekt deployowania w ciagu chwili jak np: chesz sprawdzic nowy branch zanim poleci na produkcje
- masz logowanie stdout i stderr w czasie rzeczywistym wiec wiadomo co sie dzieje na danym serwerze
- mozesz podpiac automatyzacje testow: jednostkowe (phpunit), regresyjne (phpunit + coverage), integracyjne (np: curl), akceptacyjne (selenium, behat, itp)
- maszyne z zdeployowanym oprogramowaniem mozesz szybko wystawic na produkcje kopiujac wirtualke lub skopiowac ja dla testera/developera zeby mogl na niej pracowac
- masz ACL do kontroili co i kto moze
z doswiadczenia wiem, ze zakladaniue ze na jednym serwerze mozna postawic wiele aplikacji (np apache vhost) jest bledne ze wzgledu na unifikacje konfiguracji i brak izolacji pomiedzy projektami, np: takie same nazwy baz danych, wspolne miejsca montowania zasobow, cache itp itd
openvz, vserver, jail moga byc fajne jak chcesz hostowac w produkcji mniejsze rzeczy i miec overselling ale w srodowisku developerskim jest zaduzo zmian i potrzeba bardziej elastycznych narzedzi
minus rozwiazania z wirtualizacja do koszt sprzetu ale gdybys byl zainteresowany to moge doradzic jak zrobic to taniej :)
Łukasz C. edytował(a) ten post dnia 15.02.13 o godzinie 08:41