Networkers (ne)potrební

V čase písania tohto článku sa pri vyhľadávaní frázy „sieťový inžinier“ na obľúbenom pracovnom mieste objavilo asi tristo voľných pracovných miest po celom Rusku. Pre porovnanie, vyhľadávanie frázy "správca systému" vráti takmer 2.5 tisíc voľných pracovných miest a "DevOps engineer" - takmer 800.

Znamená to, že v časoch víťazných cloudov, dockerov, kubernetisov a všadeprítomných verejných Wi-Fi už nie sú potrební networkeri?
Poďme na to (y)

Networkers (ne)potrební

Poďme sa zoznámiť. Volám sa Alexey a som networker.

Sieťovaniu sa venujem viac ako 10 rokov a viac ako 15 rokov pracujem s rôznymi *nix systémami (mal som možnosť vybrať si Linux aj FreeBSD). Pracoval som v telekomunikačných operátoroch, vo veľkých spoločnostiach, ktoré sú považované za „podniky“ a v poslednom čase pracujem v „mladých a odvážnych“ fintech, kde sú mraky, devops, kubernetes a iné strašidelné slová, ktoré mňa a mojich kolegov určite urobia zbytočné. Jedného dňa. Možno.

odmietnutie zodpovednosti: „V našom živote nie všetko, vždy a všade, ale niečo, niekedy na miestach“ (c) Maxim Dorofeev.

Všetko, čo je napísané nižšie, môže a malo by sa považovať za osobný názor autora, ktorý si netvrdí, že je to konečná pravda, a dokonca aj plnohodnotná štúdia. Všetky postavy sú fiktívne, všetky náhody sú náhodné.

Vitaj v mojom svete.

Kde nájdete networkerov?

1. Telekomunikační operátori, servisné spoločnosti a iní integrátori. Všetko je jednoduché: sieť je pre nich biznis. Buď priamo predávajú konektivitu (operátori), alebo poskytujú služby na spustenie/údržbu sietí svojich zákazníkov.

Skúseností je tu veľa, ale peňazí nie je veľa (pokiaľ nie ste riaditeľ alebo úspešný obchodný manažér). A predsa, ak máte radi siete a ste len na začiatku svojej cesty, kariéra v podpore nejakého nie príliš veľkého operátora bude aj teraz ideálnym štartovacím bodom (v tých federálnych je všetko veľmi naskriptované a tam je málo priestoru pre kreativitu). No historky o tom, že z inžiniera v službe sa dá za pár rokov vyrásť na C-level manažéra, sú tiež celkom reálne, aj keď zriedkavé, z pochopiteľných dôvodov. O personál je vždy núdza, lebo stále je fluktuácia. To je dobré aj zlé zároveň – voľné miesta sú vždy, na druhej strane – často sa tí najaktívnejší/najmúdrejší dostatočne rýchlo buď povýšia, alebo odídu do iných, „teplejších“ miest.

2. Podmienený "podnik". Nezáleží na tom, či jeho hlavná činnosť súvisí s IT alebo nie. Hlavná vec je, že má vlastné IT oddelenie, ktoré sa zaoberá zabezpečovaním chodu interných systémov spoločnosti, vrátane sietí v kanceláriách, komunikačných kanálov s pobočkami a pod. Funkcie sieťového inžiniera v takýchto spoločnostiach môže vykonávať „na polovičný úväzok“ správca systému (ak je sieťová infraštruktúra malá, alebo je do nej zapojený externý dodávateľ) a správca siete, ak ešte existuje, môže starať sa o telefonovanie a SAN súčasne (nie nuacho). Platia rôznymi spôsobmi – silne to závisí od marže podnikania, veľkosti spoločnosti a štruktúry. Pracoval som tak s firmami, kde sa cisco pravidelne „nakladali do sudov“, aj s firmami, kde sa sieť stavala z fekálií, tyčiniek a modrej elektropásky a servery neboli aktualizované, približne nikdy (treba povedať, že tam neboli žiadne rezervy). Skúseností je tu oveľa menej a takmer určite to bude v oblasti tvrdého vendor-locku alebo „ako urobiť niečo z ničoho“. Osobne sa mi to tam zdalo divoko nudné, hoci sa to mnohým páči - všetko je dosť odmerané a predvídateľné (ak hovoríme o veľkých spoločnostiach), „dorah-bajato“ atď. Aspoň raz za rok nejaký významný predajca povie, že prišiel s ďalším mega-super-duper systémom, ktorý všetko teraz automatizuje a všetci správcovia systému a sieťoví pracovníci môžu byť pretaktovaní, takže pár stláča tlačidlá v krásnom rozhraní. Realita je taká, že aj keď budeme ignorovať náklady na riešenie, networkeri odtiaľto nikam nepôjdu. Áno, je možné, že namiesto konzoly bude opäť webové rozhranie (nie však konkrétny kus železa, ale veľký systém, ktorý spravuje desiatky a stovky takýchto kusov železa), ale znalosť „ako všetko vo vnútri funguje“ “ bude stále potrebný.

