Stabilność, skalowalność i diagnozowalność czyli lubię spać w nocy….

Slides:



Advertisements
Podobne prezentacje
Marcin Piotrowski. Najpopularniejszymi darmowymi przeglądarkami są Internet Explorer, Opera, Mozilla Firefox, Google Chrome.
Advertisements

TracKing to system prosty w instalacji i obsłudze!!
Wiktor Cegła Dawid vs Goliat – czym wygrywają sklepy internetowe?
Service Level Agreement
Hurtownie Danych Mariusz Dołęga.
Zarządzanie konfiguracją Doskonalenie Procesów Programowych Wykład 6 Copyright, 2001 © Jerzy.
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
1 Kryteria wyboru systemów: Przystępując do procesu wdrażania zintegrowanego systemu zarządzania, należy odpowiedzieć na następujące pytania związane z.
Wzorce projektowe w J2EE
Zarządzanie zmianami w systemie bezpieczeństwa - rozwiązania Check Point i partnerów OPSEC dr inż. Mariusz Stawowski
Przegląd zagadnień Struktura sieci systemu Windows 2003
USŁUGA FTP 1. Definicja FTP. FTP (File Transfer Protocol, ang. protokół transmisji plików) jest protokołem typu klient-serwer, który umożliwia przesyłanie.
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
InfinitERP prezentacja systemu.
… iSCSI … Windows Server 2012 Łukasz Dylewski.
GOSPODARKA OPARTA NA DANYCH Szybki dostęp online czy raporty generowane ręcznie? Wyzwania przetwarzania danych. Konrad Latkowski, Manubia 17 maja 2012.
marketing Spotkanie drugie w pełnym gronie….
Kim jestem? Dobry początek. Pierwsi płatni klienci jeszcze przed startem. Ponad 200 klientów w rok po starcie. Wśród nich takie marki jak Leroy Merlin,
Search Engine Marketing w promocji eventu
Przeznaczenie produktu Opis funkcjonalności
Licencjonowanie aplikacji serwerowych
EasyLoad BI zarządzanie wczytywaniem danych do hurtowni przez użytkowników biznesowych Prezentacja rozwiązania.
Autor: Justyna Radomska
komputerowy system przyjmowania, wysyłania i przetwarzania zgłoszeń
Dysk fizyczny i logiczny
1 Projektowanie obiektowe Wzorce projektowe Wprowadzenie do aplikacji biznesowych.
Wymiana integracja ? oprogramowania dr Danuta Kajrunajtys.
CabMan System dyspozytorski.
Rozdział 1: Wprowadzenie do systemu Windows 2000 i podstaw sieci
Co nowego w klastrach Windows Server 8
Sieciowe Systemy Operacyjne
Monika Naczk Justyna Tobolska Kl. II F
Komponentowe i rozproszone Interludium. OOA vs SOA OOA (obiekty rozproszone): CORBA, COM(+), EJB Współdzielenie obiektów SOA (serwisy rozproszone): Autonomiczne.
E-pytanie, e-odpowiedź... czyli jakich badań potrzebują biblioteki przyszłości? Dagmara Sawicka Biblioteka Główna Akademia.
Enterprise Architecture Patterns
System synchronizacji oraz współdzielenia plików pomiędzy wieloma użytkownikami oraz urządzeniami poprzez sieć Internet Rafał Olszewski Promotor: Mgr inż.
System Centralnej Ewidencji Kierowców i Pojazdów
S IMON SAYS … A RCHITECTURE ! Usługi zdalne Technologie, techniki i praktyki implementacji.
Prezentują: Marek Wałach UX Designer Marcin Ceran PHP Developer.
Jak dodać funkcjonalność płatności internetowej PayU do strony WWW
Agenda O Nas Ogólne informacje o Produkcie Job Manager – idealne rozwiązanie Aplikacja Webowa Aplikacja Kliencka Najnowsze zmiany.
1100 kont użytkowników 900 zasobów IT Systemy bazodanowe, poczta, etc. Support 20 kont serwisantów.
Konfiguracja VPN Serwera – Windows 7
Zarządzanie dostawcami i umowy SLA
1. Logowanie z usługą Active Directory. a) logowanie do domeny Windows 2003 Server odbywa się znacznie szybciej niż w poprzednich wersjach. b) nie ma odwołania.
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Połączenia aplikacji Klient/Serwer
SIEĆ KLIENT-SERWER Pojęcie sieci typu klient – serwer.
Komponentowe i rozproszone Interludium czyli krótki wykład o rozpraszaniu.
Zarzadzanie i monitorowanie aplikacji deweloperskic h.
Środowisko wspomagania automatycznej instalacji GNU/Linux „Multistart” Marta Szcześniak.
Zintegrowany monitoring infrastruktury IT w Budimex
Zintegrowane systemy informatyczne
Interfejs użytkownika „No matter how cool your interface is, less of it would be better”
SupportCenter Plus MWT Solutions.. Strona 2 Wprowadzenie Instalacja i konfiguracja Zarządzanie Incydentem Zarządzanie Bazą Wiedzy Umowy/Konta/Kontakty.
STAĆ CIĘ NA INNOWACJE Systemy Call Center Sp. z o.o.
Komponentowe i rozproszone (Web)Service Oriented Architecture.
TWOJA CYFROWA PRZYSZŁOŚĆ. JUŻ DZISIAJ. Marcin Parczewski © 2016 Software AG. All rights reserved. For internal use only.
Prepare for the new challenge. Marcin Borecki
Komponentowe systemy rozproszone
Przetestuj Usability Mateusz Kaczmarek
Komponentowe systemy rozproszone
23/06/2018 Nowa odsłona oferty PV innogy Polska S.A.,
Grzegorz Chodak Wykład
eConnect Inteligentne centrum obsługi
Aplikacje i usługi internetowe
Konteneryzacja i DevOps
Zapis prezentacji:

