จำเป็นต้องมีเครือข่าย (ไม่จำเป็น)

ในขณะที่เขียนบทความนี้ มีการค้นหาวลี "Network Engineer" ในไซต์งานยอดนิยมซึ่งมีตำแหน่งงานว่างประมาณสามร้อยตำแหน่งทั่วรัสเซีย สำหรับการเปรียบเทียบ การค้นหาวลี "ผู้ดูแลระบบ" จะส่งคืนตำแหน่งงานว่างเกือบ 2.5 พันตำแหน่ง และ "วิศวกร DevOps" - เกือบ 800 ตำแหน่ง

นี่หมายความว่าไม่จำเป็นต้องใช้เครือข่ายอีกต่อไปในช่วงเวลาแห่งชัยชนะบนคลาวด์, Docker, Kubernetes และ Wi-Fi สาธารณะที่แพร่หลายอีกต่อไป
ลองคิดดูสิ (c)

จำเป็นต้องมีเครือข่าย (ไม่จำเป็น)

มาทำความรู้จักกัน. ฉันชื่อ Alexey และฉันเป็นชาวเครือข่าย

ฉันมีส่วนร่วมในเครือข่ายมานานกว่า 10 ปีและทำงานกับระบบ *nix ต่างๆ มานานกว่า 15 ปี (ฉันมีโอกาสได้ปรับแต่งทั้ง Linux และ FreeBSD) ฉันทำงานในผู้ให้บริการโทรคมนาคม บริษัทขนาดใหญ่ที่ถือว่าเป็น "องค์กร" และเมื่อเร็ว ๆ นี้ฉันได้ทำงานในฟินเทคที่ "อายุน้อยและกล้าหาญ" ซึ่งคลาวด์, Devops, kubernetes และคำพูดที่น่ากลัวอื่น ๆ ที่จะทำให้ฉันและเพื่อนร่วมงานของฉันไม่จำเป็นอย่างแน่นอน . สักวันหนึ่ง. อาจจะ.

ข้อจำกัดความรับผิดชอบ: “ ในชีวิตของเราไม่ใช่ทุกสิ่งอยู่เสมอและทุกที่ แต่มีบางสิ่งบางอย่างบางครั้งก็อยู่ในสถานที่” (c) Maxim Dorofeev

ทุกสิ่งที่เขียนด้านล่างนี้สามารถและควรถือเป็นความคิดเห็นส่วนตัวของผู้เขียนซึ่งไม่ได้อ้างว่าเป็นความจริงขั้นสุดท้ายหรือแม้แต่การศึกษาที่เต็มเปี่ยม ตัวละครทั้งหมดเป็นเรื่องสมมติ ความบังเอิญทั้งหมดเป็นแบบสุ่ม

ยินดีต้อนรับสู่โลกของฉัน.

คุณจะพบกับนักสร้างเครือข่ายได้ที่ไหน?

1. ผู้ให้บริการโทรคมนาคม บริษัทผู้ให้บริการ และผู้ประกอบระบบอื่นๆ. ที่นี่ทุกอย่างเรียบง่าย: เครือข่ายสำหรับพวกเขาคือธุรกิจ พวกเขาขายการเชื่อมต่อโดยตรง (ผู้ให้บริการ) หรือให้บริการสำหรับการเปิดตัว/บำรุงรักษาเครือข่ายของลูกค้า

มีประสบการณ์มากมายที่นี่ แต่ไม่มีเงินมากนัก (เว้นแต่คุณจะเป็นผู้อำนวยการหรือผู้จัดการฝ่ายขายที่ประสบความสำเร็จ) อย่างไรก็ตาม หากคุณชอบเครือข่าย และคุณเพิ่งเริ่มต้นการเดินทาง อาชีพที่สนับสนุนผู้ให้บริการที่มีขนาดไม่ใหญ่มากนัก แม้กระทั่งตอนนี้ จะเป็นจุดเริ่มต้นในอุดมคติ (ในรัฐบาลกลาง ทุกอย่างมีสคริปต์ไว้อย่างดี และที่นั่น พื้นที่น้อยสำหรับความคิดสร้างสรรค์) เรื่องราวเกี่ยวกับวิธีที่คุณสามารถเติบโตจากวิศวกรที่ปฏิบัติหน้าที่ในอีกไม่กี่ปีเป็นผู้จัดการระดับ C ก็ค่อนข้างเป็นจริงเช่นกัน แม้ว่าจะหายากก็ตามด้วยเหตุผลที่ชัดเจน จำเป็นต้องมีบุคลากรอยู่เสมอเนื่องจากการหมุนเวียนเกิดขึ้น สิ่งนี้มีทั้งดีและไม่ดีในเวลาเดียวกัน - ในทางกลับกัน มีตำแหน่งว่างอยู่เสมอ - มักจะเป็นตำแหน่งที่กระตือรือร้น/ฉลาดที่สุดรีบออกไปเพื่อเลื่อนตำแหน่งหรือไปยังสถานที่อื่นที่ "อบอุ่นกว่า"