3. Produktové spoločnosti, ktorej zisk pochádza z vývoja (a často aj z prevádzky) nejakého softvéru alebo platformy – práve tohto produktu. Obyčajne sú malí a šikovní, stále majú ďaleko od rozsahu podnikov a ich byrokratizácie. Práve tu sa tie isté devopy, cubery, dockery a iné hrozné slová nachádzajú vo veľkom počte, čo určite urobí zo siete a sieťových inžinierov nepotrebný základ.

Ako sa správca siete líši od správcu systému?

V ponímaní ľudí nie z IT - nič. Obaja sa pozerajú na čiernu obrazovku a píšu nejaké kúzla, niekedy jemne nadávajú.

V ponímaní programátorov - možno predmetná oblasť. Systémoví správcovia spravujú servery, sieťári spravujú prepínače a smerovače. Niekedy je admin zlý a všetko padá všetkým. No, v prípade nejakého podivného sú na vine aj networkeri. Len preto, že ťa jebú, preto.

V skutočnosti je hlavným rozdielom prístup k práci. Možno práve medzi networkermi sú najviac zástancovia prístupu „Funguje to – nedotýkajte sa toho!“. Zvyčajne môžete niečo urobiť (v rámci jedného predajcu) iba jedným spôsobom, celú konfiguráciu boxu - tu to máte na dlani. Cena chyby je vysoká a niekedy veľmi vysoká (napríklad musíte prejsť niekoľko stoviek kilometrov, aby ste reštartovali smerovač, a v tomto čase bude niekoľko tisíc ľudí bez komunikácie - situácia, ktorá je pre telekomunikačného operátora celkom bežná ).

Podľa môjho názoru sú preto sieťoví inžinieri na jednej strane mimoriadne silne motivovaní k stabilite siete (a zmeny sú hlavným nepriateľom stability) a za druhé ich znalosti idú viac do hĺbky ako do šírky (netreba aby ste mohli nakonfigurovať desiatky rôznych démonov, musíte poznať technológie a ich implementáciu od konkrétneho výrobcu zariadenia). Preto správca systému, ktorý si vygooglil ako zaregistrovať vlan na tsisku, ešte nie je správcom siete. A je nepravdepodobné, že bude schopný efektívne podporovať (ako aj odstraňovať problémy) viac či menej zložitú sieť.

Ale prečo potrebujete správcu siete, ak máte hostiteľa?

Za peniaze navyše (a ak ste veľmi veľký a obľúbený klient, možno aj zadarmo, „ako priateľ“), inžinieri dátového centra nakonfigurujú vaše prepínače tak, aby vyhovovali vašim potrebám, a možno vám dokonca pomôžu vytvoriť rozhranie BGP. s poskytovateľmi (ak máte vlastnú podsieť IP adries na oznámenie).

Hlavným problémom je, že dátové centrum nie je vaše IT oddelenie, je to samostatná spoločnosť, ktorej cieľom je dosahovať zisk. Vrátane na úkor vás ako klienta. Dátové centrum poskytuje stojany, poskytuje im elektrinu a chlad a tiež poskytuje určitú „predvolenú“ konektivitu na internet. Na základe tejto infraštruktúry môže dátové centrum spoločne lokalizovať vaše zariadenie (kolokácia), prenajať vám server (dedikovaný server) alebo poskytovať riadenú službu (napríklad OpenStack alebo K8s). Ale biznisom dátového centra (zvyčajne) nie je správa zákazníckej infraštruktúry, pretože tento proces je dosť prácny, málo automatizovaný (a v bežnom dátovom centre je automatizované všetko), ešte horšie unifikovaný (každý klient je individuálny) a vo všeobecnosti plné nárokov („hovoríte mi, že server bol nastavený a teraz spadol, je to všetko vaša chyba!!!111“). Preto, ak vám hostiteľ s niečím pomôže, bude sa snažiť, aby to bolo čo najjednoduchšie a „kondo“. Pretože je to ťažké - nerentabilné, aspoň z hľadiska nákladov práce inžinierov tohto hostiteľa (ale situácie sú iné, pozri vyhlásenie). To neznamená, že hostiteľ bude nevyhnutne robiť všetko zle. Ale vôbec nie je pravda, že urobí presne to, čo skutočne potrebujete.