Stabilność, skalowalność i diagnozowalność czyli lubię spać w nocy….

Inspiracja “Feature complete” is not the same as “production ready” Michael T. Nygard

Czego chce klient? Funkcjonalność!

O czym nie myśli się w czasie implementacji Reakcja na sytuacje wyjątkowe Problemy z siecią/serwisami Instalacja Diagnostyka Przywracanie systemu do życia Monitoring

Co to znaczy niestabilny?

Na podstawie “Release IT”

Integration point I haven’t seen a “pure-website” project since about If your projects are like mine, they have probably been enterprise integration projects that happen to have an HTML-based front end. Punkt styku 2 podsystemów:  RPC, wołanie Com-a, Socket, WCF  Baza danych?

Punkty integracji?

Punkt upadku? Każdy punkt integracji kiedyś wybuchnie. Nie wiadomo tylko: Kiedy Jak często to się powtórzy Jakie będą objawy…  Błąd przewidywalny  Błąd nieprzewidziany  Duże opóznienie  Zwis totalny…  Mega wielki zwrot

Warto rozmawiać… Należy Poszukać Punktów integracji i zastanowić się: Jakie błędy są obsługiwane? Co jeśli pojawi się nieoczekiwany błąd? Co jeśli sterowanie nie wróci w ogóle? Co gdy nie bedzie błędu ale dane będą bez sensu –np. pusty zwrot? Co gdy zwrot będzie olbrzymi? Co będzie gdy będziemy coś zmieniać w serwisie?

Punkt integracji czyli co jest po tamtej stronie…

Brak odpowiedzi

Brak odpowiedzi… Czy możemy żyć bez działającej usługi? czyli jaka jest różnica między 5x9 a 2x % vs 88%

Dostępność systemu Różnica między % a 88% wynosi 1051h w skali roku Przy koszcie opóźnień rzędu 1k$/h daje to kwotę ponad milion $ Wiele firm wycenia 1h na 100k$

DB - klienci DB - księgowość DB - cennik Czy to naprawdę potrzebne? Aplikacja WWW Serwis księgowy Serwis reklamowy Serwis obsługa klientów Przeglądar ka

Czy to naprawdę potrzebne? Czy do pokazania towarów potrzeba aktualnych reklam ? Promocji? Czy można żyć np. bez danych klientów? Czasem można – czasem mamy je w cisteczkach i w sytuacji wyjątkowej możemy ich nie doczytywać z serwisu.

Fail Fast

