{"id":5075,"date":"2022-06-03T08:46:00","date_gmt":"2022-06-03T06:46:00","guid":{"rendered":"https:\/\/www.orange.pl\/poradnik-dla-firm\/?p=5075"},"modified":"2025-11-25T12:27:56","modified_gmt":"2025-11-25T11:27:56","slug":"infrastructure-as-code","status":"publish","type":"post","link":"https:\/\/www.orange.pl\/poradnik-dla-firm\/chmura\/infrastructure-as-code\/","title":{"rendered":"Infrastructure as Code, czyli szeroka automatyzacja proces\u00f3w IT"},"content":{"rendered":"<p><strong>Praca na komputerze to czasem \u017cmudne i powtarzalne czynno\u015bci wykonywane w r\u00f3\u017cnych aplikacjach. Programi\u015bci od dawna pr\u00f3bowali tworzy\u0107 rozwi\u0105zania wyr\u0119czaj\u0105ce w tym cz\u0142owieka. Obecnie jest to mo\u017cliwe dzi\u0119ki API, standardowi, w kt\u00f3rym <\/strong><a href=\"https:\/\/www.orange.pl\/poradnik-dla-firm\/cloud\/application-programming-interface\/\"><strong>jedna aplikacja mo\u017ce korzysta\u0107 z innej<\/strong><\/a><strong>. Jednak to by\u0142 dopiero wst\u0119p do dalszej automatyzacji IT. Jego rozwini\u0119ciem jest Infrastructure as Code (IaC).<\/strong><\/p>\n<h2><strong>Podstawy automatyzacji IT: gdy programy steruj\u0105 programami<\/strong><\/h2>\n<p>Naturalnie obszarem, gdzie \u015bwiadomo\u015b\u0107 zalet API jest najwi\u0119ksza, s\u0105 szeroko poj\u0119te us\u0142ugi dla programist\u00f3w i administrator\u00f3w. A w szczeg\u00f3lno\u015bci: us\u0142ugi cloud (chmurowe) typu IaaS czy PaaS, w kt\u00f3rych mo\u017cna uruchamia\u0107 w\u0142asne aplikacje. W zwi\u0105zku z tym cz\u0119sto takie us\u0142ugi udost\u0119pniaj\u0105 swoje API. Mamy wtedy sytuacj\u0119, <strong>kiedy za pomoc\u0105 jednej aplikacji (np. w\u0142asnego skryptu) mo\u017cemy sterowa\u0107 po\u015brednio \u015brodowiskiem innej aplikacji (np. sklepu internetowego uruchamianego na chmurze)<\/strong>. I tu ju\u017c zaczyna si\u0119 zauwa\u017calnie odci\u0105\u017caj\u0105ca automatyzacja proces\u00f3w IT.<\/p>\n<p>Taka automatyzacja IT mo\u017ce by\u0107 przydatna na r\u00f3\u017cnych etapach \u017cycia aplikacji \u201esterowanej\u201d. Instalowanie i uruchamianie (wersji testowej albo produkcyjnej), zwi\u0119kszanie albo zmniejszanie ilo\u015bci zasob\u00f3w (aby pod\u0105\u017ca\u0107 za aktualnym zapotrzebowaniem), kopie zapasowe i naprawianie awarii, czy w reszcie deinstalacja i wyczyszczenie \u015brodowiska \u2013 to przyk\u0142ady proces\u00f3w IT, kt\u00f3re a\u017c prosz\u0105 si\u0119 o automatyzacj\u0119.<\/p>\n<p>Id\u0105 za tym dodatkowe korzy\u015bci \u2013 je\u015bli na przyk\u0142ad instalacja nowej wersji serwisu internetowego nie wymaga r\u0119cznej interwencji, to mo\u017cna niewielkim wysi\u0142kiem uruchamia\u0107 i sprawdza\u0107 dzia\u0142anie ka\u017cdej najmniejszej zmiany.<\/p>\n<h2><strong>Podej\u015bcie agile w \u015bwiecie kod\u00f3w<\/strong><\/h2>\n<p>Obecne w \u015bwiecie software <strong>podej\u015bcie agile, kt\u00f3re opiera si\u0119 na elastyczno\u015bci (zwinno\u015bci) w realizacji projekt\u00f3w, powinno przek\u0142ada\u0107 si\u0119 nie tylko na spos\u00f3b organizacji pracy<\/strong>. Metodologia ta powinna dotyczy\u0107 te\u017c warsztatu technologicznego pozwalaj\u0105cego na szybkie wprowadzanie zmian. A to mo\u017cliwe jest dopiero przy pewnym poziomie automatyzacji proces\u00f3w IT.<\/p>\n<p>Jak wspomnieli\u015bmy w artykule o API, lenistwo jest cnot\u0105 programisty. Trudno wi\u0119c wymaga\u0107, aby do ka\u017cdej aplikacji powstawa\u0142 pisany od zera zestaw skrypt\u00f3w obs\u0142uguj\u0105cy jej cykl \u017cycia. To po prostu oznacza\u0142oby zbyt wiele powtarzalnej pracy, nawet je\u015bli prac\u0105 t\u0105 jest programowanie.<\/p>\n<p>Z jednej strony z pomoc\u0105 przychodz\u0105 dostawcy us\u0142ug chmurowych. W miar\u0119 rozwoju swojej oferty proponuj\u0105 oni poszczeg\u00f3lne ze wspomnianych element\u00f3w wymagaj\u0105cych automatyzacji jako gotowe us\u0142ugi swojej platformy, jak na przyk\u0142ad automatyczne kopie zapasowe. Z drugiej za\u015b strony, tworzone s\u0105 uniwersalne narz\u0119dzia potrafi\u0105ce obs\u0142u\u017cy\u0107 API us\u0142ug cloud od r\u00f3\u017cnych dostawc\u00f3w. Powstaj\u0105 one zar\u00f3wno jako oddolne inicjatywy Open Source, jak i w formie produkt\u00f3w komercyjnych.<\/p>\n<h2><strong>IaC, czyli jeden program do wszystkiego<\/strong><\/h2>\n<p>Szczeg\u00f3lnym przyk\u0142adem automatyzacji w IT s\u0105 narz\u0119dzia i us\u0142ugi z kategorii Infrastructure as Code (IaC), z ang. \u201einfrastruktura jako kod\u201d. IaC to szwajcarski scyzoryk w \u015bwiecie chmur typu IaaS i PaaS. Mo\u017ce powo\u0142a\u0107 do \u017cycia najr\u00f3\u017cniejsze elementy sk\u0142adowe, skonfigurowa\u0107 i po\u0142\u0105czy\u0107 w ca\u0142o\u015b\u0107, tworz\u0105c, jak za dotkni\u0119ciem magicznej r\u00f3\u017cd\u017cki, gotowe \u015brodowisko dla danej aplikacji.<\/p>\n<p>Nie ma jednak nic za darmo \u2013 za t\u0119 wszechstronno\u015b\u0107 trzeba zap\u0142aci\u0107 pewnym wysi\u0142kiem umys\u0142owym: nie dostajemy gotowego przycisku \u201euruchom\u201d. Wspomnian\u0105 magi\u0119 Infrastructure as a Code trzeba zasili\u0107, podaj\u0105c narz\u0119dziu opis \u015brodowiska, kt\u00f3re chcemy finalnie otrzyma\u0107.<\/p>\n<h2><strong>IaC a programowanie deklaratywne<\/strong><\/h2>\n<p>Gdzie wi\u0119c r\u00f3\u017cnica, w stosunku do pisania w\u0142asnej aplikacji wykonuj\u0105cej to samo zadanie? <strong>Tworzymy opis, a nie procedur\u0119.<\/strong> To podej\u015bcie nazywane programowaniem deklaratywnym mo\u017cna przyr\u00f3wna\u0107 do rozmowy z architektem o tym, jak ma wygl\u0105da\u0107 dom, w por\u00f3wnaniu do wydawania polece\u0144 ekipom budowlanym. Przeciwie\u0144stwem programowania deklaratywnego jest imperatywne, w przypadku, kt\u00f3rego trzeba wskaza\u0107 komputerowi krok po kroku, co ma robi\u0107, a nie tylko wskaza\u0107 oczekiwany efekt i jego cel.<\/p>\n<p>Narz\u0119dzia typu Infrastructure as Code, podobnie jak inne, <strong>bywaj\u0105 wbudowan\u0105 us\u0142ug\u0105 danej platformy chmurowej <\/strong>jak CloudFormation w AWS czy Heat w ramach OpenStack. Rozwi\u0105zania IaC <strong>wyst\u0119puj\u0105 r\u00f3wnie\u017c w formie uniwersalnych narz\u0119dzi<\/strong>.<\/p>\n<p>W tej kategorii prym wiedzie Terraform, narz\u0119dzie Open Source wspierane przez cenion\u0105 przez programist\u00f3w firm\u0119 HashiCorp. Pozwala on na zarz\u0105dzanie najr\u00f3\u017cniejszymi typami us\u0142ug cloud, w tym VMware vCloud Director. Umo\u017cliwia to zautomatyzowan\u0105 obs\u0142ug\u0119 narz\u0119dzi chmurowych Integrated Computing Standard dostarczanych przez Integrated Solutions z Data Center Orange.<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-center kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;center&quot;,&quot;id&quot;:&quot;5075&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;5&quot;,&quot;greet&quot;:&quot;Oce\u0144 artyku\u0142&quot;,&quot;legend&quot;:&quot;&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;Infrastructure as Code, czyli szeroka automatyzacja proces\u00f3w IT&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            <span class=\"kksr-muted\">Oce\u0144 artyku\u0142<\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Praca na komputerze to czasem \u017cmudne i powtarzalne czynno\u015bci wykonywane w r\u00f3\u017cnych aplikacjach. Programi\u015bci od dawna pr\u00f3bowali tworzy\u0107 rozwi\u0105zania wyr\u0119czaj\u0105ce [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":5077,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[158],"tags":[],"class_list":["post-5075","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chmura","areas-duze-firmy","areas-male-i-srednie-firmy"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.orange.pl\/poradnik-dla-firm\/wp-json\/wp\/v2\/posts\/5075","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.orange.pl\/poradnik-dla-firm\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.orange.pl\/poradnik-dla-firm\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.orange.pl\/poradnik-dla-firm\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.orange.pl\/poradnik-dla-firm\/wp-json\/wp\/v2\/comments?post=5075"}],"version-history":[{"count":2,"href":"https:\/\/www.orange.pl\/poradnik-dla-firm\/wp-json\/wp\/v2\/posts\/5075\/revisions"}],"predecessor-version":[{"id":10060,"href":"https:\/\/www.orange.pl\/poradnik-dla-firm\/wp-json\/wp\/v2\/posts\/5075\/revisions\/10060"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.orange.pl\/poradnik-dla-firm\/wp-json\/wp\/v2\/media\/5077"}],"wp:attachment":[{"href":"https:\/\/www.orange.pl\/poradnik-dla-firm\/wp-json\/wp\/v2\/media?parent=5075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.orange.pl\/poradnik-dla-firm\/wp-json\/wp\/v2\/categories?post=5075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.orange.pl\/poradnik-dla-firm\/wp-json\/wp\/v2\/tags?post=5075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}