NÀtverkstekniker (Àr) nödvÀndiga

Vid skrivandet av denna artikel gav en sökning pÄ en populÀr jobbsida med frasen "NÀtverkstekniker" omkring trehundra lediga tjÀnster över hela Ryssland. För jÀmförelsevis visar en sökning med frasen "systemadministratör" nÀstan 2500 lediga tjÀnster, medan "DevOps ingenjör" visar nÀstan 800.

Betyder detta att nÀtverksfolk inte lÀngre behövs i en tid med dominerande moln, Docker, Kubernetes och allestÀdes nÀrvarande offentliga Wi-Fi?
LÄt oss reda ut detta (c)

NÀtverkstekniker (Àr) nödvÀndiga

LÄt mig presentera mig. Jag heter Aleksei och jag Àr nÀtverksingenjör.

Jag har arbetat med nÀtverk i mer Àn 10 Är och har mer Àn 15 Ärs erfarenhet av olika *nix-system (har fÄtt möjlighet att arbeta med bÄde Linux och FreeBSD). Jag har arbetat för teleoperatörer, stora företag som ofta betraktas som "enterprise", och pÄ senare tid har jag arbetat i en "ung och djÀrv" fintech dÀr moln, DevOps, Kubernetes och andra skrÀmmande termer som sÀkerligen kommer att göra mig och mina kollegor överflödiga. NÀr som helst. Kanske.

ansvarsfriskrivning: "I vÄrt liv Àr inte allt, alltid och överallt, utan ibland och pÄ vissa stÀllen" (c) Maxim Dorofejev.

Allt som skrivit nedan kan och bör anses vara författarens personliga Äsikter, utan ansprÄk pÄ den slutgiltiga sanningen, och inte ens pÄ en fullstÀndig forskning. Alla karaktÀrer Àr fiktiva, alla likheter Àr slumpmÀssiga.

VÀlkommen till min vÀrld.

Var kan man överhuvudtaget trÀffa nÀtverksfolk?

1. Telekomoperatörer, tjÀnsteföretag och andra integratörer. HÀr Àr det enkelt: nÀtverk Àr en affÀr för dem. De sÀljer antingen direkt anslutning (operatörer) eller tillhandahÄller tjÀnster för att starta/underhÄlla nÀtverk för sina kunder.

Det finns mycket erfarenhet hĂ€r, men inte mycket pengar (om du inte Ă€r direktör eller en framgĂ„ngsrik försĂ€ljningschef). Men om du gillar nĂ€tverk och Ă€r i början av din karriĂ€r, kommer en roll i support pĂ„ en mindre operatör fortfarande vara en perfekt startpunkt (i federala företag Ă€r allt vĂ€ldigt genomsyrat av manus och det finns lite utrymme för kreativitet). BerĂ€ttelser om att man kan vĂ€xa frĂ„n en jouringenjör till en C-level chef pĂ„ nĂ„gra Ă„r Ă€r ocksĂ„ fullt möjliga, Ă€ven om de Ă€r sĂ€llsynta av uppenbara skĂ€l. Det finns alltid behov av personal, eftersom personalomsĂ€ttningen verkligen förekommer. Det Ă€r bĂ„de bra och dĂ„ligt pĂ„ samma gĂ„ng — det finns alltid lediga tjĂ€nster, Ă„ andra sidan tenderar de mest aktiva/intelligenta ofta att snabbt gĂ„ vidare till högre positioner eller till andra, mer 'bekvĂ€ma' platser.

