Liderzy opinii

Czy Twoja baza danych będzie gotowa, jeśli prędkość rozwoju zwiększy się o rząd wielkości?

mm
Dodaj Unite.AI do preferowanych ÅšrÃģdeł w Google

Narzędzia wspomagane przez sztuczną inteligencję zwiększyły prędkość i zmniejszyły koszt tworzenia kodu. Jednak liderzy biznesu zadają sobie pytanie, dlaczego ta wydajność nie przekłada się na lepszą innowacyjność i szybszy czas wprowadzania na rynek. Zamiast przyspieszać całego cyklu dostarczania, ten wzrost prędkości tylko ujawnił słabość istniejących procesÃģw zmiany bazy danych.

Przez ostatnią dekadę odpowiedÅš na pytanie “jak moÅžemy ruszyć szybciej?” była budowaniem lepszych potokÃģw, inwestowaniem w CI/CD i przesunięciem testowania w lewo. Inwestycje te przyniosły efekty – kod aplikacji porusza się w imponującym tempie w dojrzałych organizacjach inÅžynierskich. Niemniej, te zyski nie były odczuwalne rÃģwnomiernie w całej stosie technologicznej. Baza danych była często traktowana jako wyjątek; chroniony aktyw wymagający innego standardu opieki, wolniejszych procesÃģw i ręcznej kontroli. Były dobre powody, dla ktÃģrych ten wzorzec się rozwinął, poniewaÅž bazy danych zawierają dane, na ktÃģrych opiera się działalność biznesowa, a błędy mogą być katastrofalne. ChociaÅž ostroÅžność kiedyś wydawała się uzasadniona, koszt tej ostroÅžności uległ zmianie. Poprzez zwiększanie presji na administratorÃģw baz danych i zespoły operacyjne, aby wprowadzali zmiany w bazie danych w tym samym tempie, w jakim deweloperzy mogą teraz pisać kod, dysproporcja w stosie stała się zaporą. Te zespoły nie mogą nadÄ…Åžyć, a zmiany w bazie danych zabijają teraz przewagę szybkości zapewnianą przez narzędzia wspomagane przez sztuczną inteligencję. Rozwiązanie jednego ograniczenia – czasu potrzebnego do napisania kodu – tylko podkreśliło następne gardło ładowania w procesie. To jest myślenie systemowe w praktyce, a wynikające z tego tarcie staje się coraz bardziej bolesne dla przedsiębiorstwa.

Prędkość i kontrola nie są przeciwieństwami. Ale sposÃģb, w jaki większość organizacji zarządza zmianą bazy danych, traktuje je tak, jakby były.

Tradycyjny model zarządzania bazą danych został zaprojektowany dla świata wydań kwartalnych. Åŧądania zmian, komitety zatwierdzające, cykle przeglądu ręcznego, plany wycofania napisane z wyprzedzeniem przed wdroÅženiami, ktÃģre miały miejsce cztery razy w roku. Nic z tego nie jest z natury złe. Było to zarządzanie ryzykiem, ktÃģre rosło wraz z czasem dostępnym między wdroÅženiami. Problem polega na tym, Åže częstotliwość wdroÅžeń uległa zmianie, a dla większości organizacji podejście do zarządzania nie nadÄ…Åžyło. Zespoły są zobowiązane do ciągłego dostarczania, ale nadal kierują zmiany w bazie danych przez procesy opracowane dla innej ery. Wynikiem nie jest bezpieczeństwo. Wynikiem są tarcie, obejścia i rosnąca klasa “małych” zmian w bazie danych, ktÃģre omijają zarządzanie całkowicie, poniewaÅž formalny proces jest zbyt wolny, aby był praktyczny.

To jest miejsce, w ktÃģrym mieszka prawdziwe ryzyko.

Gdy zarządzanie jest zbyt wolne, aby było uÅžywane, ludzie przestają z niego korzystać. Zmiany schematu są stosowane bezpośrednio w produkcji. Poprawki są wypuszczane bez kontroli wersji, a z dobrymi intencjami, aby je poprawnie wdroÅžyć z następnym formalnym wydaniem, ale to nie następuje, poniewaÅž ludzie są zajęci. Ręczne kroki, ktÃģre miały być siatką bezpieczeństwa, stają się tym, czego ludzie szukają, gdy są pod presją. A presja, w dostawie oprogramowania, jest stanem domyślnym.

OdpowiedÅš nie polega na spowolnieniu potoku. Polega na przeniesieniu zarządzania do jego wnętrza.

Organizacje, ktÃģre rozwiązały ten problem, nie zrobiły tego, relaksując swoje standardy. Wykonały trudniejszą pracę, czyniąc zarządzanie wystarczająco szybkim, aby było najkrÃģtszą drogą. Zmiany schematu z kontrolą wersji, automatyczne wykrywanie dryfu, deterministyczne kontrole polityki wbudowane w potok CI/CD zamiast stosowane jako brama na końcu. Podczas gdy narzędzia napędzane przez sztuczną inteligencję są probabilistyczne – oferują sugestie na podstawie wzorcÃģw – zarządzanie musi pozostać deterministyczne, aby być skuteczne. Poprzez korzystanie z przewidywalnych i powtarzalnych kontroli, zapewniasz, Åže kaÅžda zmiana jest audytowalna i spełnia standardy bezpieczeństwa przed tym, jak kiedykolwiek osiągnie produkcję. Zatwierdzenie nadal występuje. Ślad audytowy nadal istnieje. Ale występuje w tym samym przepływie, co wszystko inne, a nie jako oddzielny, wolniejszy proces, ktÃģry znajduje się poza nim.

