Eksplorowanie architektury metodyki DevOps

Ukończone

Dobrze zaprojektowana architektura przypomina autostradę, która może szybko dostarczać wartość biznesową użytkownikowi końcowemu. Kiedy to nie jest zrobione dobrze, to jak wyprany most blokujący cię z końcowych celów.

Wprowadzenie do architektury oprogramowania

Długoterminowa rentowność każdej architektury wymaga, aby jej projekt, implementacja, uaktualnienie i nieuniknione zmiany zakończyły się powodzeniem.

Architektura jest abstrakcyjna do czasu operacjonalizacji, gdy staje się istotą żywą.

William LeMessurier, jeden z najbardziej wyróżniających się architektów strukturalnych Stany Zjednoczone, służył jako konsultant projektowy i budowlany na innowacyjnej wieży siedziby Citicorp w Nowym Jorku. Wieża została ukończona w 1977 roku. W następnym roku, po student z Princeton studiujący projekt wieży wezwał go do wskazania możliwego niedoboru, LeMessurier odkrył, że budynek rzeczywiście jest strukturalnie niedobór.

Budynek nie byłby w stanie wytrzymać 70 mil na godzinę wiatrów - które według tabel pogodowych wystąpiłyby co najmniej raz na 55 lat w Nowym Jorku. W takiej sytuacji stawy zawiodą się, a budynek upadłby, począwszy od 13 piętra. Wieża była w pełni zajęta w tym czasie. LeMessurier musiał złamać wiadomości do właścicieli i urzędników miejskich.

LeMessurier zmagał się ze złożonym i trudnym problemem odpowiedzialności zawodowej. Musiał zaalarmować szeroką grupę ludzi do niedoboru strukturalnego i zarejestrować swoją współpracę w naprawie niedoboru, zanim huragan sprowadził budynek w dół.

Tego lata huragan Ella pojechał w kierunku miasta. Budynek został zabezpieczony. Wieża Citicorp stała solidnie od tego czasu.

Ważne

Architektura oprogramowania polega na podejmowaniu podstawowych wyborów strukturalnych, które są kosztowne do zmiany po wdrożeniu.

Jego cechy obejmują:

  • Osoby biorące udział w projekcie, które mogą obejmować osoby biorące udział w projekcie biznesowym, zespoły ds. aplikacji, zespoły QA, operacje, zabezpieczenia i użytkowników.
  • Rozdzielenie problemów: aby zmniejszyć złożoność, należy oddzielić obawy, które napędzają projekt.
  • Atrybuty oparte na jakości: w tym skalowalność, rozszerzalność, niezawodność, łatwość konserwacji i zabezpieczenia.
  • Integralność koncepcyjna: architektura oprogramowania reprezentuje ogólną wizję tego, co powinna zrobić i jak powinna ona obsługiwać architekturę, dane i integralność procesów.
  • Ograniczenia poznawcze: organizacje są ograniczone do tworzenia projektów, które są kopiami ich struktur komunikacyjnych.
  • Style cykliczne: dyscyplina architektury oprogramowania wymaga opracowania standardowych sposobów rozwiązywania powtarzających się problemów.

Wszystkie adresy architektury "-ilities":

  • możliwość inspekcji
  • availability
  • Zgodności
  • możliwość komponowania
  • Konfiguracji
  • Dostępności
  • Adaptacji
  • Przystępność
  • Dostosowywania
  • demonstrability
  • możliwość wdrażania
  • Trwałość
  • Użyteczność
  • Rozszerzalności
  • Elastyczność
  • Interoperacyjności
  • Zarządzania
  • Przenoszenia
  • Przewidywalność
  • Odzyskanie
  • niezawodność
  • powtarzalność
  • możliwość ponownego zastosowania
  • Skalowalność
  • Serwisowanie
  • Towarzyskość
  • Prostota
  • możliwość testowania
  • zrównoważony rozwój
  • Identyfikowalność
  • Odtwarzalności

Podczas tworzenia oprogramowania architekci muszą określić najważniejsze z tych "-nieczytelności". Jednak wiele z tych czynników sprzeciwia się sobie nawzajem.

Na przykład osiągnięcie wysokiej wydajności i ekstremalnej skalowalności może być trudne, ponieważ wymaga starannej równowagi architektury, operacji i wielu innych czynników.

Ten proces podejmowania decyzji jest aktem równoważenia; równoważenie zalet i wad każdej decyzji architektonicznej prowadzi do kompromisów tak często ubolewanych przez architektów.

W ciągu ostatnich kilku lat przyrostowe zmiany w podstawowych praktykach inżynieryjnych w zakresie tworzenia oprogramowania położyły podstawę do ponownego przemyślenia zmian architektury w czasie oraz ochrony ważnych cech architektury w miarę rozwoju tej ewolucji.

Architektura metodyki DevOps

Gene Kim jest znanym badaczem, autorem i wizjonerem DevOps. Identyfikuje trzy elementy, które są wymagane do wykonania metodyki DevOps:

"Jednym z nich jest składnik kulturowy. Z pewnością drugą częścią jest narzędzia i technologia. Trzecia część to architektura. Potrzebujesz doskonałych rozwiązań technologicznych, które obejmują automatyzację. Potrzebna jest kultura o wysokim zaufaniu. I jest to architektura , która pozwala dostać się tam."

Badania przedstawione w książce Accelerate nie pokazują korelacji oznaczania między typem systemu a wydajnością dostarczania dla wielu typów systemów, w tym nowych systemów, systemów rekordów, spakowanego oprogramowania komercyjnego, oprogramowania mainframe i oprogramowania osadzonego. Co jest ważne, to możliwość wdrażania i możliwości testowania.

Napiwek

Dobra architektura ułatwia wdrażanie i testowanie.

Architektura i organizacja

Prawo Conwaya nosi nazwę programisty komputerowego Melvina Conwaya, który wprowadził pomysł w 1967 roku. Potwierdza, że na projekt systemu wpływają struktury komunikacyjne organizacji, które projektują systemy:

Ważne

Prawo Conway: Każda organizacja, która projektuje system (zdefiniowany szeroko), utworzy projekt, którego struktura jest kopią struktury komunikacji organizacji.

Prawo opiera się na rozumowaniu, że aby moduł oprogramowania działał, wielu autorów musi komunikować się często ze sobą.

W związku z tym struktura interfejsu oprogramowania systemu będzie odzwierciedlać granice społeczne organizacji, które je wyprodukowały, przez które komunikacja jest trudniejsza.

Tworzenie architektury umiejętności w usłudze DevOps w przedsiębiorstwie

Architekci rozwijają i udoskonalają szeroką gamę umiejętności, takich jak:

  • myślenie o dużym obrazie
  • myślenie o systemach
  • wiedza biznesowa
  • umiejętności społeczne
  • wpływanie na umiejętności przywódcze i
  • zrozumienie architektury technicznej
  • Doświadczenie w zarządzaniu finansami IT
  • zarządzanie czasem
  • ekspozycja na struktury Architektury przedsiębiorstwa (EA)
  • możliwość wyjaśnienia działu IT kadry kierowniczej
  • umiejętności prezentacji
  • umiejętności trenerskie
  • informacje o architekturze danych i operacjach IT

Ważne

Ale jaka jest najważniejsza umiejętność 21 wieku sukcesu?

Gotowość i zdolność do nauki.