2. “องค์กร” แบบมีเงื่อนไข. ไม่ว่ากิจกรรมหลักของเขาจะเกี่ยวข้องกับไอทีหรือไม่ก็ตาม สิ่งสำคัญคือมีแผนกไอทีเป็นของตัวเอง ซึ่งดูแลการทำงานของระบบภายในของบริษัท รวมถึงเครือข่ายในสำนักงาน ช่องทางการสื่อสารไปยังสาขา ฯลฯ หน้าที่ของวิศวกรเครือข่ายในบริษัทดังกล่าวสามารถดำเนินการ "นอกเวลา" โดยผู้ดูแลระบบ (หากโครงสร้างพื้นฐานเครือข่ายมีขนาดเล็กหรือได้รับการจัดการโดยผู้รับเหมาภายนอก) และผู้เชี่ยวชาญด้านเครือข่าย (หากมี) ก็สามารถทำได้ที่ ในเวลาเดียวกันดูแลโทรศัพท์และ SAN (ไม่ดี) พวกเขาจ่ายต่างกัน - ขึ้นอยู่กับความสามารถในการทำกำไรของธุรกิจ ขนาดของบริษัท และโครงสร้างเป็นอย่างมาก ฉันทำงานร่วมกับบริษัทที่ระบบของ Cisco ถูก "โหลดในถัง" เป็นประจำ และกับบริษัทที่สร้างเครือข่ายจากอุจจาระ แท่งไม้ และเทปสีฟ้า และเซิร์ฟเวอร์ไม่เคยได้รับการอัปเดต (ไม่จำเป็นต้องพูดว่า ไม่มีการสำรองไว้เช่นกัน) มีประสบการณ์น้อยกว่ามากที่นี่ และเกือบจะแน่นอนอย่างแน่นอนว่าจะอยู่ในขอบเขตของการล็อคผู้ขายที่เข้มงวด หรือ "วิธีสร้างบางสิ่งจากความว่างเปล่า" โดยส่วนตัวแล้วฉันพบว่ามันน่าเบื่อมากแม้ว่าหลายคนจะชอบก็ตาม - ทุกอย่างค่อนข้างวัดผลและคาดเดาได้ (ถ้าเรากำลังพูดถึง บริษัท ขนาดใหญ่) "โดระคาบาฮาโต" ฯลฯ อย่างน้อยปีละครั้ง ผู้จำหน่ายรายใหญ่บางรายกล่าวว่าพวกเขาได้สร้างระบบ mega-super-duper ขึ้นมาอีกระบบหนึ่ง ซึ่งจะทำให้ทุกอย่างเป็นอัตโนมัติในขณะนี้ และผู้ดูแลระบบและเครือข่ายทั้งหมดสามารถแยกย้ายกันไปได้ โดยเหลือเพียงสองสามปุ่มในอินเทอร์เฟซที่สวยงาม ความจริงก็คือ แม้ว่าเราจะเพิกเฉยต่อต้นทุนของโซลูชัน แต่เครือข่ายก็จะไม่ไปไหนจากที่นั่น ใช่ บางทีแทนที่จะเป็นคอนโซล ก็จะมีเว็บอินเตอร์เฟสอีกครั้ง (แต่ไม่ใช่ฮาร์ดแวร์ชิ้นใดชิ้นหนึ่ง แต่เป็นระบบขนาดใหญ่ที่จัดการฮาร์ดแวร์ดังกล่าวนับสิบหรือหลายร้อยชิ้น) แต่ความรู้เกี่ยวกับ "วิธีทำงานทุกอย่างภายใน" จะยังคงอยู่ จำเป็น

3.บริษัทผลิตภัณฑ์กำไรที่ได้มาจากการพัฒนา (และบ่อยครั้งคือการดำเนินงาน) ของซอฟต์แวร์หรือแพลตฟอร์มบางอย่าง - ผลิตภัณฑ์เดียวกันนั้น โดยปกติแล้วพวกเขาจะมีขนาดเล็กและว่องไว แต่ก็ยังห่างไกลจากขนาดขององค์กรและกระบวนการของระบบราชการ ที่นี่เป็นที่ที่มีการค้นพบ Devops, Cubers, Dockers และคำพูดแย่ ๆ อื่น ๆ มากมายซึ่งจะทำให้วิศวกรเครือข่ายและวิศวกรเครือข่ายกลายเป็นพื้นฐานที่ไม่จำเป็นอย่างแน่นอน