2. Tveksamt "enterprise". Oavsett om företagets huvudverksamhet Ă€r IT eller inte, Ă€r det viktigaste att det finns en egen IT-avdelning som ansvarar för drift av företagets interna system, inklusive nĂ€tverk pĂ„ kontoren och kommunikationskanaler till filialerna osv. I sĂ„dana företag kan en systemadministratör (om nĂ€tverksinfrastrukturen Ă€r liten, eller hanteras av en extern entreprenör) fungera som nĂ€tverksingenjör. Om det finns en nĂ€tverksingenjör kan den personen dessutom övervaka telefoni och SAN (för att vara tydlig). Lönerna varierar mycket — det beror starkt pĂ„ affĂ€rens lönsamhet, företagets storlek och organisation. Jag har arbetat med företag dĂ€r man ofta belastade Routerns kapacitet, och företag dĂ€r nĂ€tverket byggdes av skrĂ€p, pinnar och blĂ„ tejp, dĂ€r servrarna aldrig uppdaterades (det Ă€r onödigt att nĂ€mna att det inte heller fanns nĂ„gra reserver). Erfarenheten hĂ€r Ă€r betydligt mindre, och den kommer nĂ€stan sĂ€kert att vara inom omrĂ„det för hĂ„rd vendor-lock eller

3. Produktföretag, vars vinst kommer frĂ„n utveckling (och ofta, drift) av nĂ„gon mjukvara eller plattform — den sĂ„ kallade produkten. Vanligtvis Ă€r de smĂ„ och snabba, de har inte kommit lĂ„ngt i skala jĂ€mfört med stora företag och deras byrĂ„krati. HĂ€r finns massor av devops, kuber, dockor och andra skrĂ€mmande termer som sĂ€kert kommer att göra nĂ€tverken och nĂ€tverksingĂ©njörerna till en överflödig rest.

Vad skiljer en nÀtverksingenjör frÄn en systemadministratör?

I mĂ€nniskors uppfattning utanför IT — Ă€r det inget. BĂ„de den ena och den andra tittar pĂ„ en svart skĂ€rm och skriver nĂ„got slags formel, ibland muttrande tyst.

I programmerarnas ögon — kanske som ett Ă€mnesomrĂ„de. Systemadministratörer administrerar servrar, nĂ€tverksadministratörer hanterar switchar och routrar. Ibland görs det dĂ„ligt, och dĂ„ faller allt ihop. I sĂ„dana fall Ă€r det alltid nĂ€tverksadministratörernas fel. Just because fuck you, that’s why.

Men i verkligheten Ă€r den viktigaste skillnaden arbetssĂ€ttet. Bland nĂ€tverksadministratörer Ă€r det nog flest som föresprĂ„kar ”Fungerar — rör det inte!”. Att göra nĂ„got (inom en enskild leverantör) kan vanligtvis göras pĂ„ endast ett sĂ€tt, hela konfigurationen av enheten — den ligger dĂ€r, i din hand. Priset för ett misstag — Ă€r högt, ibland till och med mycket högt (till exempel mĂ„ste man Ă„ka flera hundra kilometer för att starta om routern, medan flera tusen personer kommer vara utan kontakt — en helt vanlig situation för en operatör).

Enligt min Ă„sikt Ă€r det just dĂ€rför som nĂ€tverksingenjörer, Ă„ ena sidan, Ă€r extremt motiverade att upprĂ€tthĂ„lla nĂ€tverksstabilitet (och förĂ€ndringar Ă€r stabilitetens frĂ€msta fiende), och Ă„ andra sidan gĂ„r deras kunskaper djupare snarare Ă€n bredare (det krĂ€vs inte att man kan konfigurera tiotals olika tjĂ€nster, man mĂ„ste förstĂ„ teknologierna och deras implementering hos en specifik tillverkare). Det Ă€r dĂ€rför en systemadministratör som har googlat hur man konfigurerar VLAN pĂ„ Cisco — inte rĂ€knas som en nĂ€tverksadministratör. Och det Ă€r osannolikt att han effektivt kan stödja (eller felsöka) ett mer eller mindre komplext nĂ€tverk.

Men varför behövs en nÀtverksadministratör om du har hostingleverantören?

Mot en extra kostnad (och om du Ă€r en mycket stor och omtyckt kund — kanske till och med gratis, "som en vĂ€n") kommer datacenteringenjörer att konfigurera dina switchar efter dina behov och kanske till och med hjĂ€lpa till att etablera BGP-anslutningar med leverantörerna (om du har ditt eget underrĂ€ttelse IP-adresser för annonseringen).