Zdalo by sa, že vec je celkom zrejmá, no niekoľkokrát som sa vo svojej praxi stretol s tým, že firmy sa začali na svojho poskytovateľa hostingu spoliehať trochu viac, ako by mali, a k ničomu dobrému to neviedlo. Trvalo dlho, kým som podrobne vysvetlil, že žiadna SLA nepokryje straty z prestojov (existujú výnimky, ale zvyčajne je to pre klienta veľmi, VEĽMI drahé) a že hostiteľ si vôbec neuvedomuje, čo sa deje v infraštruktúre zákazníkov. (okrem veľmi všeobecných ukazovateľov). A hostiteľ vám tiež nerobí zálohy. Situácia je ešte horšia, ak máte viac ako jedného hostiteľa. V prípade akýchkoľvek problémov medzi nimi určite za vás nezistia, čo sa pokazilo.

Motívy sú tu vlastne úplne rovnaké ako pri výbere „vlastného tímu správcov vs outsourcing“. Ak sú riziká spočítané, kvalita vyhovuje a biznisu to nevadí – prečo to neskúsiť. Na druhej strane je sieť jednou z najzákladnejších vrstiev infraštruktúry a sotva sa oplatí rozdávať ju cudzincom, ak všetko ostatné už podporujete sami.

Kedy potrebujete networkera?

Ďalej sa zameriame na moderné produktové spoločnosti. S operátormi a podnikmi je všetko plus-mínus jasné – za posledné roky sa tam zmenilo len málo a networkeri tam boli potrební predtým, sú potrební aj teraz. Ale s tými veľmi „mladými a odvážnymi“ veci nie sú také jednoduché. Často umiestňujú svoju infraštruktúru úplne do cloudu, takže nepotrebujú ani správcov, samozrejme okrem správcov tých istých cloudov. Infraštruktúra je na jednej strane celkom jednoduchá vo svojom dizajne, na druhej strane je dobre automatizovaná (ansible / bábka, terraform, ci / cd ... no, viete). Ale aj tu sú situácie, kedy sa bez sieťového inžiniera nezaobídete.

Príklad 1, klasický

Predpokladajme, že spoločnosť začína s jedným serverom s verejnou IP adresou, ktorá sa nachádza v dátovom centre. Potom sú tu dva servery. Potom viac... Skôr či neskôr bude medzi servermi potrebná súkromná sieť. Pretože „externá“ prevádzka je obmedzená šírkou pásma (napríklad nie viac ako 100 Mbps), ako aj množstvom stiahnutých / nahraných za mesiac (rôzni hostitelia majú rôzne tarify, ale šírka pásma do vonkajšieho sveta je spravidla oveľa drahšie ako súkromná sieť).

Hoster pridáva k serverom ďalšie sieťové karty a zaraďuje ich do svojich prepínačov v samostatnej vlan. Medzi servermi sa objaví „plochá“ sieť LAN. Pohodlné!

Rastie počet serverov, rastie aj prevádzka v privátnej sieti - zálohy, replikácie atď. Hoster vám ponúka presun do samostatných prepínačov, aby ste nerušili ostatných klientov a oni zase vám. Hostiteľ umiestni nejaký druh prepínačov a nejako ich nakonfiguruje - s najväčšou pravdepodobnosťou ponechá jednu plochú sieť medzi všetkými vašimi servermi. Všetko funguje dobre, ale v určitom bode sa začnú problémy: oneskorenia medzi hostiteľmi sa pravidelne zväčšujú, protokoly nadávajú na príliš veľa paketov arp za sekundu a pentester počas auditu znásilnil celú vašu lokálnu oblasť, pričom rozbil iba jeden server.