Networker แตกต่างจากผู้ดูแลระบบอย่างไร?

ในความเข้าใจของคนที่ไม่ได้มาจากไอที - ไม่มีอะไร ทั้งสองมองไปที่หน้าจอสีดำและเขียนคาถา บางครั้งก็สบถเงียบๆ

ในความเข้าใจของโปรแกรมเมอร์ - อาจเป็นไปตามสาขาวิชา ผู้ดูแลระบบดูแลเซิร์ฟเวอร์ เครือข่ายดูแลสวิตช์และเราเตอร์ บางครั้งการบริหารก็แย่ และทุกอย่างก็พังทลายสำหรับทุกคน ในกรณีที่มีอะไรแปลก ๆ ชาวเครือข่ายก็ต้องถูกตำหนิเช่นกัน เพียงเพราะคุณมีเพศสัมพันธ์ นั่นเป็นเหตุผล

ในความเป็นจริงความแตกต่างที่สำคัญคือแนวทางการทำงาน บางที อาจเป็นหนึ่งในเครือข่ายที่มีผู้สนับสนุนแนวทาง “ถ้ามันได้ผล อย่าแตะต้องมัน!” มากที่สุด ตามกฎแล้ว บางสิ่งบางอย่างสามารถทำได้ (ภายในผู้ขายรายเดียว) ด้วยวิธีเดียวเท่านั้น การกำหนดค่าทั้งหมดของกล่องจะอยู่ในฝ่ามือของคุณ ค่าใช้จ่ายของข้อผิดพลาดสูงและบางครั้งก็สูงมาก (เช่นคุณจะต้องเดินทางหลายร้อยกิโลเมตรเพื่อรีบูตเราเตอร์และในเวลานี้ผู้คนหลายพันคนจะไม่มีการสื่อสารซึ่งเป็นสถานการณ์ที่ค่อนข้างบ่อยสำหรับผู้ให้บริการโทรคมนาคม) .

ในความคิดของฉัน นี่คือเหตุผลว่าทำไมวิศวกรเครือข่ายจึงมีแรงจูงใจอย่างมากต่อความเสถียรของเครือข่าย (และการเปลี่ยนแปลงเป็นศัตรูหลักของความเสถียร) และประการที่สอง ความรู้ของพวกเขาเจาะลึกมากกว่าในวงกว้าง (คุณทำไม่ได้ จำเป็นต้องสามารถกำหนดค่า daemons ที่แตกต่างกันได้หลายสิบรายการ คุณจำเป็นต้องรู้เทคโนโลยีและการนำไปใช้งานจากผู้ผลิตอุปกรณ์เฉพาะ) นั่นเป็นสาเหตุที่ผู้ดูแลระบบที่ค้นหาวิธีลงทะเบียน vlan บนระบบ Cisco ใน Google ยังไม่ใช่เครือข่าย และไม่น่าเป็นไปได้ที่เขาจะสามารถรองรับเครือข่ายที่ซับซ้อนไม่มากก็น้อยได้อย่างมีประสิทธิภาพ (รวมถึงแก้ไขปัญหา)

แต่ทำไมคุณถึงต้องการเครือข่ายถ้าคุณมีโฮสต์?

หากต้องการเงินเพิ่ม (และหากคุณเป็นลูกค้ารายใหญ่และเป็นที่รัก หรืออาจฟรี "ในฐานะเพื่อน") วิศวกรศูนย์ข้อมูลจะกำหนดค่าสวิตช์ของคุณให้เหมาะกับความต้องการของคุณ และอาจช่วยคุณสร้างอินเทอร์เฟซ BGP กับผู้ให้บริการด้วยซ้ำ (หากคุณมีเครือข่ายย่อยของที่อยู่ IP ของคุณเองสำหรับการประกาศ)

