SlideShare une entreprise Scribd logo
1  sur  27
Gdy testy to za mało,
Continuous Monitoring
Quality Meetup, 2017
Piotr Marczydło
The Team
23mln
realnych
użytkowników
7 mln
zapytań na
minutę
150mln
PV dziennie
350
specjalistów
40
zespołów
> 500
wdrożeń
dziennie
„Monitoring provides
a good approximation
of the health of
a system” – SRE book@Google
Monitoring & Observability
Kluczem do sukcesu jest to aby
monitoringodpowiadał na pytania
„Co” i „dlaczego”
Web Speed
Web Speed
1. Porównanie wersji (A/B Test)
2. Badanie trendu
3. Ciężar strony i liczba requestów
4. *Visual Complete i Progress
Real User Monitoring
1. Każdy użytkownik
2. Navigation Timing API
Real User Monitoring
1. Wersje OS
2. Przeglądarki
3. ISP
4. Prędkość łącza
5. Urządzenia mobilne
Real User Monitoring
14
Analityka
1. Google Analitics
2. Gemius - Ranking.pl
3. Logi
Historia jednego requestu
Historia jednego requestu
Performance
1. Narzędzia
2. Usługi
Performance
1. Front
2. API/Kolejek/DB
3. Workery
4. Lokalizacje
5. CDN?
Performance Platform
1. Liczba testów
2. Statusy
3. Obciążenie
4. Komponenty
„If a human operator needs to touch your
system during normal operations, you have
a bug.”
~Carla Geisser, Google SRE
Development & Build
Deployment & Ops
CI/CD enviroment & uptime
1. Dostępność SDK
2. Liczba VM
3. Czas Commit to Build
4. Czas Builda i status
5. Rozmiar kolejki
6. Dysk
AWS S3 = 99,95% uptime =~21,5min
Dziękuję za uwagę
Piotr.Marczydlo@dreamlab.pl
Linki/Bibliografia:
Monitoring and Observability
https://medium.com/@copyconstruct/monitoring-and-observability-8417d1952e1c
Google SRE book
https://landing.google.com/sre/book/index.html
AWS S3 sla
https://aws.amazon.com/s3/sla/
WebPageTest
https://github.com/WPO-Foundation
AWS Status Page
https://status.aws.amazon.com
DevOps Automation Cookbook - Michael Duffy

Contenu connexe

