Читать книгу Wzorce Cloud Native - Cornelia Davies - Страница 7

wstęp

Оглавление

Zaczęłam moją karierę od przetwarzania obrazów. Pracowałam w Dziale Systemów Rakietowych w Hughes Aircraft nad obrazami w podczerwieni, robiąc takie rzeczy jak wykrywanie krawędzi i korelacja klatka-do-klatki (niektóre z tych rzeczy znajdziesz w wielu aplikacjach na swojej komórce – to wszystko działo się w latach osiemdziesiątych!).

Jednym z obliczeń, które wykonujemy często w przetwarzaniu obrazów, jest odchylenie standardowe. Nigdy nie byłam specjalnie wstydliwa w kwestii zadawania pytań, a jedno, które zadawałam bardzo wcześnie w tych swoich początkowych dniach pracy, było związane z odchyleniem standardowym. Niezmiennie kolega zapisywał następujące równanie:


Ale przecież znałam wzór na odchylenie standardowe – po trzech miesiącach pracy zaprogramowałam je pewnie z pół tuzina razy. Tak naprawdę pytałam: „Co znajomość odchylenia standardowego mówi nam w tym kontekście?” Odchylenie standardowe wykorzystuje się do definiowania, co jest „normalne”, byśmy mogli spojrzeć na odstające wartości. Jeśli liczę odchylenie standardowe, a następnie znajduję rzeczy poza normą, to czy jest to znak, że mój czujnik mógł nie działać poprawnie i muszę wyrzucić ramkę obrazu, czy może ujawnia to potencjalne akcje wroga?

Co to ma wspólnego z cloud-native? Nic. Za to wszystko z wzorcami. Widzisz, ja znałam wzorzec – równanie odchylenia standardowego – ale z powodu mojego braku doświadczenia w tamtym czasie miałam problem z tym, kiedy i jak je stosować.

W tej książce nauczę cię wzorców dla aplikacji cloud-native i tak, pokażę ci wiele „równań”, ale spędzę dużo więcej czasu nad kontekstem – tym, kiedy i dlaczego aplikować te wzorce. Tak naprawdę wzorce ogólnie nie są tak trudne (np. powtarzanie żądań, opisywane w rozdziale 9, jest prostym konceptem, łatwym do implementacji). Ale wybór tego, kiedy zastosować wzorzec i jak dokładnie to zrobić – to już bywa podchwytliwe. Jest tak wiele rzeczy do zrozumienia o kontekście, w którym będziesz aplikować te wzorce, i, szczerze mówiąc, ten kompleks może być złożony.

Czym jest zatem ten kontekst? Zasadniczo to kontekst systemów rozproszonych. Kiedy rozpoczęłam moją karierę ponad trzydzieści lat temu, nie znałam wielu osób, które pracowały nad systemami rozproszonymi, i nie wybrałam na studiach przedmiotu o systemach rozproszonych. Tak, ludzie pracowali w tym obszarze, ale, prawdę mówiąc, był on dosyć niszowy.

Dzisiaj większość oprogramowania jest systemem rozproszonym. Niektóre części twojego oprogramowania działają w przeglądarce, a inne na serwerze lub, pozwolę sobie powiedzieć, całym mnóstwie serwerów. Te serwery mogą działać w twojej firmowej serwerowni albo w ciemnym centrum danych w Prineville w Oregonie, albo w obu miejscach. Ostatecznie wszystkie te części komunikują się po sieci, prawdopodobnie internetowej, a jest duża szansa, że twoje dane także są rozproszone. Mówiąc prosto, oprogramowanie cloud-native jest systemem rozproszonym. Dodatkowo rzeczy są w nieustannym stanie zmiany – serwery, na których pracujesz, są przenoszone, sieci mają częste awarie, nawet jeśli krótkie, a pamięci dyskowe mogą się wywrócić do góry brzuchem bez ostrzeżenia – mimo to od twojego oprogramowania oczekuje się poprawnego działania. To dosyć trudna sytuacja.

Lecz jest całkowicie możliwa do kontroli! Moim zadaniem w tej książce jest pomóc ci zrozumieć ten kontekst i dostarczyć narzędzi, abyś mógł zostać skutecznym architektem i programistą oprogramowania cloud-native.

Nigdy jeszcze nie byłam tak intelektualnie pobudzona jak teraz. To w dużej mierze dlatego, że krajobraz technologiczny zmienia się w znaczący sposób, a cloud-native jest w samym środku tego procesu. Absolutnie kocham to, czym zarabiam na życie, i nie chcę niczego więcej ponad to, by każdy, szczególnie ty, czerpał przyjemność z pisania oprogramowania tak jak ja. I dlatego napisałam tę książkę: chcę podzielić się z tobą fantastycznymi problemami, nad którymi pracujemy jako branża, i pomóc ci w drodze do umiejętności ich rozwiązywania. Jestem zaszczycona, że mam możliwość odegrania nawet małej roli w twoim locie do chmury.

Wzorce Cloud Native

Подняться наверх