ปัญหาหลักคือศูนย์ข้อมูลไม่ใช่แผนกไอทีของคุณ แต่เป็นบริษัทที่แยกจากกันซึ่งมีเป้าหมายในการทำกำไร รวมถึงค่าใช้จ่ายของคุณในฐานะลูกค้า ศูนย์ข้อมูลมีชั้นวาง จำหน่ายไฟฟ้าและความเย็น และยังให้การเชื่อมต่อ "ค่าเริ่มต้น" กับอินเทอร์เน็ตอีกด้วย ด้วยโครงสร้างพื้นฐานนี้ ศูนย์ข้อมูลสามารถโฮสต์อุปกรณ์ของคุณ (โคโลเคชั่น) ให้เช่าเซิร์ฟเวอร์ให้กับคุณ (เซิร์ฟเวอร์เฉพาะ) หรือให้บริการที่มีการจัดการ (เช่น OpenStack หรือ K8) แต่ธุรกิจของศูนย์ข้อมูล (โดยปกติ) ไม่ใช่การดูแลระบบโครงสร้างพื้นฐานของลูกค้า เนื่องจากกระบวนการนี้ค่อนข้างใช้แรงงานเข้มข้น ทำงานอัตโนมัติได้ไม่ดี (และในศูนย์ข้อมูลปกติ ทุกอย่างที่เป็นไปได้จะเป็นแบบอัตโนมัติ) รวมเป็นหนึ่งเดียวที่แย่ยิ่งกว่านั้น (ลูกค้าแต่ละราย) เป็นรายบุคคล) และโดยทั่วไปเต็มไปด้วยข้อร้องเรียน (“คุณบอกฉันว่าเซิร์ฟเวอร์ได้รับการตั้งค่าแล้ว แต่ตอนนี้มันล่ม มันเป็นความผิดของคุณทั้งหมด!!!111”) ดังนั้นหากโฮสต์ช่วยเหลือคุณในบางสิ่งบางอย่าง เขาจะพยายามทำให้มันง่ายและสะดวกที่สุดเท่าที่จะเป็นไปได้ เนื่องจากการทำเช่นนั้นยากนั้นไม่ได้ผลกำไร อย่างน้อยก็จากมุมมองของต้นทุนแรงงานของวิศวกรของผู้ดำเนินการรายเดียวกันนี้ (แต่สถานการณ์แตกต่างกัน โปรดดูข้อจำกัดความรับผิดชอบ) นี่ไม่ได้หมายความว่าเจ้าของที่พักจะต้องทำทุกอย่างไม่ดี แต่ไม่ใช่ความจริงที่ว่าเขาจะทำสิ่งที่คุณต้องการจริงๆ

ดูเหมือนว่าสิ่งนี้จะค่อนข้างชัดเจน แต่หลายครั้งในทางปฏิบัติของฉัน ฉันพบว่าบริษัทต่างๆ เริ่มพึ่งพาผู้ให้บริการโฮสติ้งมากกว่าที่ควรจะเป็นเล็กน้อย และสิ่งนี้ไม่ได้นำไปสู่อะไรที่ดีเลย ฉันต้องอธิบายอย่างยาวและละเอียดว่าไม่มี SLA เดียวที่จะครอบคลุมความสูญเสียจากการหยุดทำงาน (มีข้อยกเว้น แต่โดยปกติแล้วจะมีราคาแพงมากสำหรับลูกค้า) และผู้โฮสต์ไม่ได้ตระหนักเลยถึงสิ่งที่เกิดขึ้นใน โครงสร้างพื้นฐานของลูกค้า (ยกเว้นตัวบ่งชี้ทั่วไป) และผู้โฮสต์จะไม่สำรองข้อมูลให้คุณเช่นกัน สถานการณ์จะเลวร้ายยิ่งขึ้นหากคุณมีโฮสต์มากกว่าหนึ่งราย ในกรณีที่เกิดปัญหาระหว่างพวกเขา พวกเขาจะไม่พบคุณอย่างแน่นอนว่าเกิดอะไรขึ้น

จริงๆ แล้ว จุดประสงค์ที่นี่เหมือนกับการเลือก "ทีมผู้ดูแลระบบภายในองค์กรและหน่วยงานภายนอก" ทุกประการ หากคำนวณความเสี่ยงแล้ว คุณภาพก็เป็นที่น่าพอใจ และธุรกิจก็ไม่สนใจ ทำไมไม่ลองดูล่ะ ในทางกลับกัน เครือข่ายเป็นหนึ่งในโครงสร้างพื้นฐานขั้นพื้นฐานที่สุด และแทบจะไม่คุ้มค่าที่จะปล่อยให้บุคคลภายนอกเป็นผู้ดูแล หากคุณสนับสนุนทุกอย่างด้วยตัวเองแล้ว

จำเป็นต้องมีเครือข่ายในกรณีใดบ้าง?