Čo by sa malo robiť?

Rozdeľte sieť na segmenty - vlany. Nastavte si vlastné adresovanie v každej vlan, vyberte bránu, ktorá bude prenášať prevádzku medzi sieťami. Na bráne nakonfigurujte acl tak, aby obmedzil prístup medzi segmentmi, alebo dokonca vedľa nej umiestnite samostatnú bránu firewall.

Príklad 1, pokračovanie

Servery sú pripojené k lokálnej oblasti jedným káblom. Vypínače v stojanoch sú ako-tak prepojené, no pri havárii v jednom stojane odpadnú ďalšie tri susedné. Schémy existujú, ale existujú pochybnosti o ich relevantnosti. Každý server má svoju vlastnú verejnú adresu, ktorú vydáva hostiteľ a je pripojená k racku. Tie. pri presune servera je potrebné zmeniť adresu.

Čo by sa malo robiť?

Pripojte servery pomocou LAG (Link Aggregation Group) pomocou dvoch káblov k prepínačom v stojane (tiež musia byť redundantné). Spoje medzi stojanmi rezervujte, prerobte ich „hviezdičkou“ (alebo teraz módnym CLOS), aby strata jedného stojana neovplyvnila ostatné. Vyberte "centrálne" stojany, kde bude umiestnené jadro siete a kde budú zahrnuté ďalšie stojany. Zároveň si dajte do poriadku verejné oslovovanie, vezmite z hostiteľa (alebo z RIR, ak je to možné) podsieť, ktorú sami (alebo cez hostiteľa) oznámite svetu.

Dokáže toto všetko „bežný“ správca systému, ktorý nemá hlboké znalosti o sieťach? Nie som si istý. Urobí to hostiteľ? Možno bude, ale budete potrebovať dosť podrobný TOR, ktorý bude tiež musieť niekto zostaviť. a potom skontrolujte, či je všetko vykonané správne.

Príklad 2: Zamračené

Predpokladajme, že máte VPC v nejakom verejnom cloude. Ak chcete získať prístup z kancelárie alebo lokálnej časti infraštruktúry do lokálnej siete vnútri VPC, musíte nastaviť pripojenie cez IPSec alebo vyhradený kanál. Na jednej strane je IPSec lacnejší. nie je potrebné kupovať ďalší hardvér, môžete nastaviť tunel medzi vaším serverom s verejnou adresou a cloudom. Ale - oneskorenia, obmedzený výkon (keďže kanál musí byť šifrovaný), plus negarantovaná konektivita (keďže prístup ide cez bežný internet).

Čo by sa malo robiť?

Vytvorte pripojenie cez vyhradený kanál (napríklad AWS to nazýva Direct Connect). K tomu si nájdite partnerského operátora, ktorý vás pripojí, rozhodne o najbližšom pripojovacom bode (aj vy do operátora, aj operátora do cloudu) a nakoniec všetko nastavíte. Dá sa to všetko zvládnuť bez sieťového inžiniera? Určite áno. Ale ako bez neho v prípade problémov riešiť problémy, to už také jasné nie je.

Môžu sa vyskytnúť aj problémy s dostupnosťou medzi cloudmi (ak máte multicloud) alebo problémy s oneskorením medzi rôznymi regiónmi atď. Samozrejme, teraz sa objavilo veľa nástrojov, ktoré zvyšujú transparentnosť toho, čo sa deje v cloude (rovnaké Thousand Eyes), ale to všetko sú nástroje sieťového inžiniera a nie jeho náhrada.

Mohol by som načrtnúť ešte tucet takýchto príkladov z mojej praxe, ale myslím si, že je jasné, že v tíme by od určitej úrovne rozvoja infraštruktúry mal byť človek (alebo lepšie viac ako jeden), ktorý vie, ako funguje sieť funguje, môže konfigurovať sieťové zariadenia a riešiť problémy, ak nastanú. Verte mi, bude mať čo robiť

Čo by mal vedieť networker?

Nie je vôbec potrebné (a dokonca niekedy aj škodlivé), aby sa sieťový inžinier zaoberal iba sieťou a ničím viac. Aj keď nezoberieme do úvahy možnosť s infraštruktúrou, ktorá žije takmer výlučne vo verejnom cloude (a, čo sa dá povedať, stáva sa čoraz populárnejším), a vezmeme si napríklad premisy alebo privátne cloudy, kde „znalosti na úrovni CCNP „Neodídeš.