To ma znaczenie z powodu, ktÃģry wykracza poza produktywność deweloperÃģw. Wymagania dotyczące zgodności nie stają się lÅžejsze. Połączenie GDPR, DORA (Unijnej ustawy o operacyjnej odporności cyfrowej) i rosnącego zakresu przepisÃģw sektorowych oznacza, Åže zarządzanie bazą danych staje się coraz bardziej kwestią prawną i regulacyjną, a nie tylko operacyjną. Organizacje, ktÃģre nie mogą wykazać śladu audytowego, historycznego zmiany bazy danych, są naraÅžone na sposoby, ktÃģre stają się materialne. Argumentem za wbudowaniem zarządzania w potok jest nie tylko to, Åže przyspiesza dostawę. To to, co sprawia, Åže zgodność jest śladowalna w skali.

Sztuczna inteligencja zwiększa pilność.

Obecna fala rozwoju wspomaganego przez sztuczną inteligencję sprawia, Åže ten problem staje się bardziej palący, a nie mniej. Gdy deweloperzy mogą generować i iterować kod aplikacji o rząd wielkości szybciej niÅž wcześniej, baza danych staje się bardziej oczywistą wąskim gardłem w stosunku do wszystkiego, co ją otacza. Ale jest efekt drugiego rzędu, ktÃģry jest mniej szeroko dyskutowany. Narzędzia wspomagane przez sztuczną inteligencję są bardzo dobre w generowaniu logiki aplikacji. Są mniej dobre w zrozumieniu długoterminowych konsekwencji zmian schematu w złoÅžonej, produkcyjnej bazie danych. Połączenie szybkości rozwoju aplikacji i sugestii schematu generowanych przez sztuczną inteligencję bez dojrzałego zarządzania jest właśnie rodzajem presji, ktÃģry powoduje incydenty. Prędkość bez strukturalnych barier tworzy warunki, w ktÃģrych błędy mogą wystąpić szybciej.

Organizacje, ktÃģre będą radzić sobie z tym dobrze, są tymi, ktÃģre traktują zarządzanie bazą danych jako pierwszorzędne zagadnienie inÅžynierskie, a nie myślą o tym jako o pomyśle zgodności. To oznacza, Åže kontrola wersji schematu bazy danych jest niepodwaÅžalną domyślną wartością, a automatyczne testowanie zajmuje się rutynowymi sprawdzaniem, tak aby ręczna kontrola mogła się skupić na zmianach o wysokim ryzyku i wysokiej ocenie, a nie stawać się pÃģÅšnym gardłem. W końcu oznacza to wykrywanie dryfu, ktÃģre identyfikuje rozbieÅžność przed wystąpieniem incydentu.

Większość przedsiębiorstw utrudnia to bardziej, niÅž powinna.

Istnieje rzeczywistość, ktÃģra wspÃģłwystępuje z większością tych obserwacji. Większość przedsiębiorstw baz danych nie jest nowo utworzona. Reprezentują one dziesięciolecia nagromadzonych zmian schematu, działających na wielu platformach systemu zarządzania bazą danych, niektÃģre z nich są lokalne, a niektÃģre w chmurze, z rÃģÅžnymi stopniami dokumentacji i wiedzy plemiennej rozproszonej w zespołach, ktÃģre wielokrotnie się zmieniały. Dyskusja na temat modernizacji często zakłada czysty punkt wyjścia, ktÃģrego większość organizacji nie posiada. To jest miejsce, w ktÃģrym wyzwanie jest naprawdę najbardziej ostre i często utrudnia postęp. NiezaleÅžnie od tego, czy celem jest wspieranie innowacji, oczyszczanie i migracja danych do sztucznej inteligencji czy poprawa operacyjnej wytrzymałości; wszystko sprowadza się do tych samych rzeczy. Pytanie nie brzmi, jak zbudować idealną praktykę DevOps dla bazy danych na nowym systemie. Pytanie brzmi, jak wprowadzić znaczące zarządzanie na złoÅžonej, dziedziczonej bazie danych bez zatrzymywania działalności biznesowej podczas tego procesu.

Stopniowe, wbudowane w potok zarządzanie jest jedyną praktyczną odpowiedzią na to pytanie. Nie musisz ponownie platformować całej bazy danych, zanim będziesz mÃģgł poprawić swoje praktyki zarządzania zmianą. Nowoczesne narzędzia, takie jak Redgate Flyway, istnieją, aby złagodzić bariery związane z bazą danych i zacząć od zmian, ktÃģre są wprowadzane dzisiaj, w potokach, ktÃģre juÅž istnieją, i budować od tego.

Organizacje, ktÃģre wygrają w wzroście w ciągu najbliÅžszych pięciu lat, nie będą tymi, ktÃģre mają najczystsze bazy danych. Będą to te, ktÃģre rozwiązały problem, jak uczynić zmianę godną zaufania, w tempie, jakiego wymaga biznes, w bazie danych, ktÃģrą naprawdę posiadają.

To jest problem, ktÃģrego rozwiązanie jest warte. I jest on rozwiązywalny.

Graham jest Dyrektorem Technicznym w firmie Redgate Software, gdzie kieruje zespołami odpowiedzialnymi za przodujące w branÅžy narzędzia Database DevOps. Przed dołączeniem do Redgate, Graham miał doświadczenie w wielu firmach, w tym Elsevier, IBM, Sun, BEA i Oracle, gdzie przez wiele dekad uczestniczył w złoÅžonych projektach i sprawował nadzÃģr nad kierownictwem. Graham jest rÃģwnieÅž Åžeglarzem, ktÃģry brał udział w wyścigu Clipper Round the World w latach 2007-08 i 2013.