
Faktor waktu - ketepatan waktu pelaksanaan pesanan, pekerjaan, perjanjian - penting dalam bisnis. Klien dan mitra mengharapkan kolaborasi yang memakan waktu dan dapat diprediksi. Dalam bisnis tradisional, ini dipengaruhi oleh pekerjaan karyawan, tindakan pemasok, lokasi geografis perusahaan, kondisi peralatan, dan banyak lagi. Menemukan dan mengendalikan semua ini adalah tugas yang sulit.
Agak jelas, semuanya ada di bidang IT. Bagian penting dari proses dapat diotomatisasi dan dipercayakan ke program atau skrip. Lebih baik lagi, jika produk diimplementasikan sebagai layanan web - pelajaran utama adalah untuk mendukung ketersediaan dan pengembangan produk.
Salah satu produk utama perusahaan kami adalah layanan web. Semuanya dimulai dengan implementasi gagasan dua orang, kemudian perusahaan tumbuh: PM (alias seorang programmer web), seorang programmer basis data, seorang administrator sistem (dengan sedikit pengalaman pengembang), seorang tester, dan dua orang lainnya yang terlibat dalam penjualan dan SEO. Sistem ini diimplementasikan sebagai antarmuka web dan basis data terkait. Menggunakan layanan ini melibatkan penyetoran dan penarikan uang yang disimpan dalam "mata uang virtual". Untuk keamanan, server web dan database digunakan di server mereka.
Karena layanan terhubung dengan uang, tingkat kepercayaan pengguna pada sistem menjadi penting. Pertama-tama, ini adalah masalah keamanan dan melindungi sistem dari peretasan. Namun, sulit bagi klien biasa (terutama tidak berpengalaman dalam seluk-beluk TI, protokol aman dan enkripsi) untuk mengevaluasi tingkat keamanan sistem. Jika situasi negatif (peretasan) tidak terjadi, maka pekerjaan tidak terlihat.
Aksesibilitas sistem lebih jelas bagi klien: jika pengguna mentransfer sejumlah tertentu ke akun virtual dan kemudian tidak dapat masuk ke situs beberapa kali, kredibilitas sistem akan rusak dan klien mungkin hilang (kadang-kadang beberapa sekaligus - negatif menyebar dengan cepat). Dan para pengguna yang terlibat dengan kesulitan besar, mengalami kesalahan alih-alih halaman utama situs, juga tidak mungkin untuk kembali.
Memahami keseriusan ini tidak datang dengan segera. Pada awalnya, jumlah pengguna kecil, kapasitas server dan saluran berlimpah, dan karena itu "crash" jarang terjadi. Selain itu, pada awalnya, fungsionalitas sering diuji dan disempurnakan demi optimasi, dan pengembang sendiri bertanggung jawab untuk memantau server yang terkait dengan layanan selama jam kerja. Jumlah pengguna selama di luar jam kerja relatif kecil - klien dari zona waktu lain praktis tidak ada saat itu.

Secara bertahap, bagian utama dari layanan selesai. Perbaikan menjadi kecil, dan karena itu perhatian utama pengembang beralih ke proyek lain. Tanggung jawab untuk kontrol sistem didelegasikan kepada administrator sistem, di samping tanggung jawabnya yang lain. Pemberitahuan dikirim ke email dan SMS ke administrator jika terjadi kerusakan server. Langkah-langkah seperti itu pada waktu itu tampak cukup.
Produk mulai mendapatkan momentum dan jumlah pengguna meningkat. Ide-ide baru muncul, beberapa diimplementasikan segera, beberapa ditunda untuk masa depan. Layanan ini diterjemahkan ke dalam bahasa lain dan secara bertahap memasuki pasar baru, yang, antara lain, menyebabkan peningkatan jumlah pengguna di malam hari. Beban server secara bertahap tumbuh, meskipun masih jauh dari batas teknis besi.
Begitu ketenangan berakhir. Pada malam Jumat hingga Sabtu, pengguna mulai mengalami masalah dalam mengakses halaman utama situs, mereka sering bertemu dengan kesalahan 503. Masalahnya tidak sulit, tetapi, sebagaimana seharusnya, admin tidak tersedia pada Jumat malam, dan oleh karena itu SMS tetap belum dibaca. Namun demikian, masalahnya diselesaikan relatif tanpa rasa sakit. Pengembang juga menerima SMS, dan dapat menghubungi administrator dan bangun, dan setelah 3 jam masalah terselesaikan. Total "waktu henti" adalah 5 jam.

