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

1.1.5. Kierowane danymi (data-driven)

Оглавление

Rozważanie kilku z wymagań, które zaprezentowałam do teraz, skłania do myślenia o danych w sposób bardziej holistyczny. Objętości danych rosną, ich źródła stają się coraz bardziej rozproszone, a cykle dostarczania oprogramowania – coraz krótsze. W połączeniu te trzy czynniki sprawiają, że duża, scentralizowana i współdzielona baza danych staje się nieużywalna.

Na przykład: silnik odrzutowy z setką czujników jest często odłączony od centrów danych zawierających takie bazy danych, a ograniczenia przepustowości nie pozwolą na transmisję wszystkich danych w krótkich oknach, kiedy łączność jest ustanawiana. Co więcej, współdzielone bazy danych wymagają dużej dozy procesów i koordynacji między wieloma aplikacjami, żeby zracjonalizować zróżnicowane modele danych i scenariusze integracji, co jest znaczącym utrudnieniem dla skróconych cyklów wydawniczych oprogramowania.

Zamiast jednej, współdzielonej bazy danych, te ograniczenia wymagają sieci mniejszych, lokalnych baz danych i oprogramowania, która zarządza zależnościami danych w tej federacji systemów zarządzania danymi. Te nowe podejścia kierują potrzebę zwinnego tworzenia oprogramowania i zarządzania wprost do warstwy danych.

Ostatecznie wszystkie te nowo dostępne dane mają niewielką wartość, jeśli nie są używane. Dzisiejsze aplikacje są coraz częściej zmuszone do używania danych, by dostarczać większą wartość do klienta przez ich efektywniejsze zastosowania. Na przykład aplikacje map wykorzystują dane GPS z połączonych samochodów i urządzeń mobilnych w zestawie z informacjami drogowymi i danymi o terenie, aby dostarczyć raporty o ruchu drogowym w czasie rzeczywistym i pomóc w wyszukiwaniu trasy. Aplikacje z przeszłych dekad, które implementowały pieczołowicie zaprojektowane algorytmy, ostrożnie dostosowywane do oczekiwanych scenariuszy użycia, są teraz zastępowane przez aplikacje, które są ciągle zmieniane lub nawet mogą same dostosowywać swoje wewnętrzne algorytmy i konfiguracje.

Te wymagania użytkownika – ciągła dostępność, ciągła ewolucja z częstymi wydaniami, łatwa skalowalność i inteligencja – nie mogą być zaspokojone z designem oprogramowania i systemami zarządzania z przeszłości. Ale co charakteryzuje oprogramowanie, które może sprostać tym wymaganiom?

Wzorce Cloud Native

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