{"id":90386,"date":"2020-07-31T13:42:20","date_gmt":"2020-07-31T11:42:20","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/triller-o-nastrojke-serverov-bez-chudes-s-configuration-management"},"modified":"2020-07-31T13:42:20","modified_gmt":"2020-07-31T11:42:20","slug":"triller-o-nastrojke-serverov-bez-chudes-s-configuration-management","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/triller-o-nastrojke-serverov-bez-chudes-s-configuration-management","title":{"rendered":"Rikka serverite seadistamise thriller ilma juhtumitega Configuration Management","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Aasta l\u00f5pp l\u00e4henes. K\u00f5ik laste kirjad J\u00f5uluvanal on juba v\u00e4lja saadetud ning nende peamine tegija \u2013 \u00fcks suuremaid jaekette \u2013 valmistub m\u00fc\u00fcgimeistriteoseks. Detsembris kasvab koormus tema andmekeskuses mitmekordseks. Seet\u00f5ttu otsustas ettev\u00f5te andmekeskust moderniseerida ja k\u00e4ivitada mitu tosinat uusi servereid vana seadme asemel, mille eluaeg l\u00f5ppes. Sellega l\u00f5peb meie j\u00f5ululoo eelloog ja algab thriller. <\/p>\n<p><img decoding=\"async\" alt=\"Rikka serverite seadistamise thriller ilma juhtumitega Configuration Management\" src=\"\/wp-content\/uploads\/2020\/07\/ebc2128d73e9a0e7f1e383b4b04ee492.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nSeadmed saabusid platsile mitu kuud enne m\u00fc\u00fcgihuippu. Loomulikult teab hooldusteenistus, kuidas ja mida serverites seadistada, et need produktsioonikeskkonda viia. Kuid meil oli vaja see protsess automatiseerida ja v\u00e4listada inimfaktor. Lisaks asendasid serverid enne migratsiooni SAP-s\u00fcsteemide kogumit, mis on ettev\u00f5tte jaoks kriitilise t\u00e4htsusega. <\/p>\n<p>Uute serverite t\u00f6\u00f6le rakendamine oli kindlalt seotud t\u00e4htajaga. Selle edasil\u00fckkamine t\u00e4hendaks miljardite kingituste kohaletoimetamise ja s\u00fcsteemide migratsiooni ohustamist. Kuigi J\u00f5uluvana ja Santa Klause meeskond ei suudaks kuup\u00e4eva muuta \u2013 SAP-s\u00fcsteemi, mis haldab laos\u00fcsteemi, saadakse \u00fcmber v\u00f5tta vaid kord aastas. 31. detsembril kuni 1. jaanuarini peatub jaeketi tohutu ladu, mille kogu pindala on v\u00f5rreldav 20 jalgpalliv\u00e4ljaku kogupindalaga, 15 tunniks. Ja see on ainus ajavahemik s\u00fcsteemi kolimiseks. Meil ei olnud lubatud vigu serverite k\u00e4ivitamisel. <\/p>\n<p>Selgitan kohe: minu jutt kajastab sellist t\u00f6\u00f6riistade ja konfiguratsioonihalduse protsessi, mida kasutab meie meeskond.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nKonfiguratsioonihalduse s\u00fcsteem koosneb mitmest tasemest. V\u00f5tmeelement on CMS-s\u00fcsteem. Tootmisprotsessi k\u00e4igus tooks \u00fche taseme puudumine paratamatult kaasa ebameeldivaid olukordi.<\/p>\n<h1>Ops\u00fcsteemi installimise haldamine<\/h1>\n<p>\nEsimene tase on ops\u00fcsteemide installimise haldamise s\u00fcsteem f\u00fc\u00fcsilistes ja virtuaalsetes serverites. See loob ops\u00fcsteemidele p\u00f5hikonfiguratsioonid, v\u00e4listades inimfaktori. <\/p>\n<p>Selle s\u00fcsteemi abil saime genereerida standardseid ja edasiste automatiseerimist v\u00f5imaldavaid serverite n\u00e4idiseid koos operatsioonis\u00fcsteemiga. \"Valamisel\" said nad minimaalset kohalikku kasutajate komplekti ja avalikke SSH v\u00f5tmeid, samuti koosk\u00f5lastatud OS konfigureerimise. Me saime usaldusv\u00e4\u00e4rselt hallata servereid CMS-i kaudu ja olime kindlad, et \"allpool\", operatsioonis\u00fcsteemi tasandil, ei ole \u00fcllatusi. <\/p>\n<p>S\u00fcsteemi haldamise suurim eesm\u00e4rk on automaatselt konfigureerida servereid BIOSi\/Vormiriistvara tasemest operatsioonis\u00fcsteemini. Palju s\u00f5ltub siinkohal riistvarast ja konfigureerimise \u00fclesannetest. Heterogeense riistvara puhul v\u00f5iks kaaluda <noindex><a rel=\"nofollow\" href=\"https:\/\/www.dmtf.org\/standards\/redfish\">REDFISH API<\/a><\/noindex>. Kui kogu \"raha\" tuleb \u00fchelt tarnijalt, on sageli mugavam kasutada valmis haldustooted (n\u00e4iteks HP ILO Amplifier, DELL OpenManage jne).<\/p>\n<p>F\u00fc\u00fcsiliste serverite operatsioonis\u00fcsteemi installimiseks kasutasime k\u00f5igile tuntud Cobblerit, milles on m\u00e4\u00e4ratud koosk\u00f5lastatud installiprofiilide komplekt. Uue serveri lisamisel infrastruktuuri seostas insener serveri MAC-aadressi n\u00f5utud profiiliga Cobbleris. Esmase v\u00f5rgulaadimise ajal sai server ajutise aadressi ja uuema operatsioonis\u00fcsteemi. Seej\u00e4rel viidi see soovitud VLAN\/iP-aadresside juurde ja t\u00f6\u00f6 j\u00e4tkus seal. Jah, VLANi vahetamine v\u00f5tab aega ja vajab koosk\u00f5lastamist, kuid see annab lisakaitse v\u00f5imaliku serveri juhusliku installatsiooni eest tootmisringkonnas.<\/p>\n<p>Virtuaalsed serverid loodi Mallide p\u00f5hjal, mis olid ette valmistatud HashiCorp Packeri abil. P\u00f5hjuseks oli sama: et v\u00e4ltida v\u00f5imalikke inimvigu operatsioonis\u00fcsteemi installimisel. Kuid erinevalt f\u00fc\u00fcsilistest serveritest v\u00f5imaldab Packer mitte kasutada PXE-d, v\u00f5rgu k\u00e4ivitamist ja VLAN-i vahetamist. See lihtsustas ja h\u00f5lbustas virtuaalsete serverite loomist. <\/p>\n<p><img decoding=\"async\" alt=\"Rikka serverite seadistamise thriller ilma juhtumitega Configuration Management\" src=\"\/wp-content\/uploads\/2020\/07\/8cde23a4ad2ba1573bc88ec174bfe6b5.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Joonis 1. Operatsioonis\u00fcsteemide installimise haldamine.<\/i><\/p>\n<h1>Saladuste haldamine<\/h1>\n<p>\nIga konfigureerimisse s\u00fcsteem sisaldab andmeid, mis peavad olema tavaliste kasutajate eest peidetud, kuid vajalikud s\u00fcsteemide ettevalmistamiseks. Need on kohalikud kasutajate paroolid ja teenusekontode kontod, sertifikaatide v\u00f5tmed, erinevad API Tokenid jne. Neid nimetatakse tavaliselt \"saladusteks\".<\/p>\n<p>Kui alguses ei m\u00e4\u00e4rata, kus ja kuidas neid saladusi hoida, siis s\u00f5ltuvalt infoturbe n\u00f5uete karmusest v\u00f5ivad olla sellised hoidmisviisid:<\/p>\n<ul>\n<li>otse otse konfiguratsiooni halduse koodis v\u00f5i hoidlatest.<\/li>\n<li>spetsialiseeritud konfiguratsioonihaldust\u00f6\u00f6riistades (n\u00e4iteks Ansible Vault);<\/li>\n<li>CI\/CD s\u00fcsteemides (Jenkins\/TeamCity\/GitLab jne) v\u00f5i konfiguratsioonihalduss\u00fcsteemides (Ansible Tower\/Ansible AWX);<\/li>\n<li>samuti v\u00f5ivad saladusi edastada 'k\u00e4sitsi'. N\u00e4iteks paigutatakse need kokku lepitud kohta ja seej\u00e4rel kasutatakse neid konfiguratsioonihalduss\u00fcsteemide poolt;<\/li>\n<li>erinevad kombinatsioonid eel\u00f6eldust.<\/li>\n<\/ul>\n<p>\nIgal meetodil on oma puudused. Peamine neist on juurdep\u00e4\u00e4supoliitikate puudumine saladustele: on raske v\u00f5i v\u00f5imatu m\u00e4\u00e4rata, kes v\u00f5ib kasutada neid v\u00f5i teisi saladusi. Veel \u00fcks miinus on juurdep\u00e4\u00e4su auditi ning t\u00e4isv\u00e4\u00e4rtusliku eluts\u00fckli puudumine. Kui kiiresti asendada n\u00e4iteks avalik v\u00f5ti, mis on kodeeritud ja mitmes k\u00fclgpoolses s\u00fcsteemis?<\/p>\n<p>Kasutasime keskset saladuste hoidlat HashiCorp Vault. See v\u00f5imaldas meil: <\/p>\n<ul>\n<li>saladusi ohutult hoida. Need on kr\u00fcpteeritud ja isegi kui keegi p\u00e4\u00e4seb juurde Vaulti andmebaasile (n\u00e4iteks taastades selle varukoopiast), ei suuda nad seal hoitavaid saladusi lugeda; <\/li>\n<li>korraldada juurdep\u00e4\u00e4supoliitikaid saladustele. Kasutajad ja rakendused saavad ligi ainult neile 'm\u00e4\u00e4ratud' saladustele;<\/li>\n<li>teostada saladustele juurdep\u00e4\u00e4su auditeerimist. K\u00f5ik saladustega seonduvad toimingud registreeritakse Vaulti auditi logisse;<\/li>\n<li>organiseerida t\u00e4isv\u00e4\u00e4rtuslik 'eluts\u00fckkel' saladustega. Neid saab luua, t\u00fchistada, seadistada kehtivusaega jne.<\/li>\n<li>lihtsalt integreeruda teiste s\u00fcsteemidega, kellel on vajadus saladustele juurdep\u00e4\u00e4su j\u00e4rele;<\/li>\n<li>ja rakendada l\u00f5pp-punktide kr\u00fcpteerimist, \u00fchekordseid paroole operatsioonis\u00fcsteemidele ja andmebaasidele, volitatud keskuste sertifikaate jne. <\/li>\n<\/ul>\n<p>\nN\u00fc\u00fcd liigume \u00fcle kesksele autentimise ja autoriseerimise s\u00fcsteemile. Saime ilma selleta hakkama, kuid kasutajate haldamine paljuski kaasnevates s\u00fcsteemides oleks liiga keeruline. Seadisime autentimise ja autoriseerimise LDAP teenuse kaudu. Muul juhul oleks Vaultis pidanud pidevalt laevandama ja j\u00e4lgima autentimistokenite v\u00e4ljaandmist kasutajatele. Ja kasutajate eemaldamine ja lisamine oleks muutunud missiooniks 'kas ma olen igal pool selle kasutaja loonud\/ eemaldanud?' <\/p>\n<p>Lisame s\u00fcsteemi veel \u00fche taseme: saladuste haldamine ja keskne autentimine\/autoriseerimine:<\/p>\n<p><img decoding=\"async\" alt=\"Rikka serverite seadistamise thriller ilma juhtumitega Configuration Management\" src=\"\/wp-content\/uploads\/2020\/07\/993e863417898c39940fe0bc9ee55b1e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Joon. 2. Saladuste haldamine.<\/i><\/p>\n<h1>Konfiguratsioonide haldamine<\/h1>\n<p>\nMe j\u00f5udsime tuumani \u2014 CMS-s\u00fcsteemi. Meie puhul on see kombinatsioon Ansible'ist ja Red Hat Ansible AWX-st. <\/p>\n<p>Ansible'i asemel v\u00f5ib kasutada Chef'i, Puppet'it, SaltStack'i. Me valisime Ansible'i mitmete kriteeriumide t\u00f5ttu. <\/p>\n<ul>\n<li>Esiteks, see on universaalne. Valmis moodulite komplekt haldamiseks <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ansible.com\/ansible\/latest\/modules\/modules_by_category.html\">teeb muljet<\/a><\/noindex>. Ja kui seda on puudu, v\u00f5ib otsida GitHub'ist ja Galaxy'st. <\/li>\n<li>Teiseks, ei ole vaja installida ja hallata agente haldataval seadmel, t\u00f5estada, et nad ei sega koormust, ja kinnitada \u00abtagasiteed\u00bb puudumist. <\/li>\n<li>Kolmandaks, Ansible'il on madal sisenemise piir. Kogenud insener kirjutab t\u00f6\u00f6tava playbook'i literally esimesel p\u00e4eval toote kasutamisel.<\/li>\n<\/ul>\n<p>\nAga ainult Ansible ei piisanud meile t\u00f6\u00f6stuskeskkonnas. Vastasel juhul tekiks palju probleeme juurdep\u00e4\u00e4supiirangute ja administraatorite tegevuste auditi osas. Kuidas juurdep\u00e4\u00e4su jagada? L\u00f5ppude l\u00f5puks pidi iga osakond haldama (loe \u2014 k\u00e4ivitama Ansible playbook'i) oma \u00abserverite\u00bb komplekti. Kuidas lubada konkreetsete Ansible playbook'ide k\u00e4ivitamist ainult teatud t\u00f6\u00f6tajatele? V\u00f5i kuidas j\u00e4lgida, kes k\u00e4ivitas playbook'i, looma palju kohalikke kontosid serverites ja Ansible'i halduses olevates seadmetes?<\/p>\n<p>Suur osa selliseid k\u00fcsimusi lahendab Red Hat <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ansible.com\/products\/tower\">Ansible Tower<\/a><\/noindex>, v\u00f5i selle open-source upstream projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ansible\/awx\">Ansible AWX<\/a><\/noindex>. Seet\u00f5ttu eelistasime seda kliendile. <\/p>\n<p>Ja veel \u00fcks detail meie CMS-s\u00fcsteemi portreest. Ansible playbook peab olema salvestatud koodihalduss\u00fcsteemidesse. Meie kasutame <noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/install\/\">GitLab CE<\/a><\/noindex>.<\/p>\n<p>Nii et konfiguratsioonide haldamise eest vastutab kombinatsioon Ansible'\/Ansible AWX'\/GitLab (vt. Joonis 3). Loomulikult on AWX\/GitLab integreeritud \u00fchtse autentimiss\u00fcsteemiga ning Ansible playbook on seotud HashiCorp Vault'iga. Konfiguratsioonid j\u00f5uavad tootmis\u00fcmbrusesse ainult l\u00e4bi Ansible AWX, milles on m\u00e4\u00e4ratud k\u00f5ik \u00abm\u00e4ngureeglid\u00bb: kes ja mida v\u00f5ib konfigureerida, kust v\u00f5tta konfiguratsioonide haldamise koodi CMS-ile jne.<\/p>\n<p><img decoding=\"async\" alt=\"Rikka serverite seadistamise thriller ilma juhtumitega Configuration Management\" src=\"\/wp-content\/uploads\/2020\/07\/f4f5b3904a2145d7283cd52f921bca89.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Joonis 3. Konfiguratsioonide haldamine.<\/i><\/p>\n<h1>Testimise haldamine<\/h1>\n<p>\nMeie konfiguratsioon on esitatud koodina. Seet\u00f5ttu peame m\u00e4ngima sama reeglite j\u00e4rgi, mis tarkvaraarendajad. Meil oli vajalik korraldada arendamise, pideva testimise, toimetamise ja konfiguratsioonikoodi rakendamise protsessid tootmisserveritele.<\/p>\n<p>Kui seda kohe ei teha, siis kirjutatud rollid konfiguratsiooni jaoks kas l\u00f5petavad toetamise ja muutmise v\u00f5i l\u00f5petavad tootmises k\u00e4ivitamise. Selle valu ravimeetod on teada ja see on selles projektis \u00f5igustanud end:<\/p>\n<ul>\n<li>iga roll on kaetud moodulitega testidega;<\/li>\n<li>testid jooksutatakse automaatselt iga koodi muudatuse korral, mis haldab seadistusi;<\/li>\n<li>koodi muudatused, mis haldavad seadistusi, j\u00f5uavad tootmiskeskkonda alles p\u00e4rast k\u00f5ikide testide ja koodide \u00fclevaatuse edukat l\u00e4bimist.<\/li>\n<\/ul>\n<p>\nKoodi arendamine ja seadistuste haldamine on saanud rahulikumaks ja prognoositavamaks. J\u00e4tkuva testimise korraldamiseks kasutasime GitLab CI\/CD t\u00f6\u00f6riistu ning testide korraldamiseks olime valinud <noindex><a rel=\"nofollow\" href=\"https:\/\/molecule.readthedocs.io\/en\/latest\/\">Ansible Molecule<\/a><\/noindex>.<\/p>\n<p>Iga kord, kui koodis haldustoimingutes on muudatus, kutsub GitLab CI\/CD esile Molecule: <\/p>\n<ul>\n<li>see kontrollib koodi s\u00fcntaksit, <\/li>\n<li>k\u00e4ivitab Docker-konteineri, <\/li>\n<li>rakendab muudetud koodi loodud konteinerisse, <\/li>\n<li>kontrollib rolli idempotentsust ja jookseb selle koodi jaoks testid (granulaarsus on siin ansible rolli tasemel, vt Joon. 4).<\/li>\n<\/ul>\n<p>\nTootmiskeskkonda edastasime seadistusi Ansible AWX-i kaudu. Kasutusele v\u00f5tnud insenerid rakendasid seadistuse muudatusi etten\u00e4htud mallide kaudu. AWX k\u00fcsis iga rakendamise ajal viimast koodiversiooni GitLabi p\u00f5hiharust. Nii v\u00e4listasime mittekatsetatud v\u00f5i vananenud koodi kasutamise tootmiskeskkonnas. Loomulikult j\u00f5udis kood p\u00f5hiharusse ainult p\u00e4rast testimist, vaatamist ja koosk\u00f5lastamist.<\/p>\n<p><img decoding=\"async\" alt=\"Rikka serverite seadistamise thriller ilma juhtumitega Configuration Management\" src=\"\/wp-content\/uploads\/2020\/07\/aa8f6205f05792a6a1120ad7360ab102.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Joon. 4. Automaatne testimine rollide GitLab CI\/CD-s.<\/i><\/p>\n<p>On veel \u00fcks probleem, mis on seotud tootmis\u00fcsteemide kasutamisega. Tegelike olukordade t\u00f5ttu on v\u00e4ga raske teha muudatusi lihtsalt CMS-i koodi kaudu. T\u00f5useb erakorralisi olukordi, kus insener peab seadistust muutma \"siin ja praegu\", oodates koodi muutmist, testimist, koosk\u00f5lastamist jne.<\/p>\n<p>K\u00e4si-sekkumise t\u00f5ttu tekivad konfiguratsioonis erinevused sama t\u00fc\u00fcpi varustuse vahel (n\u00e4iteks HA-klastri s\u00f5lmedel on erinev sysctl seadistuste konfiguratsioon). V\u00f5i erineb reaalse seadistuse konfiguratsioon varustuses sellest, mis on m\u00e4\u00e4ratud CMS-i koodis. <\/p>\n<p>Seet\u00f5ttu, lisaks pidevale testimisele, kontrollime tootmiskeskkondi konfiguratsioonide erinevuste osas. Valisime k\u00f5ige lihtsama variandi: CMS konfiguratsiooni koodi k\u00e4ivitamine \u201edry run\u201c re\u017eiimis, st muudatuste rakendamata j\u00e4tmine, kuid teavitamine k\u00f5igist erinevustest plaanitud ja tegeliku konfiguratsiooni vahel. Realiseerisime selle k\u00f5ikide Ansible playbookide perioodiliste k\u00e4ivitamiste kaudu valikuga \u201e--check\u201c tootmisseerverites. Playbookide k\u00e4ivitamise ja aktuaalsuse eest vastutab Ansible AWX (vt joonis 5):<\/p>\n<p><img decoding=\"async\" alt=\"Rikka serverite seadistamise thriller ilma juhtumitega Configuration Management\" src=\"\/wp-content\/uploads\/2020\/07\/108a5a473f60ab76ee15f9334ebcbab7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Joonis 5. Konfiguratsioonide lahknevuste kontrollimine Ansible AWX-s.<\/i><\/p>\n<p>P\u00e4rast kontrollimist saadab AWX, et tuvastada lahknevused, haldajatele aruande. Nad uurivad probleemset konfiguratsiooni ja seej\u00e4rel parandavad selle korrigeeritud playbookide kaudu. Nii hoiame tootmiskeskkonnas konfiguratsiooni ja CMS on alati ajakohane ja s\u00fcnkroniseeritud. See v\u00e4ldib ebameeldivaid \u201eimet\u201d, kui CMS-i kood rakendatakse \u201et\u00f6\u00f6r\u00f5ngas\u201d serverites.<\/p>\n<p>N\u00fc\u00fcd on meil oluline testimise tasand, mis koosneb Ansible AWX\/GitLab\/Molecule (vt joonis 6).<\/p>\n<p><img decoding=\"async\" alt=\"Rikka serverite seadistamise thriller ilma juhtumitega Configuration Management\" src=\"\/wp-content\/uploads\/2020\/07\/f487f5603e90b0c753fb9decf9018b11.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Joonis 6. Testimise haldamine.<\/i><\/p>\n<p>Kas see on keeruline? Ei vaidle. Kuid selline konfiguratsioonide haldamise kompleks on saanud ammendavaks vastuseks paljudele k\u00fcsimustele, mis on seotud serverite seadistamise automatiseerimisega. N\u00fc\u00fcd on jaem\u00fc\u00fcjal t\u00fc\u00fcpiliste serverite konfiguratsioon alati t\u00e4pselt m\u00e4\u00e4ratletud. Erinevalt insenerist ei unusta CMS vajalikku seadistuste lisamist, kasutajate loomist ja k\u00fcmnete v\u00f5i sadade n\u00f5utud seadistuste tegemist.<\/p>\n<p>Serverite ja keskkondade seadistustes puuduvad t\u00e4na \u201esalajased teadmised\u201c. K\u00f5ik vajalikud omadused on kajastatud playbookides. Pole enam loovust ja \u00e4hmaseid juhiseid: \"<i>seadista nagu tavaline Oracle, kuid seal peab m\u00f5ningaid sysctl seadeid \u00fcles kirjutama, ja lisama vajalikud kasutajad vastava UID-ga. K\u00fcsige t\u00f6\u00f6grupilt, nad teavad.<\/i>\u00bb. <\/p>\n<p>V\u00f5ime avastada konfiguratsioonide lahknevusi ja ennetada nende parandamist annab rahu. Ilma konfiguratsioonihalduse s\u00fcsteemita n\u00e4eb see tavaliselt teistsugune v\u00e4lja. Probleemid kuhjuvad kuniks \u00fchel p\u00e4eval \u201eplahvatavad\u201c tootmises. Siis viiakse l\u00e4bi anal\u00fc\u00fcs, kontrollitakse ja parandatakse konfiguratsioonid. Ja ts\u00fckkel kordub j\u00e4lle. <\/p>\n<p>Ja loomulikult oleme kiirendanud serverite t\u00f6\u00f6le rakendamise aega mitmest p\u00e4evast tundide peale.<\/p>\n<p>Uue aasta \u00f6\u00f6sel, kui lapsed r\u00f5\u00f5msalt kingitusi avasid ja t\u00e4iskasvanud kellal\u00f6\u00f6kide saatel soove soovisid, migreerisid meie insenerid SAP-s\u00fcsteemi uusetele serveritele. Isegi J\u00f5uluvana \u00fctleb, et parimad imed on h\u00e4sti ettevalmistatud. <\/p>\n<p>P.S. Meie meeskond seisab tihti silmitsi olukordadega, kus kliendid soovivad v\u00f5imalikult lihtsalt lahendada konfiguratsiooni haldamise \u00fclesandeid. Ideaalis nagu v\u00f5luv\u00e4el \u2014 \u00fche t\u00f6\u00f6riistaga. Kuid elus on k\u00f5ik keerulisem (jah, j\u00e4lle ei toodud h\u00f5bedasi kuule): tuleb luua terve protsess, kasutades kliendi meeskonnale mugavaid t\u00f6\u00f6riistu.<\/p>\n<p><i>Autor: Sergei Artyomov, osakonna arhitekt <\/i><noindex><a rel=\"nofollow\" href=\"https:\/\/portal.jet.su\/about\/company\/structure\/?set_filter_structure=Y&amp;structure_UF_DEPARTMENT=56656\"><i>DevOps-lahendused<\/i><\/a><\/noindex><i> \u00abInfosis\u00fcsteemid Jet\u00bb<\/i><br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jetinfosystems\/blog\/513132\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u0435\u043b\u043e \u0431\u043b\u0438\u0437\u0438\u043b\u043e\u0441\u044c \u043a \u041d\u043e\u0432\u043e\u043c\u0443 \u0433\u043e\u0434\u0443. \u0414\u0435\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u044b \u0443\u0436\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 \u0414\u0435\u0434\u0443 \u041c\u043e\u0440\u043e\u0437\u0443 \u0438\u043b\u0438 \u0437\u0430\u0433\u0430\u0434\u0430\u043b\u0438 \u0441\u0435\u0431\u0435 \u043f\u043e\u0434\u0430\u0440\u043a\u0438, \u0430 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0440\u0438\u0442\u0435\u0439\u043b\u0435\u0440\u043e\u0432 \u2014 \u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0441\u044f \u043a \u0430\u043f\u043e\u0444\u0435\u043e\u0437\u0443 \u043f\u0440\u043e\u0434\u0430\u0436. \u0412 \u0434\u0435\u043a\u0430\u0431\u0440\u0435 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u0435\u0433\u043e \u0426\u041e\u0414 \u0432\u044b\u0440\u0430\u0441\u0442\u0430\u0435\u0442 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0440\u0435\u0448\u0438\u043b\u0430 \u043c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440 \u0438 \u0432\u0432\u0435\u0441\u0442\u0438 \u0432 \u0441\u0442\u0440\u043e\u0439 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u043d\u043e\u0432\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432\u043c\u0435\u0441\u0442\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":90387,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-90386","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u0435\u043b\u043e \u0431\u043b\u0438\u0437\u0438\u043b\u043e\u0441\u044c \u043a \u041d\u043e\u0432\u043e\u043c\u0443 \u0433\u043e\u0434\u0443. \u0414\u0435\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u044b \u0443\u0436\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 \u0414\u0435\u0434\u0443 \u041c\u043e\u0440\u043e\u0437\u0443 \u0438\u043b\u0438 \u0437\u0430\u0433\u0430\u0434\u0430\u043b\u0438 \u0441\u0435\u0431\u0435 \u043f\u043e\u0434\u0430\u0440\u043a\u0438, \u0430 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0440\u0438\u0442\u0435\u0439\u043b\u0435\u0440\u043e\u0432 \u2014 \u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0441\u044f \u043a \u0430\u043f\u043e\u0444\u0435\u043e\u0437\u0443 \u043f\u0440\u043e\u0434\u0430\u0436.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/triller-o-nastrojke-serverov-bez-chudes-s-configuration-management\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0422\u0440\u0438\u043b\u043b\u0435\u0440 \u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0431\u0435\u0437 \u0447\u0443\u0434\u0435\u0441 \u0441 Configuration Management | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u0435\u043b\u043e \u0431\u043b\u0438\u0437\u0438\u043b\u043e\u0441\u044c \u043a \u041d\u043e\u0432\u043e\u043c\u0443 \u0433\u043e\u0434\u0443. \u0414\u0435\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u044b \u0443\u0436\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 \u0414\u0435\u0434\u0443 \u041c\u043e\u0440\u043e\u0437\u0443 \u0438\u043b\u0438 \u0437\u0430\u0433\u0430\u0434\u0430\u043b\u0438 \u0441\u0435\u0431\u0435 \u043f\u043e\u0434\u0430\u0440\u043a\u0438, \u0430 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0440\u0438\u0442\u0435\u0439\u043b\u0435\u0440\u043e\u0432 \u2014 \u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0441\u044f \u043a \u0430\u043f\u043e\u0444\u0435\u043e\u0437\u0443 \u043f\u0440\u043e\u0434\u0430\u0436.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/triller-o-nastrojke-serverov-bez-chudes-s-configuration-management\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-07-31T11:42:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-31T11:42:20+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47P\u00f5nevusromaan serverite seadistamisest ilma imedeta konfiguratsioonihaldusega | ProHoster","description":"Aeg l\u00e4henes uuele aastale. Lapsed kogu riigis olid juba saatnud kirjad J\u00f5uluvanale v\u00f5i soovisid endale kingitusi, samas kui nende peamine t\u00e4itja \u2014 \u00fcks suurtest jaekettidest \u2014 valmistas end m\u00fc\u00fcgip\u00fcha ehtimiseks.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/triller-o-nastrojke-serverov-bez-chudes-s-configuration-management","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0422\u0440\u0438\u043b\u043b\u0435\u0440 \u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0431\u0435\u0437 \u0447\u0443\u0434\u0435\u0441 \u0441 Configuration Management | ProHoster","og:description":"\u0414\u0435\u043b\u043e \u0431\u043b\u0438\u0437\u0438\u043b\u043e\u0441\u044c \u043a \u041d\u043e\u0432\u043e\u043c\u0443 \u0433\u043e\u0434\u0443. \u0414\u0435\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u044b \u0443\u0436\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 \u0414\u0435\u0434\u0443 \u041c\u043e\u0440\u043e\u0437\u0443 \u0438\u043b\u0438 \u0437\u0430\u0433\u0430\u0434\u0430\u043b\u0438 \u0441\u0435\u0431\u0435 \u043f\u043e\u0434\u0430\u0440\u043a\u0438, \u0430 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0440\u0438\u0442\u0435\u0439\u043b\u0435\u0440\u043e\u0432 \u2014 \u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0441\u044f \u043a \u0430\u043f\u043e\u0444\u0435\u043e\u0437\u0443 \u043f\u0440\u043e\u0434\u0430\u0436.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/triller-o-nastrojke-serverov-bez-chudes-s-configuration-management","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-07-31T11:42:20+00:00","article:modified_time":"2020-07-31T11:42:20+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"90386","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:52:34","updated":"2022-09-28 09:47:54","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/90386","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=90386"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/90386\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/90387"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=90386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=90386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=90386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}