ต่อไปเราจะพูดถึงบริษัทอาหารสมัยใหม่โดยเฉพาะ สำหรับผู้ปฏิบัติงานและองค์กร ทุกอย่างชัดเจนทั้งบวกและลบ - มีการเปลี่ยนแปลงเล็กน้อยในช่วงไม่กี่ปีที่ผ่านมา และก่อนหน้านี้จำเป็นต้องมีระบบเครือข่าย และตอนนี้พวกเขาก็จำเป็นแล้ว แต่สิ่งที่ "อ่อนเยาว์และกล้าหาญ" แบบเดียวกันนั้นยังไม่ชัดเจนนัก บ่อยครั้งที่พวกเขาวางโครงสร้างพื้นฐานทั้งหมดไว้บนคลาวด์ ดังนั้นพวกเขาจึงไม่ต้องการผู้ดูแลระบบด้วยซ้ำ ยกเว้นผู้ดูแลระบบบนคลาวด์เดียวกันเหล่านั้นแน่นอน ในด้านหนึ่ง โครงสร้างพื้นฐานนั้นค่อนข้างเรียบง่ายในการออกแบบ ในทางกลับกัน มันเป็นระบบอัตโนมัติที่ดี (Ansible/puppet, terraform, ci/cd... ก็รู้) แต่ที่นี่ก็มีสถานการณ์ที่คุณไม่สามารถทำได้หากไม่มีวิศวกรเครือข่าย

ตัวอย่างที่ 1 คลาสสิก

สมมติว่าบริษัทเริ่มต้นด้วยเซิร์ฟเวอร์หนึ่งเครื่องที่มีที่อยู่ IP สาธารณะซึ่งตั้งอยู่ในศูนย์ข้อมูล จากนั้นมีสองเซิร์ฟเวอร์ ยิ่งไปกว่านั้น... ไม่ช้าก็เร็ว จะต้องมีเครือข่ายส่วนตัวระหว่างเซิร์ฟเวอร์ เนื่องจากการรับส่งข้อมูล "ภายนอก" ถูกจำกัดทั้งโดยแบนด์วิธ (ไม่เกิน 100Mbit/s เป็นต้น) และโดยปริมาณการดาวน์โหลด/อัปโหลดต่อเดือน (โฮสต์ที่แตกต่างกันจะมีอัตราภาษีที่แตกต่างกัน แต่แบนด์วิดท์ไปยังโลกภายนอกมักจะมีราคาแพงกว่ามาก เครือข่ายส่วนตัว)

ผู้ให้บริการโฮสต์เพิ่มการ์ดเครือข่ายเพิ่มเติมให้กับเซิร์ฟเวอร์และรวมไว้ในสวิตช์ใน vlan แยกต่างหาก พื้นที่ท้องถิ่น "แบน" ปรากฏขึ้นระหว่างเซิร์ฟเวอร์ สะดวกสบาย!

จำนวนเซิร์ฟเวอร์เพิ่มขึ้น และการรับส่งข้อมูลบนเครือข่ายส่วนตัวก็เพิ่มขึ้นเช่นกัน - การสำรองข้อมูล การจำลองแบบ ฯลฯ โฮสต์เสนอที่จะย้ายคุณไปยังสวิตช์แยกกันเพื่อที่คุณจะได้ไม่รบกวนไคลเอนต์อื่น ๆ และพวกเขาก็จะไม่รบกวนคุณด้วย โฮสต์จะติดตั้งสวิตช์บางตัวและกำหนดค่าสวิตช์เหล่านั้น - มีแนวโน้มว่าจะปล่อยให้เครือข่ายแบบแบนเดียวระหว่างเซิร์ฟเวอร์ทั้งหมดของคุณ ทุกอย่างทำงานได้ดี แต่ในช่วงเวลาหนึ่งปัญหาก็เริ่มต้นขึ้น: ความล่าช้าระหว่างโฮสต์เพิ่มขึ้นเป็นระยะ บันทึกบ่นว่ามีแพ็กเก็ต arp มากเกินไปต่อวินาที และในระหว่างการตรวจสอบ Pentester ได้ทำลายเครือข่ายท้องถิ่นทั้งหมดของคุณ ทำให้เซิร์ฟเวอร์เพียงเครื่องเดียวเสียหาย

จะทำอย่างไร?

แบ่งเครือข่ายออกเป็นส่วน ๆ - vlans กำหนดค่าที่อยู่ของคุณเองในแต่ละ vlan เลือกเกตเวย์ที่จะถ่ายโอนการรับส่งข้อมูลระหว่างเครือข่าย กำหนดค่า ACL บนเกตเวย์เพื่อจำกัดการเข้าถึงระหว่างเซ็กเมนต์ หรือแม้แต่ติดตั้งไฟร์วอลล์แยกต่างหากในบริเวณใกล้เคียง

ตัวอย่างที่ 1 ต่อ

