Guru teknologi informasi dan direktur teknis majalah Ars Technica, Jason Marlin, memiliki lebih dari dua puluh tahun pengalaman dalam mendukung infrastruktur informasi - dan, menurutnya, banyak yang telah berubah di bidang ini.

Gim Pit, yang bekerja sebagai pintu BBS. Dalam tangkapan layar ini, Lee Hutchinson menyerang orang-orang ini. Atau mereka adalah dia.
Pada 1980-an, saya tumbuh menjadi kutu buku - bukan dalam arti hipster, tetapi dalam arti bahwa saya selalu membawa majalah
Computer Shopper edisi lima kilogram (ya, publikasi ini sangat besar). Saya terhubung dengan Bulletin Board Systems pada usia sepuluh tahun. Tidak mengherankan bahwa pada akhirnya saya menjadi direktur teknis situs tersebut, meliput masalah sains dan teknologi.
Saya dapat menarik paralel yang jelas antara pekerjaan mendukung BBS saya (yaitu, pekerjaan sysop) dan pengelolaan infrastruktur web modern. Mari kita tandai paralel ini untuk memperingati ulang tahun ke-20 situs web Ars. Artikel ini tidak akan menjadi sejarah lengkap dari situs web, di sini saya akan menjelaskan pengalaman saya sendiri dalam mengelola situs, dan bagaimana situs ini telah berkembang selama 20 tahun terakhir - serta bagaimana alat dan pemikiran telah berubah.
LIHAT “*”, 8, 1
Pengalaman pertama saya sebagai sysop diperoleh di Commodore 128 (tentu saja, dalam mode 64-bit), di mana program Color 64 milik Greg Pfountz bekerja. Saya mengirimkan cek kepada Greg (well, ditandatangani oleh ibu saya) dan menerima satu floppy disk 5,25 "dengan instruksi dijahit tangan dicetak pada printer matriks, dan kemudian mulai.
Warna 64 tampak luar biasa berkat ASCII, dicat sesuai dengan standar ANSI, tidak seperti kebanyakan program BBS lain yang menghasilkan teks dangkal yang tidak berwarna. Warna 64 memungkinkan untuk menciptakan pengalaman pengguna. Saya tidak lagi dapat mengingat nama BBS saya, tetapi saya menjamin bahwa tema utama terkait dengan naga dan / atau kung fu. Saya sedikit malu untuk mengakui bahwa nama panggilan saya adalah DragonMaster, tetapi saya hanya mengkonfirmasi stereotip yang terkait dengan kutu buku.
Sayangnya, infrastruktur jaringan saya terdiri dari satu saluran telepon, yang berarti bahwa saya harus memutus semua perangkat yang memanggil (yaitu, telepon dial dinding) dan bekerja antara 23 dan 5 jam. Itu juga berarti sedikit interaktivitas BBS. Dengan satu baris dan satu drive Commodore 1571, pengguna tidak dapat mengobrol satu sama lain atau mengunduh lebih dari satu game sekaligus.
Commodore 1670 masih membuat jantung berdetak lebih cepatDalam mimpi saya, dalam waktu dekat, saya menjalankan BBS asli, sesuatu seperti Las Vegas Fear & Loathing yang terkenal, yang sering saya kunjungi. Dalam mimpi saya, ada 10 saluran telepon sehingga pengguna dapat berkomunikasi satu sama lain secara real time, dan terhubung ke 1200 modem - tidak, bahkan 2400 baud! Dan pada hard drive mitos dengan volume sebanyak 10 MB dari sistem
Lt. Kernal akan menyimpan stok game yang tak ada habisnya.
Sayangnya, semua ini tidak dapat diakses oleh saya, tetapi saya jelas terinfeksi dengan beberapa penyakit baru yang mendorong keinginan yang tidak biasa pada seseorang untuk menciptakan tempat digital di mana pengguna dapat berkumpul
1990-an
Saya terus bermain-main dengan perangkat lunak BBS, termasuk pendahulu HTML yang sangat menarik seperti
Excalibur BBS . Lihatlah
hasil pencarian gambar Google untuk melihat bagaimana perangkat lunak ini lebih dulu.
$: cd ~ / public_html
Saya pertama kali bertemu HTML di perguruan tinggi pada pertengahan 90-an; kemudian saya mengerjakan pekerjaan rumah saya dan mengunggahnya ke direktori home public, dan para guru dapat memeriksanya di waktu senggang mereka menggunakan browser Netscape atau Mosaic. Seorang motivator yang sangat baik pada waktu itu adalah 10 poin tambahan untuk "menggunakan teknologi."
Apache + Perl + XML + Hosting Berbagi Pakai
Salah satu "aplikasi" nyata pertama yang saya buat sebagai pengembang web adalah departemen berita untuk perusahaan telekomunikasi. Semua ini bekerja pada satu bundel yang kemudian tersebar luas: Apache sebagai server HTTP, Perl sebagai bahasa server dan database sebagai file teks. Pada saat itu, saya tidak terbiasa dengan database nyata, tetapi saya tahu bagaimana menulis dan mem-parsing XML. Semua ini di-host pada platform kolaborasi yang luar biasa bagus di mana saya bisa menulis semua aturan untuk server ke file .htaccess. Saya segera mengetahui bahwa file ini memberikan tangan saya yang tidak berpengalaman terlalu banyak kekuatan!
Hosting kolaboratif menyelesaikan masalah saya, tetapi pada saat itu pengembang bergantung pada admin dalam segala hal yang terkait dengan versi dan ekstensi perangkat lunak. Anda juga harus khawatir tentang apa yang dilakukan tetangga Anda dengan sumber daya bersama, termasuk segala macam hal yang tidak menyenangkan. Meretas satu mesin dapat membahayakan ratusan situs.
IIS, FrontPage Extensions, dan Access
Akibatnya, agen tempat saya bekerja mendapatkan cukup banyak klien untuk membeli server sendiri. Saya kecewa, ternyata itu adalah mesin Windows yang menjalankan IIS (Layanan Informasi Internet). Wilayah ini benar-benar asing bagi saya, tetapi setelah meluncurkan Frontpage IDE, saya kagum pada betapa sederhananya Microsoft membuat tugas-tugas yang biasanya sulit untuk menyimpan input terverifikasi ke database. (Tidak, serius, luar biasa). Akibatnya, saya mencari IDE grafis yang sempurna, termasuk kekacauan singkat dan frustasi dengan Macromedia Dreamweaver. Segera saya belajar bahwa alat yang membuat kode secara otomatis biasanya menghasilkan mie dalam jumlah besar, yang kemudian hanya alat yang sama yang bisa terurai.
Mengelola IIS di bawah Windows NT 3.5 juga tampak seperti tugas yang berbahaya dan mudah bagi seseorang yang berpengalaman di Unix. Dan pada saat yang sama, itu adalah perasaan pembatasan ketat - di mana file .conf di mana dimungkinkan untuk melakukan penyetelan mikro (dan berantakan secara fenomenal)?
Perakitan ini menjadi platform saya untuk sementara waktu, kami membuat beberapa CMS sesuai pesanan untuk klien kami, tanpa berpikir untuk mempertahankan basis kode umum, dukungan jangka panjang atau kontrol versi. Sungguh mengerikan.
Awal 2000-an dimulai dengan ColdFusion
Sekarang saya memahami kengerian situasi ini, tetapi kemudian saya sangat menyukai lingkungan Allaire
ColdFusion , dan saya menggunakannya selama setidaknya empat tahun untuk membuat aplikasi dan jaringan perusahaan yang cukup besar. Dia bekerja berdasarkan CFML (bahasa markah ColdFusion). Itu tampak seperti HTML, tetapi membuat pertanyaan sepele untuk database dan integrasi mereka dengan teknologi eksternal seperti Java Servlets atau CORBA. ColdFusion memiliki banyak lawan, tetapi saya tidak pernah menjadi pendukung teknologi tertentu, dan hanya memilih apa yang memungkinkan saya untuk menyelesaikan tugas dengan paling cepat.
Kerangka kerja web muncul
Entry barrier ColdFusion yang sangat rendah telah membuatnya terkenal dengan bahasa bodoh yang telah menarik programmer berkualitas rendah ke area ini - seperti halnya PHP. Saya tidak bisa berdebat dengan ini, tetapi ironisnya adalah bahwa kenalan pertama saya dengan kerangka kerja web yang baik terjadi dalam bentuk
Fusebox . Itu dimulai dengan upaya untuk mengatur aplikasi menggunakan penamaan file sederhana dan konvensi sistem direktori. Kedengarannya jelas, tetapi, seperti kebanyakan pengembang web saat itu, saya condong ke arah pendekatan yang terus berkembang terhadap tata letak aplikasi dan berjuang dengan hal-hal yang terpisah satu sama lain, seperti permintaan basis data dan komponen output. Saya bermain dengan
Struts , tetapi karena tidak mungkin menggunakan Java dalam pekerjaan utama, saya masih tidak memahaminya. Tapi Fusebox membuka mata saya ke platform dengan paradigma
MVC (model view controller) yang melampaui batas-batas bahasa tertentu. Dan itu bertahun-tahun sebelum penampilan
presentasi Ruby on Rails 15 menit yang dihancurkan yang dibuat oleh
David Heinemeyer Hansson .
Hari ini saya tidak akan pernah mempertimbangkan untuk membuat aplikasi besar tanpa memilih kerangka kerja, dan hari ini kami memiliki banyak pilihan menarik. Untuk PHP, saya paling suka
Laravel .
Ya, maka itu hanya meniupkan atap.
Hosting web berkerumun
Saya mendapatkan pengalaman pertama saya dengan situs web dengan lalu lintas tinggi pada tahun 2002. Ketika lalu lintas meningkat, begitu pula tanggung jawab, serta jumlah panggilan di tengah malam, menuntut untuk me-restart server. Dan akhirnya, saya memutuskan untuk mencari tahu segalanya tentang load balancing, caching dan cluster hosting. Ini adalah wahyu lain, karena membuka kemungkinan skala hampir tak terbatas.
Jika satu mesin offline, kami memiliki mobil pengaman untuk memastikan semuanya bekerja. Kami memiliki analitik dan metrik klaster terperinci. Hidup itu indah, seperti mimpiku.
Bangkitnya Mesin Virtual: AWS, Vagrant
AWS (Amazon Web Services) muncul, entah dari mana, dan memberi pengembang apa yang kami butuhkan. Mereka juga menghapus perantara dari hosting tradisional. Kami tidak perlu bertanya teknologi apa yang diizinkan untuk kami gunakan; tiba-tiba semuanya menjadi mungkin. Ingin mencoba membuat aplikasi di Django atau NodeJS? Tidak masalah Luncurkan beberapa mesin virtual dan pergi. Semua ini dapat dilakukan dengan AWS: firewall virtual, penyeimbang beban, cluster khusus untuk basis data, CDN (jaringan pengiriman konten) untuk sumber daya statis, dan hampir semua yang dapat Anda pikirkan. Itu menjadi pusat data untuk produksi sendiri - dan itu adalah kutukan sekaligus berkah. Saat menambahkan setiap layanan baru, perlu untuk melacaknya, dan agar seseorang tahu cara menaikkannya setelah semuanya rusak (dan semuanya rusak). Terlalu tertarik pada pengembang, sangat mudah untuk menggigit lebih dari yang bisa dikunyahnya.
Apa yang dimungkinkan AWS di cloud,
Vagrant memungkinkan pada mesin produksi. Vagrant memberi kami akses mudah dan skrip ke berbagai penyedia VM. Saya dapat menguji tipe baru Linux dan semua jenis paket perangkat lunak dalam suatu lingkungan yang, ketika datang ke penyebaran, sangat mudah untuk membuat ulang di cloud. Jika terjadi kesalahan selama instalasi, perintah penghancuran gelandangan yang paling sederhana memungkinkan Anda untuk memulai kembali dari gambar yang sama. Ini membuat pengembangan jauh lebih menyenangkan daripada menjalankan server pada OS rumah, atau langsung menggunakan VMWare atau VirtualBox.
2010s - Dari Webmaster ke DevOps
Mari kita sedikit melambat dan berbicara tentang bagaimana saya selalu membenci istilah webmaster.
Man: Apa yang Anda lakukan dalam hidup?
Saya: Saya membuat aplikasi web keren menggunakan berbagai bahasa pemrograman, dan saya bekerja dengan infrastruktur ...
Man: Ahhh, jadi kamu seorang WEBMASTER!
Saya ingin menghapus kata menjijikkan ini dari penggunaan.
Selain mengaitkan kata ini dengan game cube 20-sisi, itu sama sekali tidak menggambarkan peran yang banyak dari kita bermain dalam pemrograman dan manajemen infrastruktur. Oleh karena itu, saya sangat menyukai perubahan ini, berlangsung selama dekade terakhir, ke istilah yang lebih dihormati seperti
DevOps . Insinyur DevOps menggunakan pemrograman untuk membuat, mengelola, dan mendokumentasikan infrastruktur dunia nyata.
Koki + mungkin
Ketika saya mulai bekerja di Ars Technica, kami ingin dapat dengan mudah menambah atau menghapus server web dan server database dalam lingkungan yang tervirtualisasi. Setelah menjelajahi beberapa pendekatan, kami memilih
Chef , yang menyederhanakan manajemen infrastruktur melalui hierarki analogi, terutama terkait dengan dapur (pisau, buku resep, resep, dll.). Setelah mempelajari bagaimana sifat-sifat variabel, atau "atribut", sebagaimana mereka disebut di sini, muncul dari peran dan turun ke node yang terpisah, menjadi sangat sederhana untuk mengelola perangkat lunak server dan versi dari platform tunggal. Chef mengizinkan kami untuk berhenti melakukan manajemen mikro dari masing-masing server dalam kelompok dan membuat tugas peningkatan massal menjadi lebih mudah.
Hari ini, secara pribadi, saya lebih suka bekerja dengan
Ansible , sistem berbasis Python yang dikembangkan oleh Redhat - lebih mudah untuk bekerja dengan dan sedikit kurang rapuh ketika bekerja di organisasi kecil. Tidak seperti Chef, di mana server pusat diperlukan, Ansible menggunakan SSH dari mesin host (dalam kasus kami, dari laptop kami dari mana kami sedang mengembangkan), tetapi untuk perusahaan yang lebih besar masih memiliki server, Tower. Ansible juga memungkinkan Anda untuk menulis sebagian besar konfigurasi ke YAML, yang sangat meningkatkan keterbacaannya.
Selama beberapa tahun sekarang kami telah meng-host
ServerCentral Turing Group . Mereka membantu kami memilih keseimbangan yang tepat antara apa yang kami kuasai (menulis kode dan mengatur VM) dan apa yang tidak dapat kami kontrol sepenuhnya - ini adalah generator diesel keselamatan, jaringan redundan atau menyalin data real-time ke pusat data yang dirancang untuk memotong kegagalan.
2019 dan seterusnya
Saya akan selalu menjadi nostalgia untuk hari-hari tenang memasukkan perintah secara manual untuk modem, ketika di suatu tempat di cakrawala kita tertarik oleh janji-janji yang dibuat oleh
Mesin Pemotong Rumput Manusia atau Hal 9000. Tapi saat ini juga mengandung peluang luar biasa untuk fase berikutnya dari evolusi infrastruktur. Ada begitu banyak alat yang menjanjikan yang kami rencanakan untuk
dijalankan , misalnya,
Docker Swarm atau
Kubernetes . Sungguh menakjubkan menyadari sejauh mana kami telah melangkah, dan seberapa jauh pengembang yang lebih produktif saat ini dapat dibandingkan dengan masa lalu yang dipenuhi dengan derit misterius BBS. Saya berharap bahwa kita akan mengamati abstraksi yang semakin meningkat dari teknologi multilayer kompleks yang diperlukan untuk kehadiran web modern.
Jadi kami berharap Anda sukses dalam 20 tahun ke depan!