เครือข่ายอัตโนมัติ กรณีจากชีวิตของใครคนหนึ่ง

เฮ้ ฮับ!

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

ข้อจำกัดความรับผิดชอบ

เครื่องมือหลักของเราสำหรับระบบอัตโนมัติคือ Ansible (เป็นเครื่องมืออัตโนมัติ) และ Git (เป็นพื้นที่เก็บข้อมูลสำหรับ Playbooks Ansible) ฉันขอจองทันทีว่านี่ไม่ใช่บทความเบื้องต้นที่เราพูดถึงตรรกะของ Ansible หรือ Git และอธิบายสิ่งพื้นฐาน (เช่น อะไรคือบทบาทหน้าที่ ไฟล์สินค้าคงคลัง ตัวแปรใน Ansible หรือจะเกิดอะไรขึ้นเมื่อ คุณป้อนคำสั่ง git push หรือ git commit) เรื่องราวนี้ไม่เกี่ยวกับวิธีการฝึกฝน Ansible และกำหนดค่า NTP หรือ SMTP บนอุปกรณ์ของคุณ นี่เป็นเรื่องราวเกี่ยวกับวิธีที่คุณสามารถแก้ไขปัญหาเครือข่ายโดยไม่มีข้อผิดพลาดได้อย่างรวดเร็วและดีกว่า ขอแนะนำให้มีความเข้าใจที่ดีเกี่ยวกับวิธีการทำงานของเครือข่าย โดยเฉพาะอย่างยิ่ง TCP/IP, OSPF, BGP protocol stack คืออะไร เราจะนำตัวเลือก Ansible และ Git ออกจากสมการด้วย หากคุณยังคงต้องเลือกโซลูชันเฉพาะ เราขอแนะนำให้อ่านหนังสือ “Network Programmability and Automation” ทักษะสำหรับวิศวกรเครือข่ายยุคหน้า" โดย Jason Edelman, Scott S. Lowe และ Matt Oswalt

ตอนนี้ถึงจุดแล้ว

คำแถลงปัญหา

ลองนึกภาพสถานการณ์: ตี 3 คุณนอนหลับและฝันดี สายเข้า. ผู้อำนวยการฝ่ายเทคนิคโทรมา:

- ใช่?
— ###, ####, ##### คลัสเตอร์ไฟร์วอลล์ล่มและไม่เพิ่มขึ้น!!!
คุณขยี้ตา พยายามทำความเข้าใจกับสิ่งที่เกิดขึ้นและจินตนาการว่าสิ่งนี้จะเกิดขึ้นได้อย่างไร ในโทรศัพท์ คุณจะได้ยินเสียงเส้นผมบนศีรษะของผู้กำกับกำลังน้ำตาไหล และเขาขอให้โทรกลับ เพราะนายพลโทรหาเขาในสายที่สอง

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

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

เฉินหลงสามารถอธิบายสถานการณ์ได้ดี

เครือข่ายอัตโนมัติ กรณีจากชีวิตของใครคนหนึ่ง

ขอบคุณแจ็กกี้

ไม่ใช่สถานการณ์ที่น่าพอใจใช่ไหม?

ทิ้งเครือข่ายของเราไว้กับความโศกเศร้าสักพักหนึ่ง

เรามาหารือกันว่ากิจกรรมจะพัฒนาต่อไปอย่างไร

เราขอแนะนำลำดับการนำเสนอเนื้อหาดังต่อไปนี้

  1. ลองดูแผนภาพเครือข่ายและดูวิธีการทำงาน
  2. เราจะอธิบายวิธีที่เราถ่ายโอนการตั้งค่าจากเราเตอร์หนึ่งไปยังอีกเครื่องหนึ่งโดยใช้ Ansible
  3. เรามาพูดถึงระบบอัตโนมัติของโครงสร้างพื้นฐานด้านไอทีโดยรวมกัน

แผนภาพเครือข่ายและคำอธิบาย

โครงการนี้

เครือข่ายอัตโนมัติ กรณีจากชีวิตของใครคนหนึ่ง

พิจารณาแผนภาพเชิงตรรกะขององค์กรของเรา เราจะไม่ระบุชื่อผู้ผลิตอุปกรณ์เฉพาะเจาะจง สำหรับวัตถุประสงค์ของบทความนี้มันไม่สำคัญ (ผู้อ่านที่สนใจจะเดาได้ว่าใช้อุปกรณ์ประเภทใด). นี่เป็นเพียงหนึ่งในข้อดีที่ดีของการทำงานกับ Ansible เมื่อตั้งค่า โดยทั่วไปเราไม่สนใจว่าเป็นอุปกรณ์ประเภทใด เพื่อทำความเข้าใจ นี่คืออุปกรณ์จากผู้ขายที่มีชื่อเสียง เช่น Cisco, Juniper, Check Point, Fortinet, Palo Alto...คุณสามารถทดแทนตัวเลือกของคุณเองได้