เซิร์ฟเวอร์เชื่อมต่อกับ LAN ด้วยสายเดียว สวิตช์ในชั้นวางเชื่อมต่อถึงกัน แต่ถ้าเกิดอุบัติเหตุในชั้นวางหนึ่งชั้นที่อยู่ติดกันอีกสามตัวก็จะหลุดออกไป มีแผนงานอยู่ แต่มีข้อสงสัยเกี่ยวกับความเกี่ยวข้องของแผนงานเหล่านั้น แต่ละเซิร์ฟเวอร์มีที่อยู่สาธารณะของตัวเอง ซึ่งออกโดยโฮสต์และเชื่อมโยงกับแร็ค เหล่านั้น. เมื่อย้ายเซิร์ฟเวอร์จะต้องเปลี่ยนที่อยู่

จะทำอย่างไร?

เชื่อมต่อเซิร์ฟเวอร์โดยใช้ LAG (Link Aggregation Group) ด้วยสายสองเส้นเข้ากับสวิตช์ในแร็ค (ต้องสำรองด้วย) จองการเชื่อมต่อระหว่างชั้นวางและแปลงเป็น "ดาว" (หรือ CLOS ที่ทันสมัยในปัจจุบัน) เพื่อให้การสูญเสียชั้นวางหนึ่งไม่ส่งผลกระทบต่อชั้นวางอื่น เลือกชั้นวาง "ส่วนกลาง" ที่จะวางแกนเครือข่ายและตำแหน่งที่จะเชื่อมต่อชั้นวางอื่นๆ ในเวลาเดียวกันให้เรียงลำดับคำประกาศสาธารณะรับซับเน็ตจากโฮสต์ (หรือจาก RIR ถ้าเป็นไปได้) ซึ่งคุณเอง (หรือผ่านโฮสต์) ประกาศไปทั่วโลก

ทั้งหมดนี้สามารถทำได้โดยผู้ดูแลระบบ "ธรรมดา" ที่ไม่มีความรู้เชิงลึกเกี่ยวกับเครือข่ายหรือไม่? ไม่แน่ใจ. โฮสจะทำแบบนี้มั้ย? อาจจะเป็นเช่นนั้น แต่คุณจะต้องมีข้อกำหนดทางเทคนิคที่มีรายละเอียดพอสมควรซึ่งบางคนจะต้องจัดทำขึ้นด้วย แล้วตรวจสอบว่าทุกอย่างถูกต้อง

ตัวอย่างที่ 2: คลาวด์

สมมติว่าคุณมี VPC ในระบบคลาวด์สาธารณะ หากต้องการเข้าถึงจากสำนักงานหรือส่วนหนึ่งของโครงสร้างพื้นฐานในองค์กรไปยังเครือข่ายท้องถิ่นภายใน VPC คุณต้องกำหนดค่าการเชื่อมต่อผ่าน IPSec หรือช่องทางเฉพาะ ในแง่หนึ่ง IPSec ราคาถูกกว่าเพราะว่า ไม่จำเป็นต้องซื้อฮาร์ดแวร์เพิ่มเติม คุณสามารถตั้งค่าอุโมงค์ระหว่างเซิร์ฟเวอร์ของคุณด้วยที่อยู่สาธารณะและระบบคลาวด์ได้ แต่ - ความล่าช้า ประสิทธิภาพที่จำกัด (เนื่องจากช่องสัญญาณจำเป็นต้องได้รับการเข้ารหัส) รวมถึงการเชื่อมต่อที่ไม่รับประกัน (เนื่องจากการเข้าถึงผ่านทางอินเทอร์เน็ตปกติ)

จะทำอย่างไร?

เพิ่มการเชื่อมต่อผ่านช่องทางเฉพาะ (เช่น AWS เรียกว่า Direct Connect) ในการดำเนินการนี้ ให้ค้นหาผู้ให้บริการพันธมิตรที่จะเชื่อมต่อคุณ ตัดสินใจเลือกจุดเชื่อมต่อที่ใกล้คุณที่สุด (ทั้งคุณกับผู้ให้บริการและผู้ให้บริการกับคลาวด์) และสุดท้ายคือตั้งค่าทุกอย่าง เป็นไปได้ไหมที่จะทำทั้งหมดนี้โดยไม่มีวิศวกรเครือข่าย? ใช่แน่นอน แต่วิธีแก้ปัญหาโดยไม่มีเขาในกรณีที่เกิดปัญหาไม่ชัดเจนอีกต่อไป

