fbpx

5 usług AWSa, które pomogą Ci w testowaniu

Created with Sketch.

5 usług AWSa, które pomogą Ci w testowaniu

5-usług-awsa-ktore-pomoga-ci-przy-testowaniu

Wprowadzenie

Dzisiaj chciałbym zrobić krótki przegląd z szerokiej listy usług platformy Amazon Web Services, które mogą Ci pomóc w codziennej pracy testera oprogramowania.

AWS Device Farm

Zaczniemy od tej najbardziej oczywistej, która jest widoczna w portfolio usług na pierwszy rzut oka.

Jeśli testujesz, znasz na pewno różnego rodzaju serwisy, które umożliwiają zdalny dostęp do floty urządzeń o różnorakich parametrach (Sauce Labs, BrowserStack, Browserling, itp.).

Jeśli korzystasz z infrastruktury AWSa, możesz również skorzystać z AWS Device Farm do tego aby przeprowadzać testy automatyczne aplikacji mobilnych lub skorzystać ze zdalnego dostępu do maszyn z rodzin Android, iOS oraz Fire OS. Kompletna lista wspieranych urządzeń jest dostępna tutaj: http://awsdevicefarm.info

Jeśli chodzi o cennik: po założeniu nowego konta mamy dostęp do tzw. Free Tier, gdzie przez rok mamy do dyspozycji 1000 minut za darmo, co miesiąc. Po przekroczeniu tego progu w ciągu miesiąca oraz po ukończeniu pierwszych 12 miesiącach płacimy $0.17 za minutę. Możemy również zapłacić flat rate za miesiąc lub zakupić dedykowane urządzenie tylko dla nas.

Amazon Machine Image

Kolejnym narzędziem, które również wydaje się oczywiste są obrazy maszyn wirtualnych, które noszą nazwę AMI.


Jeśli potrzebujemy sklonować maszynę z produkcji pod środowisko testowe, lub sklonować nasze środowisko testowe – to będzie jeden z komponentów, z którego skorzystamy. Ważne jest to, że możemy tak naprawdę stworzyć obraz dowolnej maszyny wirtualnej, która jest dostępna na naszym koncie, a następnie utworzyć nową (np. słabszą, aby mniej płacić), która będzie np. na naszym środowisku testowym.

Warto pamiętać tylko o kilku rzeczach:

  • Jeśli chcemy sklonować maszynę z produkcji, na nasze środowisko, które jest innym kontem AWS (popularny układ), musimy nasz obraz udostępnić pomiędzy kontami.
  • Obraz maszyny jest ściśle przywiązany do regionu, w którym działała maszyna źródłowa. Jeśli chcemy stworzyć maszynę w innej lokalizacji, musimy skopiować obraz pomiędzy regionami.
  • Nie da się udostępniać obrazów maszyn pomiędzy kontami, które mają włączone szyfrowanie za pomocą mechanizmu innego niż Customer Managed Keys (a w przypadku CMK, musimy też współdzielić klucz).

AWS Database Migration Service

Co w sytuacji, jeśli potrzebujemy sklonować bazę danych? Jeśli korzystamy z zarządzanych baz danych Amazon RDS mamy dwie możliwości: snapshot (obarczony podobnymi ograniczeniami, co opisane powyżej AMI) lub migracja za pomocą AWS DMS.

W tym drugim rozwiązaniu mamy tak naprawdę do dyspozycji dwa rodzaje migracji:

  • Initial Load – gdzie tak naprawdę migrujemy dane z bazy raz, z obecnego stanu.
  • Change Data Capture – gdzie możemy migrować dane w trybie ciągłym, replikując zmiany ze źródła do bazy docelowej.

Oba rozwiązania mają swoje zastosowanie i będą pożyteczne w zupełnie innych przypadkach.

Amazon Aurora Database Backtracking

Jeśli korzystasz w bazach danych na środowisku produkcyjnym lub testowym z silnika Amazon Aurora, masz jeszcze jeden bardzo ciekawy mechanizm do dyspozycji: Database Backtracking.

To dość typowy mechanizm dla baz danych, który umożliwia przywrócenie zmian jakie zaszły od momentu konkretnej migawki (snapshot).

To co jest nietypowe i daje inne możliwości to, że w przypadku Amazon Aurora architektura pozwala na wykonywanie migawek w sposób ciągły i tak naprawdę powrót do dowolnego momentu w czasie, podglądnięcie (przy zachowaniu zmian, które zostały wprowadzone) oraz sklonowanie/przywrócenie stanu bazy. Taki wehikuł czasu dla baz danych, tylko bez konsekwencji związanych z paradoksami czasowymi.

Jestem pewien, że już widzisz zastosowania (np. przywracanie bazy do stanu sprzed testów lub klonowanie jednej bazy do wielu na bazie jednej migawki, przy zachowaniu oryginalnej bazy – reprodukcja błędów).

AWS CloudFormation

Okej, ten serwis jest trochę bardziej skomplikowany, bo pozwala tak naprawdę na obsługę pełnego infrastructure as code na platformie AWS, ale ostatnio otrzymał nową funkcjonalność, która znacznie upraszcza start z nią.

Można od niedawna zaimportować wyklikane zasoby do AWS CloudFormation i przygotować szablon, na bazie tego co stworzyliśmy za pomocą konsoli webowej. Więc, jeśli masz środowisko testowe, które zostało wyklikane a chcesz zautomatyzować jego tworzenie, jest to świetny punkt startowy. Do dzieła!

Podsumowanie

Czy to wszystko? Zdecydowanie nie. Jest dużo więcej usług, które mogą pomóc przy testowaniu oprogramowania, ale będą wymagały od Ciebie znacznie więcej pracy i wiedzy.

Przygotowane przeze mnie zestawienie to krótkie zestawienie ma tę zaletę, że łatwo z nich skorzystać i usprawnić sobie pracę. Jeśli pracujesz na AWS na co dzień, jestem ciekaw, jakie masz swoje ulubione narzędzia, skrypty, sztuczki – podziel się nimi w komentarzu poniżej lub na naszym profilu na Facebooku.