เรามีภารกิจหลักสองประการในการเคลื่อนย้ายการจราจร:

  1. ตรวจสอบให้แน่ใจว่ามีการเผยแพร่บริการของเราซึ่งเป็นธุรกิจของบริษัท
  2. ให้การสื่อสารกับสาขา ศูนย์ข้อมูลระยะไกล และองค์กรบุคคลที่สาม (คู่ค้าและลูกค้า) รวมถึงการเข้าถึงอินเทอร์เน็ตของสาขาผ่านสำนักงานกลาง

เริ่มจากองค์ประกอบพื้นฐานกันก่อน:

  1. เราเตอร์ชายแดนสองตัว (BRD-01, BRD-02);
  2. คลัสเตอร์ไฟร์วอลล์ (FW-CLUSTER);
  3. สวิตช์หลัก (L3-CORE);
  4. เราเตอร์ที่จะกลายเป็นเส้นชีวิต (ในขณะที่เราแก้ไขปัญหาเราจะโอนการตั้งค่าเครือข่ายจาก FW-CLUSTER เป็น EMERGENCY) (EMERGENCY)
  5. สวิตช์สำหรับการจัดการโครงสร้างพื้นฐานเครือข่าย (L2-MGMT)
  6. เครื่องเสมือนพร้อม Git และ Ansible (VM-AUTOMATION)
  7. แล็ปท็อปที่ใช้ทดสอบและพัฒนา playbooks สำหรับ Ansible (Laptop-Automation)

เครือข่ายได้รับการกำหนดค่าด้วยโปรโตคอลการกำหนดเส้นทาง OSPF แบบไดนามิกโดยมีพื้นที่ต่อไปนี้:

  • พื้นที่ 0 – พื้นที่ที่มีเราเตอร์ที่รับผิดชอบในการเคลื่อนย้ายการรับส่งข้อมูลในโซน EXCHANGE
  • พื้นที่ 1 – พื้นที่ที่มีเราเตอร์ที่รับผิดชอบการดำเนินงานบริการของบริษัท
  • พื้นที่ 2 – พื้นที่ที่มีเราเตอร์ที่รับผิดชอบในการจัดการเส้นทางการรับส่งข้อมูล
  • พื้นที่ N – พื้นที่ของเครือข่ายสาขา

บนเราเตอร์ชายแดน เราเตอร์เสมือน (VRF-INTERNET) จะถูกสร้างขึ้น ซึ่งมีการติดตั้งมุมมองแบบเต็ม eBGP ด้วย AS ที่กำหนดที่สอดคล้องกัน iBGP ได้รับการกำหนดค่าระหว่าง VRF บริษัทมีที่อยู่สีขาวจำนวนมากซึ่งเผยแพร่บน VRF-INTERNET เหล่านี้ ที่อยู่สีขาวบางส่วนถูกกำหนดเส้นทางโดยตรงไปยัง FW-CLUSTER (ที่อยู่ที่ใช้บริการของบริษัท) บางส่วนถูกกำหนดเส้นทางผ่านโซน EXCHANGE (บริการภายในของบริษัทที่ต้องใช้ที่อยู่ IP ภายนอก และที่อยู่ NAT ภายนอกสำหรับสำนักงาน) ถัดไป การรับส่งข้อมูลไปที่เราเตอร์เสมือนที่สร้างบน L3-CORE โดยมีที่อยู่สีขาวและสีเทา (โซนความปลอดภัย)

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

ระบบอัตโนมัติและคำอธิบาย

