Czym jest serwer staging?
Serwer staging to środowisko, które dokładnie odzwierciedla produkcyjne, ale jest od niego oddzielone. Umożliwia to testowanie aplikacji w warunkach jak najbardziej zbliżonych do rzeczywistych, bez ryzyka wpływu na działające systemy produkcyjne.
Praca z serwerem staging
Oto, w jaki sposób pracujemy z serwerem testowym:
- Konfiguracja serwera: Identyczna jak na serwerze produkcyjnym.
- Subdomena: Domeną testową Ageno jest *.ageno.work, na jej podstawie tworzymy subdomeny. Przykład: minicrm.ageno.work
- Zabezpieczenie serwera: Zabezpieczyć dostęp poprzez Htpasswd, w niektórych przypadkach dodać regułę do Nginx umożliwiającą dostęp tylko naszym adresom IP.
- Baza danych: Skopiować bazę danych z serwera produkcyjnego, pomijając dane osobowe Klientów.
- Pliki statyczne: Skopiować pliki statyczne z serwera produkcyjnego, aby umożliwić realne testy.
- Weryfikacja: Weryfikować iteracyjnie wpływ zmian w aplikacji na wydajność całego rozwiązania. (W zależności od projektu: New Relic, Jmeter, htop, iotop, collectd.) Weryfikacja powinna opierać się na liczbach, a nie subiektywnych odczuciach.
- Wyłączenie zewnętrznych serwisów: Wyłączyć wszelkie narzędzia typu: Google Analytics, serwisy remarketingowe, e-mail marketingowe, zewnętrzne API, systemy księgowe, ERP, CRM itp. tak, aby nie zaburzyć testami danych w rozwiązaniach zewnętrznych.
- Wyłączenie CRON: Wyłączyć wszelki operacje automatyczne.
- Testowy adres e-mail: Zaimplementować testowy adres e-mail (MailCatcher).
- Blokada robotów wyszukiwarek: Zablokować wszelki ruch i indeksowanie wyszukiwarek (noindex, nofollow).
User-agent: *
Disallow: / - Deployment: Deploy na serwer staging jest realizowany z gałęzi develop w repozytorium Git.
Korzyści z używania serwerów staging
Serwery staging pozwalają na testowanie aplikacji w warunkach bardzo zbliżonych do produkcyjnych, co zwiększa szanse na wykrycie błędów przed wdrożeniem. To przekłada się na stabilność i bezpieczeństwo oprogramowania. Testowanie na serwerach staging pomaga zidentyfikować i naprawić błędy oraz problemy z wydajnością zanim trafią one na produkcję.
Regularne testowanie i weryfikacja aplikacji na serwerach staging zapewnia wyższą jakość końcowego produktu, a co za tym idzie – zadowolenie użytkowników i sukces biznesowy.
Dlaczego potrzebujemy serwer staging? 👈 – w tym artykule wyjaśniamy to na przykładzie case’u mBanku.
Tworzenie serwerów staging to kluczowy element procesu testowania i deploymentu w Ageno. Dzięki temu wdrażane przez nas oprogramowanie spełnia najwyższe standardy jakości i bezpieczeństwa. Jeśli chcesz dowiedzieć się więcej o naszych metodach pracy i technologiach, które wykorzystujemy, zapraszamy do kontaktu!