Omówienie środowisk

W przypadku aplikacji produkcyjnych musisz skonfigurować przejrzysty proces tworzenia, zwłaszcza jeśli nad aplikacją pracuje więcej niż 1 osoba. Proces tworzenia zwykle obejmuje konfigurowanie i zarządzanie kilkoma środowiskami.

Firebase oferuje różne poziomy obsługi procesów tworzenia i środowisk, z których się one składają. Gdy zapoznasz się z terminami i założeniami dotyczącymi procesu tworzenia dla deweloperów na tej stronie, przeczytaj nasze ogólne sprawdzone metody i ogólne wytyczne dotyczące bezpieczeństwa , aby dowiedzieć się, jak skonfigurować projekt w Firebase i aplikacje.

Informacje o środowiskach

W tworzeniu oprogramowania środowisko to cały sprzęt i oprogramowanie wymagane do uruchomienia instancji aplikacji lub systemu aplikacji.

Seria środowisk zapewnia izolację na potrzeby tworzenia i testowania oprogramowania bez wpływu na użytkowników. Jak pokazano na diagramie poniżej, środowiska na wysokim poziomie są uważane za przedprodukcyjne lub produkcyjne, a środowisk przedprodukcyjnych możesz mieć tyle, ile potrzebujesz. Diagram opisuje też typowe praktyki i funkcje związane z każdym typem środowiska.

Proces przenoszenia funkcji lub wersji przez te środowiska do środowiska produkcyjnego nazywa się potokiem wdrażania.

Diagram przedstawiający środowiska, które zwykle składają się na potok wdrażania, w tym środowisko programistyczne, testowe i kontroli jakości, przejściowe i produkcyjne

Typy środowisk

Środowisko składa się z podstawowej infrastruktury, która jest potrzebna do uruchomienia i obsługi aplikacji, jej kodu i danych. Rozwiń każdy z tych terminów, aby zapoznać się z opisami niektórych typowych środowisk, w tym ze wskazówkami dotyczącymi typów danych używanych w każdym typie środowiska.

Środowiska programistyczne

Każdy deweloper potrzebuje środowiska programistycznego – bezpiecznego, odizolowanego miejsca do testowania zmian w trakcie ich tworzenia. Idealnie byłoby, gdyby każdy deweloper w Twoim zespole miał dostęp do własnego środowiska programistycznego. Jeśli środowisko programistyczne jest instancją lokalną, deweloper może też znacznie szybciej iterować.

Dane w środowisku programistycznym są wypełniane danymi, które na ogół przypominają dane produkcyjne, ale nigdy nie powinny zawierać danych prawdziwych użytkowników. Mogą też zawierać dane, które w przeszłości powodowały błędy, np. bardzo długie ciągi znaków.

Środowiska testowe i QA

Jeśli masz testy automatyczne, potrzebujesz środowiska, w którym możesz je uruchamiać, i musisz resetować dane za każdym razem, gdy tworzysz środowisko testowe.

Jeśli masz inżynierów QA, mogą oni potrzebować jednego środowiska, z którego wszyscy korzystają, lub indywidualnych środowisk do testowania nowej wersji kandydującej do publikacji.

Dane w środowiskach testowych i QA są wypełniane danymi wysokiej jakości, które na ogół reprezentują dane produkcyjne, a także danymi reprezentującymi przypadki brzegowe i przykłady danych, które w przeszłości powodowały błędy.

Środowiska przejściowe

Aby realistycznie przetestować, jak wersja będzie działać w środowisku produkcyjnym, potrzebujesz środowiska przejściowego, które jak najwierniej naśladuje infrastrukturę produkcyjną. Jeśli musisz przetestować konkretne integracje w izolacji, warto mieć kilka instancji przejściowych.

Oto typowe różnice między środowiskiem przejściowym a produkcyjnym:

  • W środowisku przejściowym może brakować niektórych funkcji lub integracji, które mogą powodować efekty uboczne. Na przykład środowisko przejściowe może być skonfigurowane tak, aby nie wysyłać e-maili.

  • Środowisko przejściowe może zawierać anonimizowane dane. Dane mogą być fałszywe, ale powinny być realistyczne. Środowisko przejściowe służy do bezpiecznego debugowania problemów, dlatego możesz przyznać szerszemu zespołowi dostęp do danych przejściowych niż do danych produkcyjnych. Aby chronić prywatność użytkowników, nie należy używać w środowisku przejściowym rzeczywistych danych użytkowników.

Środowiska produkcyjne

W przypadku każdej aplikacji, którą utrzymujesz, potrzebujesz jednego środowiska produkcyjnego. Jest to instancja, z którą wchodzą w interakcję Twoi użytkownicy.

W przeciwieństwie do innych środowisk, w których możesz zmieniać, usuwać i/lub odtwarzać dane, dane w środowisku produkcyjnym są bardzo ważne. Utrata lub zmiana danych produkcyjnych będzie miała bezpośredni wpływ na użytkowników.

W konsoli Firebase zalecamy dodanie tagów do projektu w Firebase powiązanego ze środowiskiem produkcyjnym jako "produkcyjnego" typu środowiska. Ten tag może przypominać Tobie i Twoim współpracownikom, że wszelkie zmiany mogą mieć wpływ na powiązane aplikacje produkcyjne i ich dane.

Dalsze kroki