เราพบว่าเครือข่ายทำงานอย่างไร ตอนนี้เรามาดูทีละขั้นตอนว่าเราจะทำอะไรเพื่อถ่ายโอนการรับส่งข้อมูลจาก FW-CLUSTER ไปยังกรณีฉุกเฉิน:

  1. เราปิดการใช้งานอินเทอร์เฟซบนสวิตช์หลัก (L3-CORE) ที่เชื่อมต่อกับ FW-CLUSTER
  2. เราปิดการใช้งานอินเทอร์เฟซบนสวิตช์เคอร์เนล L2-MGMT ที่เชื่อมต่อกับ FW-CLUSTER
  3. เรากำหนดค่าเราเตอร์ฉุกเฉิน (โดยค่าเริ่มต้นอินเทอร์เฟซทั้งหมดจะถูกปิดใช้งานยกเว้นที่เกี่ยวข้องกับ L2-MGMT):

  • เราเปิดใช้งานอินเทอร์เฟซในกรณีฉุกเฉิน
  • เรากำหนดค่าที่อยู่ IP ภายนอก (สำหรับ NAT) ที่อยู่บน FW-Cluster
  • เราสร้างคำขอ gaRP เพื่อให้ที่อยู่ poppy ในตาราง arp L3-CORE ถูกเปลี่ยนจาก FW-Cluster เป็น EMERGENCY
  • เราลงทะเบียนเส้นทางเริ่มต้นเป็นแบบคงที่เป็น BRD-01, BRD-02;
  • สร้างกฎ NAT
  • ยกระดับเป็น OSPF ฉุกเฉิน พื้นที่ 1;
  • ยกระดับเป็น OSPF ฉุกเฉิน พื้นที่ 2;
  • เราเปลี่ยนราคาเส้นทางในพื้นที่ 1 เป็น 10
  • เราเปลี่ยนราคาของเส้นทางเริ่มต้นในพื้นที่ 1 เป็น 10
  • เราเปลี่ยนที่อยู่ IP ที่เกี่ยวข้องกับ L2-MGMT (เป็นที่อยู่ใน FW-CLUSTER)
  • เราสร้างคำขอ gaRP เพื่อให้ที่อยู่ poppy ในตาราง arp L2-MGMT เปลี่ยนจาก FW-CLUSTER เป็น EMERGENCY

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

เครือข่ายอัตโนมัติ กรณีจากชีวิตของใครคนหนึ่ง

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

ในขั้นตอนนี้ เราตระหนักถึงสิ่งที่ต้องทำ พัฒนา Playbook ทำการทดสอบ และตอนนี้เราพร้อมที่จะเปิดตัวแล้ว

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

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

ต่อไป เราจะอ่านผลลัพธ์ของการดำเนินการที่ดำเนินการของ Playbook Ansible (ที่อยู่ IP ถูกแทนที่ด้วยเพื่อวัตถุประสงค์ในการรักษาความลับ):

[xxx@emergency ansible]$ ansible-playbook -i /etc/ansible/inventories/prod_inventory.ini /etc/ansible/playbooks/emergency_on.yml 

PLAY [------->Emergency on VCF] ********************************************************

TASK [vcf_junos_emergency_on : Disable PROD interfaces to FW-CLUSTER] *********************
changed: [vcf]

PLAY [------->Emergency on MGMT-CORE] ************************************************

TASK [mgmt_junos_emergency_on : Disable MGMT interfaces to FW-CLUSTER] ******************
changed: [m9-03-sw-03-mgmt-core]

PLAY [------->Emergency on] ****************************************************

TASK [mk_routeros_emergency_on : Enable EXT-INTERNET interface] **************************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Generate gARP for EXT-INTERNET interface] ****************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Enable static default route to EXT-INTERNET] ****************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Change NAT rule to EXT-INTERNET interface] ****************
changed: [m9-04-r-04] => (item=12)
changed: [m9-04-r-04] => (item=14)
changed: [m9-04-r-04] => (item=15)
changed: [m9-04-r-04] => (item=16)
changed: [m9-04-r-04] => (item=17)

TASK [mk_routeros_emergency_on : Enable OSPF Area 1 PROD] ******************************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Enable OSPF Area 2 MGMT] *****************************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Change OSPF Area 1 interfaces costs to 10] *****************
changed: [m9-04-r-04] => (item=VLAN-1001)
changed: [m9-04-r-04] => (item=VLAN-1002)
changed: [m9-04-r-04] => (item=VLAN-1003)
changed: [m9-04-r-04] => (item=VLAN-1004)
changed: [m9-04-r-04] => (item=VLAN-1005)
changed: [m9-04-r-04] => (item=VLAN-1006)
changed: [m9-04-r-04] => (item=VLAN-1007)
changed: [m9-04-r-04] => (item=VLAN-1008)
changed: [m9-04-r-04] => (item=VLAN-1009)
changed: [m9-04-r-04] => (item=VLAN-1010)
changed: [m9-04-r-04] => (item=VLAN-1011)
changed: [m9-04-r-04] => (item=VLAN-1012)
changed: [m9-04-r-04] => (item=VLAN-1013)
changed: [m9-04-r-04] => (item=VLAN-1100)

