Network desain itu adalah skill yang terpaksa dipunyai jika kita disuruh bikin network, dan kita berusaha menghindari konsekuensi dari kegagalan yang terjadi ketika network itu bermasalah.

Apaan sih?

Kita tahu network yang kita inginkan itu kira-kira seperti apa, dengan batasan budget, batasan waktu, bahkan batasan non teknis, dan sayangnya keinginan stakeholder yang tak terbatas, maka ia harus direalisasikan. Kita pengen begini, tapi duitnya nggak cukup utk beli barang yg kita inginkan. Kita pengen begini, tapi waktunya kalau procure barang tersebut nggak akan masuk. Kita pengen begini, tapi barang yg kita inginkan susah masuk ke Indonesia, atau distri & partner supplier barang yg kita inginkan itu ngeselin dan sering nggak deliver. Ada aja masalahnya.

Tapi kurang lebih begini, kita coba catat dahulu beberapa poin yang perlu diingat:

  • Hindari chokepoint, titik cekik, atau single point of failure (SPOF). Hari gini agak susah mendesain border router included dgn stateful firewall, karena tambahan bandwidth pada network membuat anda musti upscale firewall anda. Masalahnya harga firewall 10Gbps ke atas itu astronomical banget. Kecuali firewallnya stateless, cuma packet filter doang
  • Letak firewall di mana dong kalau gitu? Diletakkan di DMZ aja, bisa juga jadi satu dengan load balancer (mau opensource seperti HAProxy ya oke, mau pakai barang orang ganteng seperti F5 BIG-IP pun oke), karena tren trafik ke DMZ bagi enterprise network itu nggak akan gede-gede banget, jadi nggak perlu beli SLB yang harganya mahal.
  • Ono rego ono rupa, kata orang Jawa yang bijak. Jer Basuki mawa Bea, kata dia lagi. Kesuksesan (Basuki) itu memerlukan Bea (biaya, modal, budget). Barang mahal seringkali nggak bohong. Ingat ya, seringkali, bukan selalunya. Tapi barang mahal yg bagaimana?
  • Hardware processing jelas lebih kencang daripada software processing. Router yg mahal yg punya dedicated processor di linecard nya jelas lebih baik daripada router dgn single prosesor utk satu router tersebut.
  • Memori gede jelas lebih disukai daripada memori kecil. Router dgn memori gede malah dibikin saat ini agar router tersebut dapat dikonfigurasi dengan dua virtual router berbasis KVM agar mudah melakukan In Service Software Update (ISSU)
  • SSD jelas lebih baik daripada magnetic rotating disk, kecuali anda perlu menyimpan data digital archive dgn ukuran besar untuk data relatif diam.
  • System server saat ini sering sekali menyediakan port 10Gbps secara gratis. Switch 10Gbps generic juga tersedia.
  • WiFi access point yang punya antena multi element itu jelas lebih baik daripada access point consumer yang harganya dibawah US$100.
  • Hari gini sudah nggak musim anda pasang cache proxy di internal network, karena dengan adanya HTTPS curah di mana-mana, gerakan memasyaraktkan HTTPS dan meng-HTTPS-kan masyarakat (melalui LetsEncrypt dan EFF HTTPS Everywhere) maka cache proxy anda nggak akan bisa inspect content tanpa membongkar enkripsi TLS yang melewati cache proxy anda, dan cache anda nggak akan bisa menyimpan sementara content anda itu. Maka saat ini gunakan captive portal atau NAC (network access control) untuk authenticate user, serta gunakan DNS blacklist untuk menutup akses ke situs yang tidak baik. Lebih sedap lagi kalau NAC nya bisa inspect kesehatan endpoint, sehingga endpoint berpenyakit tidak bisa masuk ke network
  • Sekilas saya lihat teknologi antispam, kesuksesan anda menghalangi spam masuk itu adalah dengan blacklist & reputation list terbaik yang bisa anda beli atau dapatkan. Itu kenapa Cisco IronPort harganya segitu.
  • Tren saat ini adalah: membuat dua core switch atau distribution switch terlihat sebagai satu virtual core switch yg highly available dari sisi downstream switch, yang nama kerennya itu MC-LAG (multichassis Link Aggregation Group), lalu downstream switch mengakses core switch tadi menggunakan link aggregation (LACP atau apalah).
  • Virtualization & private cloud is the only way to go. Openstack or VMware vSphere, silakan dipilih mana satu. Ubuntu & RedHat juga punya teknologi virtualisasi yang baik, jika anda belum mau full private cloud.
  • Dan beberapa hal lainnya yang akan ditambahkan.

Ada juga perkataan bijak dari bapak Ted Dzuiba, bahwa tahapan penyelesaian masalah dalam mendesain network atau sistem itu mengikuti tiga hal secara tertib urutannya:

  • Selesaikan masalah dengan uang. Uang dipakai untuk membeli prosesor kencang, memori gede, disk kecepatan tinggi, dan network card 10Gbps ke atas. Saat ini hanya dengan menggunakan memori sampai 128GB dan mengganti disk dgn SSD MLC membuat sistem anda cukup cepat untuk bertahan selama 5 tahun.
  • Selesaikan masalah dengan waktu. Luangkan waktu mencari teknologi terpercaya yang saat ini telah tersedia dalam bentuk opensource. Walaupun saat ini terlalu banyak software opensource yang tersedia, beberapa diantaranya cukup stabil, cukup banyak usernya, cukup banyak tutorialnya di Stack Overflow atau Community pages nya Digital Ocean, cukup ketebak sehingga pilihan software yang dipakai itu membosankan: Backend Database itu ya PostgreSQL atau Percona Server. Front end itu ya NginX dan HAProxy. Logging itu ya syslog. Monitoring itu ya Cacti. Middleware nya sih suka-suka yg coding, tapi rata-rata ya kalau nggak pakai PHP, NodeJS, Perl, Rails, ya Java. Tapi ingat, membosankan itu baik, ketebak itu baik, agar hidup anda nggak habis dipakai untuk ngurusin software yang nggak jelas.
  • Setelah dua tadi nggak selesaikan masalah, ya anda terpaksa coding. Tapi pastikan dua kajian di atas tadi sudah anda lakukan.

Kalau saya bilang satu inti dari pembicaraan ini adalah:

  • Be boring, jadilah membosankan. Lebih baik membosankan tapi tidur enak di rumah bersama keluarga.

Wassalam,