Okrem v podstate sietí – aj keď je tu jednoducho nekonečné pole na štúdium, aj keď sa sústredíte len jedným smerom (providerské siete, podniky, dátové centrá, Wi-Fi...)

Samozrejme, mnohí z vás si teraz spomenú na Python a inú „automatizáciu siete“, no je to len nevyhnutná, no nie postačujúca podmienka. Aby sa sieťový inžinier „úspešne pripojil k tímu“, musí byť schopný hovoriť rovnakým jazykom s vývojármi aj kolegami administrátormi / vývojármi. Čo to znamená?

  • vedieť v Linuxe nielen pracovať ako používateľ, ale ho aj spravovať, aspoň na úrovni sysadmin-junior: nainštalovať potrebný softvér, reštartovať padnutú službu, napísať jednoduchú systemd-unit.
  • Pochopte (aspoň vo všeobecnosti), ako funguje sieťový zásobník v Linuxe, ako funguje sieť v hypervízoroch a kontajneroch (lxc / docker / kubernetes).
  • Samozrejme vedieť pracovať s ansible/kuchárom/bábkou alebo iným systémom SCM.
  • Samostatný riadok by mal byť napísaný o SDN a sieťach pre privátne cloudy (napríklad TungstenFabric alebo OpenvSwitch). Toto je ďalší obrovský poznatok.

V skratke som opísal typického špecialistu na tvar T (ako sa dnes už módne hovorí). Zdá sa, že nejde o nič nové, podľa skúseností z rozhovorov sa však nie všetci sieťoví inžinieri môžu pochváliť znalosťou aspoň dvoch tém z vyššie uvedeného zoznamu. V praxi nedostatok vedomostí „v súvisiacich oblastiach“ veľmi sťažuje nielen komunikáciu s kolegami, ale aj pochopenie požiadaviek, ktoré biznis kladie na sieť ako infraštruktúru najnižšej úrovne projektu. A bez tohto pochopenia je ťažšie rozumne obhájiť svoj názor a „predať“ ho firme.

Na druhej strane už samotný zvyk „pochopiť, ako systém funguje“ dáva networkerom veľmi dobrú výhodu oproti rôznym „generalistom“, ktorí o technológiách vedia z článkov na Habré/médium a telegramových chatov, no absolútne netušia, o aké princípy ide, resp. že softvér funguje. A znalosť niektorých zákonitostí, ako viete, úspešne nahrádza znalosť mnohých faktov.

Závery, alebo jednoducho TL;DR

  1. Správca siete (ako DBA alebo VoIP inžinier) je špecialista pomerne úzkeho profilu (na rozdiel od sysadminov / devops / SRE), ktorého potreba nevzniká okamžite (a v skutočnosti nemusí nastať dlho) . Ak však k nemu dôjde, je nepravdepodobné, že ho nahradí externá expertíza (outsourcing alebo bežní všeobecní správcovia, „ktorí sa tiež starajú o sieť“). O niečo smutnejšie je, že potreba takýchto špecialistov je malá a podmienečne v spoločnosti s 800 programátormi a 30 devops/adminmi môžu byť len dvaja networkeri, ktorí robia svoju prácu dokonale. Tie. trh bol a je veľmi, veľmi malý a ešte menej s dobrým platom.
  2. Na druhej strane, dobrý networker v modernom svete by mal vedieť nielen samotné siete (a ako automatizovať ich konfiguráciu), ale aj to, ako s nimi interagujú operačné systémy a softvér, ktorý cez tieto siete beží. Bez toho bude mimoriadne ťažké pochopiť, čo od vás kolegovia žiadajú a sprostredkovať im (rozumne) vaše priania / požiadavky.
  3. Neexistuje žiadny cloud, je to len počítač niekoho iného. Musíte pochopiť, že používanie verejných / súkromných cloudov alebo služieb poskytovateľov hostingu „ktorí robia všetko za vás“ neruší skutočnosť, že vaša aplikácia stále používa sieť a problémy s ňou ovplyvnia fungovanie vašej aplikácie. . Vaša voľba je, kde sa bude nachádzať kompetenčné centrum, ktoré bude zodpovedné za sieť vášho projektu.

Zdroj: hab.com

Pridať komentár