Huvudproblemet Àr att datacentret inte Àr din IT-avdelning, utan ett separat företag vars mÄl Àr att göra vinst. Detta inkluderar ocksÄ vinster frÄn dig som kund. Datacentret tillhandahÄller hyllor, ser till att de fÄr el och kyla, samt ger viss "standard" anslutning till internet. Baserat pÄ denna infrastruktur kan datacentret placera din utrustning (colocation), hyra ut en server till dig (dedicated server), eller erbjuda managed service (till exempel OpenStack eller K8s). Men datacentrets (vanligtvis) affÀrsidé Àr inte att administrera kundernas infrastruktur, eftersom denna process Àr ganska arbetsintensiv, svÄrt att automatisera (och i ett normalt datacenter Àr allt som möjligt automatiserat), Ànnu svÄrare att standardisera (varje kund Àr unik) och i allmÀnhet kan leda till klagomÄl ("ni installerade servern Ät mig, men nu har den kraschat, det Àr ert fel!!!111"). DÀrför, om hostingleverantören hjÀlper dig med nÄgot, kommer de att försöka göra det sÄ enkelt och "standardiserat" som möjligt. Det Àr för att göra nÄgot komplicerat inte Àr lönsamt, Ätminstone sett till den arbetsmÀngd som ingenjörerna hos denna hostingleverantör har (men situationer kan vara olika, se disclaimer). Detta innebÀr inte att hostingleverantören nödvÀndigtvis gör allt dÄligt. Men det Àr lÄngt ifrÄn en garanti att de kommer att göra precis det som du verkligen behövde.

Det kan tyckas vara en ganska uppenbar sak, men jag har flera gĂ„nger stött pĂ„ att företag har börjat förlita sig pĂ„ sin hostingprovider lite mer Ă€n vad som var rimligt, vilket aldrig lett till nĂ„got bra. Jag har varit tvungen att förklara lĂ€nge och detaljerat att ingen SLA kan tĂ€cka förluster frĂ„n stillestĂ„nd (det finns undantag, men dessa Ă€r vanligtvis mycket, MYCKET dyra för kunden) och att hostingleverantören överhuvudtaget inte Ă€r medveten om vad som hĂ€nder i bestĂ€llarnas infrastruktur (förutom vĂ€ldigt allmĂ€nna indikatorer). Och backuper gör hostingleverantören inte för dig heller. Ännu vĂ€rre blir det om du har mer Ă€n en hostingleverantör. Vid problem mellan dem kommer de definitivt inte att reda ut vad som egentligen har gĂ„tt fel.

Motivationen hĂ€r Ă€r exakt de samma som nĂ€r det gĂ€ller valet mellan "egen administratörsgrupp vs outsourcing". Om riskerna Ă€r berĂ€knade, kvaliteten Ă€r tillfredsstĂ€llande och företaget inte har nĂ„got emot det — varför inte prova? Å andra sidan Ă€r nĂ€tverket en av de mest grundlĂ€ggande lagren av infrastrukturen, och det Ă€r tveksamt om man bör överlĂ€mna det Ă„t externa personer, sĂ€rskilt om allt annat redan hanteras internt.

NÀr behövs en nÀtverksingenjör?

HĂ€rnĂ€st handlar det specifikt om moderna produktbolag. Med operatörer och stora företag Ă€r situationen mer eller mindre klar — det har inte förĂ€ndrats mycket under de senaste Ă„ren, och nĂ€tverksingenjörer har alltid varit nödvĂ€ndiga dĂ€r. Men med de "unga och djĂ€rva" Ă€r det inte sĂ„ entydigt. Ofta lĂ€gger de hela sin infrastruktur i molnet, sĂ„ de behöver inte speciellt mĂ„nga administratörer — förutom administratörerna för just dessa moln, förstĂ„s. Infrastrukturen Ă€r Ă„ ena sidan ganska enkel, Ă„ andra sidan Ă€r den vĂ€l automatiserad (ansible/puppet, terraform, ci/cd
 ni vet). Men Ă€ven hĂ€r finns det situationer dĂ€r man inte kan klara sig utan en nĂ€tverksingenjör.