นอกจากนี้ยังอาจมีปัญหาเกี่ยวกับความพร้อมใช้งานระหว่างคลาวด์ (หากคุณมีมัลติคลาวด์) หรือปัญหาเกี่ยวกับความล่าช้าระหว่างภูมิภาคต่างๆ เป็นต้น แน่นอนว่าขณะนี้มีเครื่องมือมากมายที่เพิ่มความโปร่งใสของสิ่งที่เกิดขึ้นในระบบคลาวด์ (พันตาแบบเดียวกัน) แต่สิ่งเหล่านี้เป็นเครื่องมือทั้งหมดของวิศวกรเครือข่ายและไม่สามารถทดแทนเขาได้

ฉันสามารถร่างตัวอย่างดังกล่าวได้อีกหลายสิบตัวอย่างจากการฝึกฝนของฉัน แต่ฉันคิดว่าชัดเจนว่าทีมที่เริ่มต้นจากการพัฒนาโครงสร้างพื้นฐานในระดับหนึ่ง ต้องมีบุคคล (ควรมีมากกว่าหนึ่งคน) ที่รู้วิธีการทำงานของเครือข่ายและสามารถกำหนดค่าได้ อุปกรณ์เครือข่ายและแก้ไขปัญหาหากเกิดขึ้น เชื่อฉันสิเขาจะมีอะไรทำ

นักสร้างเครือข่ายควรรู้อะไรบ้าง?

ไม่จำเป็นเลย (และบางครั้งก็อาจเป็นอันตราย) สำหรับวิศวกรเครือข่ายที่จะต้องจัดการกับเครือข่ายเท่านั้นและไม่มีอะไรอื่นอีก แม้ว่าเราจะไม่พิจารณาตัวเลือกที่มีโครงสร้างพื้นฐานที่ทำงานเกือบทั้งหมดในระบบคลาวด์สาธารณะ (และไม่ว่าใครจะพูดอะไรก็ตาม ตัวเลือกนี้กำลังได้รับความนิยมมากขึ้นเรื่อยๆ) และยกตัวอย่างเช่น บนระบบภายในองค์กรหรือระบบคลาวด์ส่วนตัว โดยที่ ใน “ความรู้ระดับ CCNP เพียงอย่างเดียว” “คุณไม่ทิ้ง

นอกจากนี้ในความเป็นจริงแล้ว เครือข่าย - แม้ว่าจะมีสาขาวิชาที่ไม่มีที่สิ้นสุดสำหรับการศึกษาแม้ว่าคุณจะมุ่งเน้นไปที่พื้นที่เดียวเท่านั้น (เครือข่ายผู้ให้บริการ, องค์กร, ศูนย์ข้อมูล, Wi-Fi ... )

แน่นอนว่าหลายๆ คนคงจำ Python และ "ระบบอัตโนมัติของเครือข่าย" อื่นๆ ได้ แต่นี่เป็นเพียงเงื่อนไขที่จำเป็นเท่านั้น แต่ยังไม่เพียงพอ เพื่อให้วิศวกรเครือข่าย “เข้าร่วมทีมได้สำเร็จ” เขาจะต้องสามารถพูดภาษาเดียวกันกับทั้งนักพัฒนาและเพื่อนผู้ดูแลระบบ/ผู้พัฒนาได้ มันหมายความว่าอะไร?

  • ไม่เพียงแต่สามารถทำงานใน Linux ในฐานะผู้ใช้เท่านั้น แต่ยังรวมถึงดูแลระบบด้วย อย่างน้อยก็ในระดับ sysadmin-jun: ติดตั้งซอฟต์แวร์ที่จำเป็น เริ่มบริการที่ล้มเหลวอีกครั้ง เขียน systemd-unit อย่างง่าย
  • ทำความเข้าใจ (อย่างน้อยในแง่ทั่วไป) วิธีการทำงานของสแต็กเครือข่ายใน Linux วิธีการทำงานของเครือข่ายในไฮเปอร์ไวเซอร์และคอนเทนเนอร์ (lxc / docker / kubernetes)
  • แน่นอนว่าสามารถทำงานร่วมกับ ansible/chef/puppet หรือระบบ SCM อื่นๆ ได้
  • ควรเขียนบรรทัดแยกต่างหากเกี่ยวกับ SDN และเครือข่ายสำหรับคลาวด์ส่วนตัว (เช่น TungstenFabric หรือ OpenvSwitch) นี่เป็นความรู้อีกชั้นหนึ่งที่ยิ่งใหญ่