TASK [mk_routeros_emergency_on : Change OSPF area1 default cost for to 10] ******************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Change MGMT interfaces ip addresses] ********************
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n.254', u'name': u'VLAN-803'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+1.254', u'name': u'VLAN-805'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+2.254', u'name': u'VLAN-807'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+3.254', u'name': u'VLAN-809'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+4.254', u'name': u'VLAN-820'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+5.254', u'name': u'VLAN-822'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+6.254', u'name': u'VLAN-823'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+7.254', u'name': u'VLAN-824'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+8.254', u'name': u'VLAN-850'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+9.254', u'name': u'VLAN-851'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+10.254', u'name': u'VLAN-852'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+11.254', u'name': u'VLAN-853'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+12.254', u'name': u'VLAN-870'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+13.254', u'name': u'VLAN-898'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+14.254', u'name': u'VLAN-899'})

TASK [mk_routeros_emergency_on : Generate gARPs for MGMT interfaces] *********************
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n.254', u'name': u'VLAN-803'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+1.254', u'name': u'VLAN-805'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+2.254', u'name': u'VLAN-807'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+3.254', u'name': u'VLAN-809'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+4.254', u'name': u'VLAN-820'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+5.254', u'name': u'VLAN-822'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+6.254', u'name': u'VLAN-823'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+7.254', u'name': u'VLAN-824'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+8.254', u'name': u'VLAN-850'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+9.254', u'name': u'VLAN-851'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+10.254', u'name': u'VLAN-852'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+11.254', u'name': u'VLAN-853'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+12.254', u'name': u'VLAN-870'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+13.254', u'name': u'VLAN-898'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+14.254', u'name': u'VLAN-899'})

PLAY RECAP ************************************************************************

Done!

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

และในหมู่บ้าน Vilabajo (ซึ่งไม่ต้องการตั้งค่าเครือข่ายอัตโนมัติ) พวกเขายังคงล้างจานต่อไป Bruce (เป็นที่ยอมรับว่าแตกต่างอยู่แล้ว แต่ก็เจ๋งไม่แพ้กัน) กำลังพยายามทำความเข้าใจว่าจะมีการกำหนดค่าอุปกรณ์ใหม่ด้วยตนเองอีกมากเพียงใด

เครือข่ายอัตโนมัติ กรณีจากชีวิตของใครคนหนึ่ง

ฉันอยากจะพูดถึงประเด็นสำคัญอย่างหนึ่งด้วย เราจะได้ทุกอย่างกลับคืนมาได้อย่างไร? หลังจากนั้นสักพัก เราจะนำ FW-CLUSTER ของเรากลับมามีชีวิตอีกครั้ง นี่เป็นอุปกรณ์หลัก ไม่ใช่อุปกรณ์สำรอง เครือข่ายต้องทำงานอยู่

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

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

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

ผลการวิจัย

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

  • การจัดเตรียมอุปกรณ์
  • การเก็บรวบรวมข้อมูล;
  • การรายงาน;
  • การแก้ไขปัญหา;
  • การปฏิบัติตาม

หากมีความสนใจ เราสามารถสนทนาต่อในหัวข้อที่กำหนดได้

ฉันอยากจะพูดเล็กน้อยเกี่ยวกับระบบอัตโนมัติด้วย สิ่งที่ควรเป็นในความเข้าใจของเรา:

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

และประเด็นเหล่านี้ควรนำไปสู่อะไร:

  • ความโปร่งใสของโครงสร้างพื้นฐานด้านไอที (ความเสี่ยงน้อยลงในการดำเนินงาน การปรับปรุงให้ทันสมัย ​​การใช้งาน ลดเวลาหยุดทำงานต่อปี)
  • ความสามารถในการวางแผนทรัพยากรไอที (ระบบการวางแผนกำลังการผลิต - คุณสามารถดูปริมาณการใช้ คุณสามารถดูจำนวนทรัพยากรที่ต้องการในระบบเดียว ไม่ใช่ด้วยจดหมายและการเยี่ยมชมแผนกระดับสูง)
  • ความเป็นไปได้ที่จะลดจำนวนเจ้าหน้าที่ไอที

ผู้เขียนบทความ: Alexander Chelovekov (CCIE RS, CCIE SP) และ Pavel Kirillov เรามีความสนใจที่จะพูดคุยและเสนอโซลูชั่นในหัวข้อระบบโครงสร้างพื้นฐานด้านไอทีอัตโนมัติ


ที่มา: will.com

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