Exempel 1, klassiskt

Anta att företaget börjar med en server med en offentlig ip-adress, som stÄr i datacentret. Sedan ökar antalet servrar till tvÄ. Sedan fler... Tidigt eller sent kommer behovet av ett privat nÀtverk mellan servrarna. Eftersom "extern" trafik begrÀnsas bÄde i bandbredd (max 100 Mbit/s till exempel) och i volym nedladdat/överfört per mÄnad (olika vÀrdar har olika priser, men bandbredd i den externa vÀrlden Àr oftast mycket dyrare Àn för ett privat nÀtverk).

VÀrden lÀgger till extra nÀtverkskort i servrarna och ansluter dem till sina switchar i en separat vlan. En "platt" lokalnÀtverk uppstÄr mellan servrarna. BekvÀmt!

Antalet servrar ökar, trafiken i det privata nĂ€tverket ocksĂ„ — sĂ€kerhetskopior, replikeringar osv. Huvudleverantören erbjuder att flytta er till separata switchar sĂ„ att ni inte stör andra kunder och de inte stör er. Leverantören installerar vissa switchar och konfigurerar dem pĂ„ ett eller annat sĂ€tt — troligtvis lĂ€mnar man en platt nĂ€tverksstruktur mellan alla era servrar. Allt fungerar bra, men vid en viss punkt börjar problem att uppstĂ„: latenser mellan vĂ€rdarna ökar periodvis, i loggarna syns varningar om för mĂ„nga arp-paket per sekund, och en penetrationstestare lyckades bryta sig in i hela ert lokala nĂ€tverk genom att bara hacka en server.

Vad behöver göras?

Dela nĂ€tverket i segment — VLAN. Konfigurera en egen adressering i varje VLAN, utse en gateway som hanterar trafiken mellan nĂ€tverken. PĂ„ gatewayn sĂ€tta upp ACL för att begrĂ€nsa Ă„tkomst mellan segmenten, eller helt enkelt installera en separat brandvĂ€gg bredvid.

Exempel 1, fortsÀttning

Servrarna Àr anslutna till det lokala nÀtverket med en kabel. Switcharna i racken Àr pÄ nÄgot sÀtt sammanlÀnkade, men vid ett haveri i ett rack förlorar ocksÄ tre angrÀnsande rack anslutningen. Det finns scheman, men det finns tveksamheter kring deras relevans. Varje server har en offentlig adress som tillhandahÄlls av leverantören och Àr kopplad till racken. D.v.s. nÀr servern flyttas mÄste adressen Àndras.

Vad behöver göras?

Anslut servrarna med hjĂ€lp av LAG (Link Aggregation Group) med tvĂ„ kablar till switcharna i racken (Ă€ven dessa behöver redundans). SĂ€kra anslutningarna mellan racken, omkonfigurera till "stjĂ€rna" (eller den idag trendiga CLOS), sĂ„ att bortfall av ett rack inte pĂ„verkar de andra. Utse "centrala" rack dĂ€r det nĂ€tverkskĂ€rnan kommer att placeras och dĂ€r andra rack kommer att kopplas in. ÅtgĂ€rda Ă€ven offentlig adressering, erhĂ„ll av leverantören (eller av RIR, om möjligt) ett subnet som ni, sjĂ€lva (eller via leverantören) kan annonsera mot omvĂ€rlden.

Kan en "vanlig" systemadministratör utan djupa kunskaper inom nÀtverk klara av allt detta? Jag Àr osÀker. Kommer leverantören att göra det? Kanske, men det kommer att krÀvas en ganska detaljerad kravspecifikation frÄn er, som ocksÄ behöver skrivas av nÄgon. Och dÀrefter kontrollera att allt görs korrekt.