กล่าวโดยสรุป ฉันได้อธิบายเกี่ยวกับผู้เชี่ยวชาญเรื่องรูปร่างตัว T ทั่วไป (ซึ่งตอนนี้กำลังเป็นกระแสนิยม) ดูเหมือนไม่มีอะไรใหม่ แต่จากประสบการณ์การสัมภาษณ์ ไม่ใช่วิศวกรเครือข่ายทุกคนที่จะมีความรู้อย่างน้อยสองหัวข้อจากรายการด้านบน ในทางปฏิบัติ การขาดความรู้ "ในสาขาที่เกี่ยวข้อง" ทำให้เป็นเรื่องยากมากไม่เพียงแต่ในการสื่อสารกับเพื่อนร่วมงาน แต่ยังต้องเข้าใจข้อกำหนดที่ธุรกิจวางไว้บนเครือข่ายในฐานะโครงสร้างพื้นฐานระดับต่ำสุดของโครงการ และหากไม่มีความเข้าใจนี้ การปกป้องมุมมองของคุณและ "ขาย" ให้กับธุรกิจก็จะยากขึ้น

ในทางกลับกัน นิสัยเดียวกันของการ "ทำความเข้าใจว่าระบบทำงานอย่างไร" ทำให้เครือข่ายได้เปรียบอย่างมากเหนือ "ผู้ทั่วไป" หลายคนที่รู้เกี่ยวกับเทคโนโลยีจากบทความเกี่ยวกับHabré/สื่อ และแชทบน Telegram แต่ไม่มีความคิดอย่างแน่นอนว่าจะทำอย่างไร หลักการนี้หรือซอฟต์แวร์นั้นทำงานอยู่? และความรู้เกี่ยวกับรูปแบบบางอย่างดังที่ทราบกันดีว่าสามารถเข้ามาแทนที่ความรู้ในข้อเท็จจริงหลายประการได้สำเร็จ

ข้อสรุปหรือเพียงแค่ TL; DR

  1. ผู้ดูแลระบบเครือข่าย (เช่น วิศวกร DBA หรือ VoIP) เป็นผู้เชี่ยวชาญที่มีโปรไฟล์ค่อนข้างแคบ (ไม่เหมือนกับผู้ดูแลระบบ/ผู้พัฒนา/SRE) ซึ่งความต้องการไม่ได้เกิดขึ้นทันที (และจริงๆ แล้วอาจไม่เกิดขึ้นเป็นเวลานาน) . แต่หากเกิดขึ้น ก็ไม่น่าจะถูกแทนที่ด้วยผู้เชี่ยวชาญภายนอก (ผู้ดูแลระบบภายนอกหรือผู้ดูแลระบบทั่วไปทั่วไป “ที่คอยดูแลเครือข่ายด้วย”) สิ่งที่น่าเศร้ากว่านั้นคือความต้องการผู้เชี่ยวชาญนั้นมีน้อย และตามเงื่อนไขในบริษัทที่มีโปรแกรมเมอร์ 800 คนและนักพัฒนาซอฟต์แวร์/ผู้ดูแลระบบ 30 คน อาจมีเครือข่ายเพียงสองคนที่ทำงานได้อย่างยอดเยี่ยมและมีความรับผิดชอบ เหล่านั้น. ตลาดเคยเป็นและมีขนาดเล็กมากและมีเงินเดือนที่ดี - แม้แต่น้อยด้วยซ้ำ
  2. ในทางกลับกัน นักสร้างเครือข่ายที่ดีในโลกสมัยใหม่ต้องรู้จักไม่เพียงแต่ตัวเครือข่ายเท่านั้น (และวิธีกำหนดค่าอัตโนมัติ) แต่ยังต้องรู้ด้วยว่าระบบปฏิบัติการและซอฟต์แวร์ที่ทำงานบนเครือข่ายเหล่านี้โต้ตอบกับเครือข่ายเหล่านี้อย่างไร หากไม่มีสิ่งนี้ มันจะเป็นเรื่องยากมากที่จะเข้าใจว่าเพื่อนร่วมงานของคุณขออะไรจากคุณ และเพื่อถ่ายทอดความปรารถนา/ข้อกำหนดของคุณ (อย่างสมเหตุสมผล) ให้พวกเขาทราบ
  3. ไม่มีคลาวด์ เป็นเพียงคอมพิวเตอร์ของคนอื่น คุณต้องเข้าใจว่าการใช้คลาวด์สาธารณะ/ส่วนตัวหรือบริการของผู้ให้บริการโฮสติ้ง “ที่ทำทุกอย่างให้คุณแบบครบวงจร” จะไม่เปลี่ยนความจริงที่ว่าแอปพลิเคชันของคุณยังคงใช้เครือข่ายอยู่ และปัญหาที่เกิดขึ้นจะส่งผลต่อการทำงานของ ใบสมัครของคุณ. ทางเลือกของคุณคือที่ตั้งของศูนย์ความสามารถซึ่งจะรับผิดชอบเครือข่ายของโครงการของคุณ

ที่มา: will.com

เพิ่มความคิดเห็น