Pada hari Senin, ada tanya jawab tentang apa yang terjadi. Analisis data lalu lintas situs menunjukkan gambaran yang tidak menyenangkan - pada hari Jumat yang βbermasalahβ, lalu lintas berkurang sepertiga dibandingkan tahun lalu, tetapi penurunan yang signifikan pada hari Sabtu dan Minggu bahkan lebih tidak menyenangkan, meskipun tidak ada masalah teknis saat ini, lalu lintas turun sebesar 15%.
Ini memperkuat pemahaman tentang perlunya pemantauan sepanjang waktu. Dari sudut pandang perangkat lunak, kami memilih
Zabbix , yang akan diinstal dan dikonfigurasi oleh administrator sistem. Butuh waktu sekitar satu minggu - sisa tugas tidak pergi ke mana-mana, dan semuanya dilakukan secara paralel. Ada pertanyaan organisasi - siapa sebenarnya yang akan dipantau?

Pada awalnya, saya harus membuat keputusan seperti itu - menggeser jam kerja karyawan yang ada (dari mereka yang mengerti ini - yaitu, administrator sistem dan pengembang) sehingga satu per satu seseorang mengendalikan server di malam hari.
Ini adalah keputusan yang dipaksakan dan tidak bertahan lama. Pertama, pekerjaan dua orang masih tidak memberikan kontrol sepanjang waktu - ada celah waktu di mana kegagalan juga mungkin terjadi. Kedua, sedikit orang yang suka bekerja di malam hari, dan ketidakpuasan tumbuh, apalagi, gangguan programmer hampir menghentikan pengembangan itu sendiri. Karena itu, setelah seminggu mereka meninggalkan ide itu dan mulai berpikir lebih jauh.
Mempekerjakan staf tambahan untuk dipantauTentu saja, keputusan seperti itu adalah yang paling tanpa kompromi - kontrol konstan dari orang-orang yang dipilih memberikan hasil yang baik. Tetapi bekerja dalam mode ini akan membutuhkan pencarian untuk 3 administrator sistem lebih lanjut. Selain itu, mereka harus cukup memenuhi syarat untuk menyelesaikan masalah, tetapi sebagian besar waktu mereka akan terbuang sia-sia - perusahaan ini kecil, ada beberapa server, dan hampir tidak ada yang akan menempati mereka. Selain itu, begitu banyak orang juga perlu dikendalikan, yang akan menjadi sakit kepala tambahan.

Kedua opsi tidak berfungsi. Itu tidak mungkin untuk memusatkan upaya dan berarti pada mereka. Namun kebutuhan untuk pemantauan belum hilang. Ini adalah salah satu masalah pertumbuhan - ada kebutuhan yang tidak dapat diwujudkan sendiri. Sebagai solusi, mereka datang untuk melakukan outsourcing.
Selama masa transisi, timbul keraguan, yang utama adalah keamanan dan kerahasiaan informasi yang tersedia bagi orang lain dan kualitas layanan, bukankah akan menjadi lebih buruk, sebaliknya? Tetapi ini lebih merupakan masalah menemukan pelaksana yang bertanggung jawab dan menandatangani NDA.
Jadi, kami pindah, dari sisi teknis itu tidak sulit. Sebulan kemudian, kami memutuskan untuk memeriksa keadaannya - dengan memeriksa log di server. Kami puas dengan hasilnya - untuk bulan ini ada tiga kegagalan serius yang berpotensi "menempatkan" server lagi, tetapi para mitra menyelesaikan masalah dalam waktu setengah jam. Selain itu, semua kegagalan terjadi dalam interval dari satu di pagi hari hingga empat di pagi hari - pertumbuhan geografis bertahap dari produk yang terpengaruh.
Pekerjaan administrator sistem kami telah berubah dan menjadi lebih santai. Tanpa terganggu oleh pemantauan, ia berkonsentrasi pada DevOps. Kami memfokuskan upaya dan pengembangan kami dipercepat. Ternyata menyadari apa yang ditunda untuk waktu yang lama, terima kasih kepada
mitra kami.