Exempel 2. Moln

Anta att du har en VPC i nĂ„got offentligt moln. För att fĂ„ Ă„tkomst frĂ„n kontoret eller on-prem-delen av infrastrukturen till det lokala nĂ€tverket inom VPC, behöver du konfigurera en anslutning via IPSec eller en dedikerad lina. Å ena sidan Ă€r IPSec billigare eftersom du inte behöver köpa extra hĂ„rdvara, du kan stĂ€lla in en tunnel mellan din server med offentlig IP-adress och molnet. Men - det finns förseningar, begrĂ€nsad prestanda (eftersom kanalen mĂ„ste krypteras), plus osĂ€ker anslutning (eftersom Ă„tkomsten gĂ„r genom vanligt internet).

Vad behöver göras?

UpprÀtta en anslutning via en dedikerad lina (till exempel, hos AWS kallas detta Direct Connect). För detta, hitta en partneroperatör som kan ansluta dig, bestÀmma nÀrmaste ingÄngspunkt (bÄde för dig till operatören och operatören till molnet), och slutligen konfigurera allt. Kan detta göras utan nÀtverksingenjör? Sannolikt, ja. Men hur man felsöker detta utan honom i hÀndelse av problem Àr inte sÄ klart.

Det kan ocksÄ uppstÄ problem med tillgÀnglighet mellan moln (om du har en multiskylt) eller problem med fördröjningar mellan olika regioner, osv. Certainly har det nu kommit mÄnga verktyg som ökar transparensen kring vad som hÀnder i molnet (som Thousand Eyes), men dessa Àr fortfarande nÀtverksingenjörens verktyg, inte dess ersÀttning.

Jag skulle kunna nÀmna ett dussin sÄdana exempel frÄn min egen praktik, men jag tror att det Àr tydligt att i ett team, nÀr infrastrukturen nÄr en viss utvecklingsnivÄ, mÄste det finnas nÄgon (och helst flera) som vet hur nÀtverket fungerar, kan konfigurera nÀtverksutrustningen och lösa problem om de uppstÄr. Tro mig, det kommer att finnas mycket att göra.

Vad bör en nÀtverksingenjör veta?

Det Ă€r inte nödvĂ€ndigt (och ibland till och med skadligt) att nĂ€tverksingenjören endast fokuserar pĂ„ nĂ€tverket och inget annat. Även om man inte tar hĂ€nsyn till alternativet med infrastruktur som nĂ€stan helt lever i det offentliga molnet (och det blir, oavsett hur man ser pĂ„ det, allt mer populĂ€rt), och tar exempelvis on-premise eller privata moln, dĂ€r man inte klarar sig endast med 'kunskaper pĂ„ CCNP-nivĂ„'.

Förutom nĂ€tverken - pĂ„ detta omrĂ„de finns det en oĂ€ndlig mĂ€ngd att studera, Ă€ven om man endast fokuserar pĂ„ ett visst omrĂ„de (operatörnĂ€tverk, företag, datacenter, WiFi
)

SjÀlvklart, mÄnga av er kommer att tÀnka pÄ Python och annan "nÀtverksautomation", men det Àr bara ett nödvÀndigt, men inte tillrÀckligt villkor. För att en nÀtverksingenjör ska kunna "integrera framgÄngsrikt i teamet" mÄste han kunna prata samma sprÄk med bÄde utvecklare och kollegor inom administration/devops. Vad innebÀr det?

  • kunna inte bara arbeta i Linux som anvĂ€ndare utan ocksĂ„ administrera det, Ă„tminstone pĂ„ en junior sysadmin-nivĂ„: installera nödvĂ€ndig programvara, starta om en kraschad tjĂ€nst, skriva en enkel systemd-enhet.
  • förstĂ„ (Ă„tminstone i stora drag) hur nĂ€tverksstacken i Linux fungerar, hur nĂ€tverket Ă€r uppbyggt i hypervisorer och containrar (lxc / docker / kubernetes).
  • SjĂ€lvklart, kunna arbeta med ansible/chef/puppet eller nĂ„got annat SCM-system.
  • Det bör ocksĂ„ nĂ€mnas speciellt om SDN och nĂ€tverk för privata moln (till exempel TungstenFabric eller OpenvSwitch). Detta Ă€r Ă€nnu en stor mĂ€ngd kunskap.