Dużo lepiej szybko zasygnalizować błąd niż próbować obsłużyć go na niskim poziomie np. przez powtórzenia Dla bazy danych powtórzenie może mieć sens (np. w przypadku deadlock-ów) Lepiej zwalidować dane przed a nie na końcu transakcji Lepiej upewnić się, że mamy potrzebne wszsytkie zasoby zanim rozpoczniemy czasochlonne przetwarzanie (np. zawołamy zewnętrzne serwisy)

Fail Fast – czarny scenariusz baza serwisu obsługa klientów ledwo żyje (właśnie liczony jest roczny raport). próbujemy kupić coś w sklepie (jak wielu innych) ?

Time Out Zawsze gdy tylko można powinien być ustawiany Zwykle warto dać możliwość konfiguracji

Circuit Breaker Jeśli serwis np. marketingu stwierdza, że ma problem z baza (np długi czas odpowiedzi) od razu raportuje błąd np. przez 1 min żeby dać czas bazie na podniesienie się.

Hand Shaking Zamiast od razu pytać serwis o pot duże dane (zwłasza na starcie lub po jakimś czasie bezczynności) można najpierw zapitać go o status Start systemu – po restarcie …

Slow responses Ulubione zajęcie znudzonego klienta: “Odśwież” Długi czas odpowiedzi: Blokuje łańcuch pytających - wątki, pamięć Ew. timeout i ponowienie nie anulują poprzedniego żądania, czyli jest jeszcze gorzej. Co z pomysłem by nie obsługiwać kolejnyć żadań z tego samego IP?

Co to jest? Zasada odwróconego SLA.

DB – cennik + Obraz danych księgowych, klienckich DB – księgowość + Obraz danych klientów DB - klienci Jedno z rozwiązań - publish Aplikacja WWW Serwis księgowy Serwis reklamowy Serwis obsługa klientów Przeglądark a

Użytkownicy to zło... konieczne Są rózni – wielu przegląda mało kupuje Dodatkowo są: promocje boty hakerzy

Sesje Pyt: długie czy krótkie ? Odp: Lekkie, a najlepiej wcale - Użytkownik nie wie co to zamykanie sesji – ulubiony sposób wyjścia to przejście gdzie indziej, a nie wyloguj Bot nie obsługuje ciastek – co oznacza … domyślnie nową sesję dla każdego żądania – np. żeby odpowiedzieć “temu panu dziękujemy”

Reakcja łańcuchowa Aplikacja WWW Przetwarzani e zleceń Przeglądar ka Przetwarzani e zleceń

Czy system musi znieść wszystko ? Powinien dobrze działać w typowych warunkach przetrwać (niekoniecznie super wydajnie) ektremalne warunki – promocje, święta

Bulkheads? Warto rozważyć oddzielne QoS dla różnych typów klientów, usług itd np. przez wydzielenie oddzielnych podsystemów Kompromis: skalowanie vs. stabilność

Wycieki Pamięć Połączenia do bazy, Wątki Duży problem dla długo działających aplikacji

Diagnostyka Monitorowanie: pamięć, dysk, zasoby, sieciowe wołania, wolumen danych, stan punktów integracji, Logowanie: wyjątki, błędne wołania, problemy sieciowe (+ kontekst), ale bez ujawniania szczegłów użytkownikom

Fiddling Aplikacja wymaga restartów Aplikacja wymaga czyszczenia dysku (rolowanie logów) Skomplikowany start/restart Trudna konfiguracja

Health Check Strona z syntetyczną prezentacją stanu systemu Self testy

Test Harnes Przy testowaniu (manualnym) testujemy nie tylko “heapy path” Staramy się dociekliwi, nieprzewidywalni, po prostu wredni Testy automatyczne nie zatąpią testerów Np. wyjmowanie kabelkow sieciowych to wcale nie taki zły pomysł. złośliwe generowanie dużych zwrotów czy psucie danych może być trudne do uzyskania w normalnym trybie testowania

Kto za to zapłaci? Budując “proof of concept” systemu musimy zbudować go tanio – to tylko makieta Żaden działający komercyjny duży system nie był pisany jako duży system… R 1.0 to poczatek życia systemu (a nie koniec) Nie można dodać wszystkiego na raz, ale to nie znaczy że można nie dodawać wcale Różnica między stanem obecnym a docelowym to … dług techniczny

Z drugiej strony? Często jest tak ze decyzje podjete na poczatku determinuja kształt (i stabilnosc) Na początku wiemy o systemie najmniej..