Similaire à [Quality Meetup #13] Piotr Marczydło - Gdy testy to za mało – Continuous Monitoring

Jakość i wiarygodność OSS
Jakość i wiarygodność OSSJakość i wiarygodność OSS
Jakość i wiarygodność OSS
bartekel
 
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PROIDEA
 
Web Analytics na usługach Amnesty International - SEMstandard 2011 - Bluerank
Web Analytics na usługach Amnesty International - SEMstandard 2011 - BluerankWeb Analytics na usługach Amnesty International - SEMstandard 2011 - Bluerank
Web Analytics na usługach Amnesty International - SEMstandard 2011 - Bluerank
Bluerank
 

Similaire à [Quality Meetup #13] Piotr Marczydło - Gdy testy to za mało – Continuous Monitoring (20)

university day 1
university day 1university day 1
university day 1
 
Jakość i wiarygodność OSS
Jakość i wiarygodność OSSJakość i wiarygodność OSS
Jakość i wiarygodność OSS
 
3
33
3
 
Badanie szybkości ładowania serwisów internetowych 2014
Badanie szybkości ładowania serwisów internetowych 2014Badanie szybkości ładowania serwisów internetowych 2014
Badanie szybkości ładowania serwisów internetowych 2014
 
Dlaczego flopsar
Dlaczego flopsarDlaczego flopsar
Dlaczego flopsar
 
2010.09 Badania użyteczności online
2010.09 Badania użyteczności online2010.09 Badania użyteczności online
2010.09 Badania użyteczności online
 
Narzędziownik Compliance Officera
Narzędziownik Compliance OfficeraNarzędziownik Compliance Officera
Narzędziownik Compliance Officera
 
Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testow
 
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
 
Wydajne API dla aplikacji mobilnych
Wydajne API dla aplikacji mobilnychWydajne API dla aplikacji mobilnych
Wydajne API dla aplikacji mobilnych
 
Zawód tester - spotkanie z autorem książki
Zawód tester - spotkanie z autorem książkiZawód tester - spotkanie z autorem książki
Zawód tester - spotkanie z autorem książki
 
Activiti - BPMN 2.0 nadchodzi
Activiti - BPMN 2.0 nadchodziActiviti - BPMN 2.0 nadchodzi
Activiti - BPMN 2.0 nadchodzi
 
Web Analytics na usługach Amnesty International - SEMstandard 2011 - Bluerank
Web Analytics na usługach Amnesty International - SEMstandard 2011 - BluerankWeb Analytics na usługach Amnesty International - SEMstandard 2011 - Bluerank
Web Analytics na usługach Amnesty International - SEMstandard 2011 - Bluerank
 
WUD 2009 - Różne sposoby badania użyteczności w społecznościach internetowych
WUD 2009 - Różne sposoby badania użyteczności w społecznościach internetowychWUD 2009 - Różne sposoby badania użyteczności w społecznościach internetowych
WUD 2009 - Różne sposoby badania użyteczności w społecznościach internetowych
 
Czas i pieniądze 4 developers
Czas i pieniądze 4 developersCzas i pieniądze 4 developers
Czas i pieniądze 4 developers
 
Edukacja testerska na Quality in IT
Edukacja testerska na Quality in ITEdukacja testerska na Quality in IT
Edukacja testerska na Quality in IT
 
Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6
 
Ciągła Integracja W Projekcie - Metodyka I Narzędzia
Ciągła Integracja W Projekcie - Metodyka I NarzędziaCiągła Integracja W Projekcie - Metodyka I Narzędzia
Ciągła Integracja W Projekcie - Metodyka I Narzędzia
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 

Plus de Future Processing

Plus de Future Processing (20)

DPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdfDPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdf
 
DPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdfDPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdf
 
DPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdfDPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdf
 
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
 
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
 
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
 
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
 
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
 
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
 
[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny Blockchain[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny Blockchain
 
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
 
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
 
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
 
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
 
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
 
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
 
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
 
[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test Automation[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test Automation
 
[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software Tester[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software Tester
 
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
 

[Quality Meetup #13] Piotr Marczydło - Gdy testy to za mało – Continuous Monitoring

Notes de l'éditeur

  1. Cześć nazywam się Piotr Marczydło i pracuję w Dreamlabie gdzie w pewnym momencie zdałem sobie sprawę, że testy czy to manualne czy automatyczne to za mało aby zachować najwyższą jakość. W kulturze DevOps i procesie ciągłej integracji wdrożenie nie sa eventem tylko codziennością Dlatego przez długi czas zastanawiałem się jak możemy wykorzystać nasze narzędzia, żeby lepiej poprawiać jakość. Na Quality Excites dużo mówiliśmy o TestOps, a monitoring jest tego częścią. Monitorować można wszystko np. czystość powietrza – tak jestem z krakowa
  2. Gdy ponad 3 lata temu przyszedłem do firmy testowaliśmy ręcznie i sporadycznie pisaliśmy testy selenium W 4 osoby nie było szansy zapewnić jakości w skali w której pracujemy. Dlatego aktualnie budujemy własne narzędzia, monitoring, raporty, frameworki testowe i zarządzamy procesem CI/CD
  3. Jeżeli w pewnym momencie będzie wam się wydawać, że tytuł prezentacji był clickbaitem to nie dlatego, że Dreamlab robi między innymi takie serwisy jak Fakt, Onet, nk i inne wchodzące w skład grupy onet-RAS Nigdy nie miałem głowy do nazw
  4. Poza polską w 5 krajach europy
  5. Jeżeli jeżeli mówimy o skali to: 23 miliony RU 150 mln PV dziennie Co przekłada się na 7 mln requestów na minutę 4.5 miliarda na dobę
  6. Za tym wszystkim stoją ludzie 40 zespołów w 3 biurach – w Krakowie, Wrocławiu i Warszawie Pracuje u nas Ponad 350 specjalistów Nasze zespoły przeprowadzają ponad 500 wdrożeń dziennie
  7. Wracając do monitoringu, ważne jest żeby zrozumieć, że monitoring nie zagwarantuje braku awarii, ale w dość dobrym przybliżeniu zobrazuje nam jaki jest status systemu. Da nam możliwość analizy długoterminowej takich jak rozrost DB czy PV Porównania np. po wdrożeniu nowej wersji czy liczba req spadła, czy może wzrósł czas ładowania strony Alerty gdy coś się może zepsuć albo już się zepsuło i ktoś powinien na to spojrzeć Pozwala zbudować dashboard który będzie odpowiadał na podstawowe pytania nt serwisu Osobiście jestem zwolennikiem 2 rodzajów dashboardów nazwijmy je codzienny i wdrożeniowy
  8. Do niedawna Monitoring był domeną Opsów czyli Administratorów. Jednak dlaczego nie spróbować tego w QA. Jak to powinno wyglądać Jednak samo monitorowanie to nie wszystko kluczem do sukcesu jest aby dostarczał odpowiedzi na pytania „Co” i „dlaczego” Dla przykładu taki monitoring 500 na stronie onet.pl nie mówi o niczym? Mamy tam powiedzmy 200 requestów per 1 pv i któryś z nich zwraca 500 dla 100mln pv dziennie – nie wiemy nic Co innego monitoring konkretnego api pod spodem. Pomogą nam w tym: Tracing requestów np. przy użyciu zipkina – który pozwoli nam zidentyfikować wadliwe requesty i ich ścieżkę w systemie Logi – customowe informacje dla dogłębnej analizy problemy Metryki per komponent Wizualizacja czyli wspomniane dashboardy które zobrazują nam stan systemu i alarmy które poinformują nas o degradacji
  9. Wracając na nasze podwórko. Sytuacja w której większość dostaje białej gorączki, nadmiernej potliwości i krzyczy „Boże dlaczego ja?” – strona ładuje się długo i nasi użytkownicy to zgłaszają. Co możemy zrobić jako testerzy? Odpalić jedno z kilku narzędzi i zmierzyć. Ale co gdy takiej sytuacji nie można łatwo odtworzyć, zacząć ciągle monitorować. Użyliśmy WPT bo można postawić własną instancję, a od jakiegoś czasu nie wymaga windowsa aby uruchomić test
  10. To był nasz pierwszy ciągły monitoring gdzie: Wersje serwisów czy to przy testach AB czy też Prod i Int - było to możliwe właśnie dzięki prywatnej instancji która jest uruchomiona w naszej sieci wewnętrznej Czasami nie widać na pierwszy rzut oka jak kolejne wdrożenia wpływają na prędkość ładowania Zbieraliśmy dane nonstop, a następnie generowaliśmy raport zmian trendu czasu ładowania Tak samo dla ciężaru strony i liczby requestów, czasami jeden bloczek reklamowy potrafi stworzyć bardzo duże problemy Wyróżniłem 2 moim zdaniem ciekawe metryki: - Visual complete która najprościej mówiąc jest czasem załadowania strony od pierwszego piksela Visual progres jest histogramem procentu załadowania się do czasu czyli pokaże nam w której sekundzie jak jaka część strony była załadowana W kontekście reklam ma to duże znaczenie
  11. Jednak samo testowanie prędkości to nie wszystko chcemy mieć informacje jak to wygląda u naszych użytkowników Bo przecież są w różnych sieciach na różnych prędkościach, przeglądarkach i systemach operacyjnych W dawnych czasach internetu pewna firma rozwiązała to w taki sposób, że kupiła 200 RaspPi podłączyła w różnych miejscach w Polsce aby mierzyć ładowanie ich portalu Potem pojawiło się NTA i zamiast 200 próbników mamy 23mil NTA to standard a do niego można dołożyć swoje własne „logi” i wszystko to opakować w RUM
  12. RUM dostarczy nam informacji które pozwolą nam na zdefiniowanie Wersji OS na których testujemy mobile/desktop Najpopularniejszych przeglądarek i rozdzielczości Dostawców internetu i prędkości łącza - to np. przydatna informacja przy testach ładowania strony Te dokładne informacjami kto gdzie i co klika możemy wykorzystać np. artykuł jest najbardziej popularny, a dalej wyciągnąć url i podstawić do testu selenium
  13. Dla przykładu to jeden z wykresów najpopularniejszych przeglądarek u nas na wszystkich portalach Takie dane są bardzo pomocne przy zgłaszaniu błędów Ponad rok temu wdrażaliśmy portal który miał poważny błąd na jednym telefonie, PO nie interesowała naprawa, Wpadliśmy na pomysł, żeby policzyć ile konkretnie użytkowników go używa, a było to ponad 5% udziału w rynku Gość był nietechniczny, ale podanie argumentów gdzie 5% było konkretnymi $$ sprawiło, ze szybko znalazł się czas na naprawę. Od tego czasu automatycznie codziennie aktualizuje się nam % użycia
  14. Takie dane poza wspomnianymi firmami możecie wyciągnąć z Google Analitics portalu ranking.pl czyli Gemiusa gdzie znajdziecie ogólne statystyki dla kilku krajów Oraz własnego rozwiązania czy to w postaci logów Rum pozwala na dogłębną analizę działania serwisów i jego użytkowników i w ten sposób dopasowania testów
  15. To teraz będzie ciekawy case Jak już wspominałem raportujemy czasy ładowania i trendy Pewnego razu przyszedł do nas kierownik projektów z pytaniem dlaczego wykresy się rozjeżdżają i na jednym średnia to ~5s a na drugim ponad 12 Problemów nie było widać z sieci firmowej
  16. Długie czasy generowane były tylko z instancji WPT, która była wpięta do zewnętrznej sieci Neostradą Jednak w samym web page test też nie było widać co powoduje problem tylko wielką dziurę, ale sugestywne były piki w ruchu sieciowym Dopiero po zalogowani na server i uruchomienie w przeglądarce i sprawdzeniu w inspektorze okazało się, że jeden bloczek reklamowy problem miał z ładowaniem, a raczej był blokowany Co ciekawe tylko i wyłączenie na sieci orange. Sprawa została zgłoszona i naprawiona. Mimo, że wygląda banalanie, zostawiona sama sobie mogła by wygenerować dużo problemów przy rozliczeniach Czasami wystarczy spojrzeć z innej perspektywy, żeby znaleźć błąd. Tak jak w tym wypadku, narzędzie kompletnie nie do tego przeznaczone miało swój udział w znalezieniu awarii.
  17. Skoro mierzymy prędkoś ładowania to kolejnym krokiem było mierzenie wydajności Bo co się stanie gdy wejdzie na naszą stronę 100, 200 czy 1000 os Jak na to zareaguję aplikacje czy też bazy danych A czy przy takim godzinnym ruchu, czy czasy odpowiedzi naszych serwisów nie będą rosły Na te i inne pytania, znaleźć odpowiedzi pozwoli takie darmowe narzędzia jak jmeter czy gatling Ogólnodostępne i zarazem płatne usługi takie jak blazemeter i loader.io My postawiliśmy na jmeter z uwagi na potrzebne nam funkcjonalności oraz możliwość dystrubułowania testów
  18. Wydajność jaką mierzymy to Ładowanie frontu z requestami Api – prędkość odpowiedzi api oraz rodzaje odpowiedzi Przetwarzania kolejek Baz danych – działanie Oraz przetwarzanie różnych workerów Lokalizacje to wymaga zdefiniowania gdzie znajdują się nasi klienci i dobranie do tego lokalizacji testów, jednej lub kilku Bo jaki sens ma 10ms czasu odpowiedzi z polski jeżeli nasi kliencie są w Niemczech CDN czyli continuous delivery network np. cloudflare, ta technologia pozwala nam na serwowanie stron bliżej klienta. Dlaczego o tym mówię w kontekście testów?
  19. Robimy bardzo dużo testów wydajnościowych i chcieliśmy uprościć proces ich wykonywania więc stworzyliśmy swoją własną platformę Testowanie z laptopa odpadało bo po prostu nie były w stanie wygenerować potrzebnej ilości requestów, dostępu do infrastruktury nie mogliśmy dać ponieważ po tuningu była w stanie wygenerować przytłaczający ruch. Pozwala nam ona też monitorować działanie serwisów, wszystkie wyniki zbieramy i prezentujemy w raportach Takie dane jak liczba testów per domena, statusy testów w czasie, najlepszy wynik oraz jakie komponenty były testowane
  20. Jak wspomniałem na początku zarządzamy środowiskiem CI/CD, ale chcąc pójść krok dalej zastanawialiśmy jak poprawić proces developmentu, a głównie zapanować nad awariami spowodowanymi błędnym wdrożeniem Pierwszym krokiem było stworzenie referencyjnego planu buildu i deployu tak aby osiągnąć stabilność, a sukces czy porażka nie zalezały od jakiś wydumanych skryptów developera Następnie zdefiniowaliśmy modelu dojrzałości jako KPI, a następnie zmierzenia produktów wg. punktów. Mierzymy się w takich obszarach jak Proces, zarządzanie jakością, monitoring, build i deploy Co ważne każdy z tych punktów musiało się dać zmieżyć
  21. Więc skoro da się mierzyć to co? Chcemy wiedzieć czy nasi developerzy mają poprawnie skonfigurowane środowiska np. wymagane PR I jak szybko wdrażają Czy ich buildy zawierają wszystkie komponenty jak testy czy analiza kodu oraz czy długość buildu nie odbiega od trendu Czy i ile testów uruchamiają oraz jakie są statystyki sukcesu Czy branch Master jest zawsze działający - przechodzą testy
  22. Dalej czy mam procedurę wdrożeniową, jak jest przeprowadzany deploy ręcznie/automatycznie Czy deploye kończą się powodzeniem i są uruchamiane testy e2e po wdrożeniu Czy proces jest odwracalny i potrafię zrobić rollback oraz ile on trwa Czy zespół monitoruje trendy buildów, deployemntów i testów Jak wygląda automatyzacja w ramach chatOps oraz notyfikacje Koniec końców czy Produck owner zna proces i jest informowany o statusie testów i deploymentów Na te wszystkie pytania odpowiadamy stałym monitoringiem procesu bo to pozwala nam na definiowanie kolejnych kroków i walkę z problemami, a także zapewnia transparentność na linii dev i biznes
  23. Nie wszystkie błędy wynikają z procesu za który odpowiedzialny jest zespół, a środowisko CI jest za duże żeby monitorować każdą VM, produkt czy Build Plan. Dlatego określiliśmy krytyczne funkcjonalności które mówią nam, że środowisko działa z perspektywy użytkownika. I w ten sposób powstała lista Dostępność SDK każdej wspieranej technologii – to daje nam informacje, że konfiguracja VM jest poprawnie wdrożona, ponieważ są one uruchamiane na w chmurze która się rotuje Odpowiednia liczba VM per OS - brak środowiska oznacza zmniejszoną dostępność Czas Commit to Build – potwierdza działanie linków, triggerów oraz odpowiednią wydajność środowiska Czas Builda i jego status – potwierdza działanie wszystkich komponentów pobocznych jak analiza kodu czy testy a nie spodziewane wydłużenie czasu builda może oznaczać utratę wydajności Rozmiar kolejki – dzięki czemu wiemy czy dostarczamy odpowiednią dostępność Wolne miejsce na dysku To wszystko mierzymy testami syntetycznymi, z poza infrastruktury CI tak aby stabilność środowiska nie wpływały na wykonanie testu. W ten sposób postawiliśmy krok w kierunku walki o wysoki uptime i spełnianie SLA
  24. O samym procesie czy też idei service level agreement trzeba by było mówić przez kolejną godzinę, ale w kontekście monitoringu i stabilności jest o bardzo ciekawa i rozwijająca sprawa. Pewnie widzieliście kiedyś dashboard uptime AWS Dla przykładu taki Amazon S3 zakłada 99.95% dostępności w miesiącu czyli tylko 21,5min może być nie dostępny, jeżeli dołożymy do tego jeżeli dobrze pamiętam deploy co 7s to robi wrażenie Mierzenie uptime i dążenie do utrzymania SLA motywuje do bardzo dużej poprawy stabilności oraz wdrożenia wielu procedur i mechanizmów zabezpieczających na wypadek awarii lub informujących wystarczająco wcześniej aby temu zapobiec
  25. Monitoring nie zastąpi testowania, jednak ułatwi nam pracę i tak jak potrafimy przeprowadzić wiele rodzajów testów, tak samo warto myśleć o monitoringu, bo nie ma jednego rozwiązania. Automatyzacja to klucz do sukcesu w coraz bardziej dynamicznym świecie IT, a monitoring dobrze zobrazuje status systemu. Stałe dostarczanie informacji pozwoli nam wyniesienie naszej pracy na kolejny poziom i dostarczenie najwyższej jakości