Sammanfattningsvis har jag beskrivit en typisk T-formad specialist (som det numera kallas). Det verkar som inget nytt, men av erfarenhet frÄn intervjuer kan inte alla nÀtverksingenjörer skryta med att ha kunskaper i Ätminstone tvÄ Àmnen frÄn listan ovan. I praktiken gör bristen pÄ kunskaper "inom angrÀnsande omrÄden" kommunikationen med kollegor mycket svÄrare, liksom förstÄelsen för de krav som verksamheten stÀller pÄ nÀtverket som den mest grundlÀggande infrastrukturen i projektet. Utan denna förstÄelse blir det svÄrare att argumentera för sin Äsikt och "sÀlja" den till verksamheten.

Å andra sidan ger den vanan att "förstĂ„ hur systemet fungerar" nĂ€tverksingenjörer ett stort försprĂ„ng framför olika "specialister med bred kompetens" som endast kĂ€nner till teknologier genom artiklar pĂ„ HabrĂ©/Medium och chattar pĂ„ Telegram, men som inte har nĂ„gon verklig förstĂ„else för vilka principer som ligger bakom olika programvaror. Och att kĂ€nna till vissa Ă„kommor ersĂ€tter framgĂ„ngsrikt kunskapen om mĂ„nga fakta.

Slutsatser, eller helt enkelt TL;DR

  1. NĂ€tverksadministratör (precis som DBA eller VoIP-ingenjör) Ă€r en specialist med ganska snĂ€va kunskapsomrĂ„den (i motsats till systemadministratörer/devops/SRE), vars behov inte uppstĂ„r omedelbart (och kanske inte ens under lĂ„ng tid). Men nĂ€r behovet vĂ€l uppstĂ„r, Ă€r det osannolikt att man kan ersĂ€tta den expertisen frĂ„n utsidan (outsourcing eller vanliga administratörer med bred profil, "som ocksĂ„ hĂ„ller ett öga pĂ„ nĂ€tet"). Det Ă€r nĂ„got sorgligt — behovet av sĂ„dana specialister Ă€r litet, och i en företag med 800 programmerare och 30 devops/administratörer kan det finnas endast tvĂ„ nĂ€tverksadministratörer som gör ett utmĂ€rkt jobb. Det vill sĂ€ga, marknaden har varit och Ă€r fortfarande mycket liten, och för att fĂ„ en bra lön — Ă€nnu mindre.
  2. Å andra sidan bör en bra nĂ€tverksadministratör i den moderna vĂ€rlden inte bara veta om nĂ€tverk (och hur man automatiserar deras konfiguration), utan ocksĂ„ hur operativsystem och programvaror som körs ovanpĂ„ dessa nĂ€tverk interagerar. Utan detta blir det extremt svĂ„rt att förstĂ„ vad kollegorna begĂ€r av dig och att motivera dina önskemĂ„l/krav till dem.
  3. Det finns ingen moln, det Ă€r bara nĂ„gon annans dator. Man mĂ„ste förstĂ„ att anvĂ€ndningen av offentliga/privata moln eller tjĂ€nster frĂ„n hostingleverantörer "som gör allt Ă„t dig nyckelfĂ€rdigt" inte avskaffar det faktum att din applikation fortfarande anvĂ€nder nĂ€tverket, och problem med det kommer att pĂ„verka din applikations funktion. Ditt val — var kompetenscentret kommer att ligga, som kommer att ansvarar för nĂ€tverket för ditt projekt.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster