Infrastructure as Code
Cloud 3 czerwca 2021 <1 minuta czytania

Infrastructure as Code

Praca na komputerze to czasem żmudne i powtarzalne czynności – wykonywane w różnych aplikacjach: czy to w przeglądarce internetowej, pakiecie biurowym czy też specjalizowanym programie. Programiści od dawien dawna próbowali tworzyć rozwiązania wyręczające w tym człowieka. W obecnych czasach jest to często możliwe w prosty sposób, dzięki API – czyli standardowi w którym jedna aplikacja może korzystać z innej, bez pośrednictwa człowieka, o którym pisaliśmy tu Jednak to był dopiero wstęp do dalszego rozwoju technologii automatyzacji. W jaki sposób przełożyło się to na filozofię „agile” i co ma software wspólnego z placem budowy?

 

Programy sterują programami

Naturalnie obszarem gdzie świadomość zalet API jest największa są szeroko pojęte usługi dla programistów i administratorów, a w szczególności Cloud typu IaaS czy PaaS, w którym można uruchamiać własne aplikacje. W związku z tym, często takie usługi udostępniają swoje API. Mamy wtedy sytuację, kiedy za pomocą jednej aplikacji (np. własnego skryptu) możemy sterować pośrednio środowiskiem innej aplikacji (np. sklepu internetowego uruchamianego na chmurze).–Może to być przydatne na różnych etapach życia aplikacji „sterowanej”. Instalowanie i uruchamianie (wersji testowej albo produkcyjnej), zwiększanie albo zmniejszanie ilości zasobów (aby podążać za aktualnym zapotrzebowaniem), kopie zapasowe i naprawianie awarii, czy w reszcie deinstalacja i wyczyszczenie środowiska – to przykłady  czynności, które aż proszą się o zautomatyzowanie. Idą za tym dodatkowe korzyści – jeśli na przykład instalacja nowej wersji serwisu internetowego nie wymaga ręcznej interwencji, to można niewielkim wysiłkiem uruchamiać i sprawdzać działanie każdej najmniejszej zmiany. Obecne w świecie software hasło „agile”, oznaczające zwinność, powinno przekładać się nie tylko na sposób organizacji pracy, ale i na warsztat technologiczny pozwalający na szybkie wprowadzanie zmian, a to możliwe jest dopiero przy pewnym poziomie automatyzacji.

 

Jak już zostało wspomniane w poprzednim artykule „lenistwo jest cnotą programisty”, trudno więc wymagać, aby do każdej aplikacji powstawał pisany od zera zestaw skryptów obsługujący jej cykl życia. To po prostu oznaczałoby zbyt wiele powtarzalnej pracy, nawet jeśli pracą tą jest programowanie. Z jednej strony z pomocą przychodzą dostawcy usług cloudowych. W miarę rozwoju swojej oferty proponują oni poszczególne ze wspomnianych elementów wymagających automatyzacji jako gotowe usługi swojej platformy, jak na przykład automatyczne kopie zapasowe. Z drugiej zaś strony, tworzone są uniwersalne narzędzia potrafiące obsłużyć API chmur od różnych dostawców. Powstają one zarówno jako oddolne inicjatywy Open Source, jak i w formie produktów komercyjnych.

 

Jeden program do wszystkiego

 

Szczególnym przykładem automatyzacji są narzędzia i usługi z kategorii „Infrastructure as Code”. To szwajcarski scyzoryk w świecie chmur typu IaaS i PaaS. Może powołać do życia najróżniejsze elementy składowe, skonfigurować i połączyć w całość, tworząc, jak za dotknięciem magicznej różdżki, gotowe środowisko dla danej aplikacji. Nie ma jednak nic za darmo – za tę wszechstronność trzeba zapłacić pewnym wysiłkiem umysłowym: nie dostajemy gotowego przycisku „uruchom”. Wspomnianą magię trzeba zasilić podając narzędziu opis środowiska, które chcemy finalnie otrzymać. Gdzie więc różnica, w stosunku do pisania własnej aplikacji wykonującej to samo zadanie? Tworzymy opis, a nie procedurę. To podejście nazywane programowaniem deklaratywnym można przyrównać do rozmowy z architektem o tym jak ma wyglądać dom, w porównaniu do wydawania poleceń ekipom budowlanym.

 

Narzędzia typu „Infrastructure as Code”, podobnie jak inne, bywają wbudowaną usługą danej platformy chmurowej jak CloudFormation w AWS czy Heat w ramach OpenStack. Bywają również w formie uniwersalnych narzędzi – w tej kategorii prym wiedzie Terraform, narzędzie Open Source wspierane przez cenioną przez programistów firmę HashiCorp. Pozwala on na zarządzanie najróżniejszymi typami chmur, w tym VMware vCloud Director, co pozwala na automatyczne zarządzanie chmurą Integrated Computing Standard dostarczaną przez Integrated Solutions z Data Center Orange.

Oceń artykuł

Masz pytania? Wypełnij formularz. Nasz zespół ekspertów służy pomocą.

Popularne tagi

Tagi

Mogą Cię również zainteresować

  • Co to jest chmura prywatna i jak działa?

    Co to jest chmura prywatna i jak działa?
    Co to jest chmura prywatna i jak działa?
    Cloud 14 marca 2023

    Cloud

    Dzisiejsze organizacje potrzebują bezpiecznej i sprawdzonej technologii do przechowywania oraz przetwarzania danych. Powinna być łatwa do wdrożenia i pozwalać na skalowanie wraz ze zmieniającym się zapotrzebowaniem. Z pomocą […]

  • Co to jest chmura publiczna i jak działa?

    Co to jest chmura publiczna i jak działa?
    Co to jest chmura publiczna i jak działa?
    Cloud 7 marca 2023

    Cloud

    Chmury obliczeniowe rozwiązują wiele problemów związanych z wydajnością działającego w firmie systemu informatycznego. Pomagają wykorzystać najnowocześniejsze technologie i osiągnąć wysokie zyski bez ponoszenia kosztów. […]

  • Co to jest IaaS? Czym jest chmura elastyczna i jakie ma zalety?

    Co to jest IaaS? Czym jest chmura elastyczna i jakie ma zalety?
    Co to jest IaaS? Czym jest chmura elastyczna i jakie ma zalety?
    Cloud 21 lutego 2023

    Cloud

    IaaS (Infrastructure as a Service) to nowoczesny sposób wykorzystania usług chmurowych do zapewnienia infrastruktury IT oferowanej użytkownikowi końcowemu przez zewnętrznego dostawcę. Dowiedz się, jakie zalety […]

  • SECaaS – co oznacza Security as a Service?

    SECaaS – co oznacza Security as a Service?
    SECaaS – co oznacza Security as a Service?
    Cloud 16 listopada 2022

    Cloud

    Coraz więcej firm zdaje sobie sprawę z korzyści, jakie zapewnia chmura. Wybierając rozwiązania typu cloud computing, można usprawnić wiele kluczowych procesów […]