Lima Tren Pengembangan Perangkat Lunak Teratas 2018 – Oleh Igor Lebedev, CTO SONM
Diterbitkan: 2021-08-09Sejauh ini, 2018 telah menjadi tahun transformatif bagi para pengembang. Pengembangan perangkat lunak telah melampaui dirinya sendiri dengan versi baru dan solusi berkualitas lebih tinggi yang membuat tugas terkomputerisasi lebih mudah dan lebih efisien daripada sebelumnya. Basis data sekarang mampu mengukur kumpulan besar informasi tanpa gangguan, server dijual sebagai seri, bukan unit tunggal, dan blockchain telah membuka pintu dengan menggunakan sistem terdesentralisasi. Ini adalah lima tren pengembangan perangkat lunak teratas yang menggemparkan dunia teknologi tahun ini:
Data besar
Pertumbuhan konstan data perusahaan dan publik mengarah ke situasi di mana database tradisional dan instrumen penyimpanan tidak lagi mampu menggunakan dan mengelola volume data. Pendekatan lama tidak lagi berfungsi, setelah melihat secara langsung bahwa RDBMS (Relational Database Management Systems) tidak lagi mampu menampung semuanya. Ini mengarah pada munculnya alat dan pendekatan baru, tetapi yang lebih penting, ini mengarah pada berakhirnya dominasi basis data monolitik tradisional. Pendekatan baru adalah untuk menyimpan data bersama di beberapa jumlah node. Data inti masih disimpan dalam basis data terpusat tradisional, tetapi lebih banyak volume data disimpan secara terpisah dan pangsa basis data monolitik berkurang. Tantangan big data pada tahun 2018, adalah mengharuskan Anda untuk menulis ulang aplikasi konvensional Anda dengan cara baru untuk menangani kumpulan data yang besar.
Skalabilitas Horisontal
Solusi penskalaan tradisional selalu membeli server yang lebih baru dan lebih besar. Server baru ini akan memiliki lebih banyak core, mode cache, frekuensi yang lebih tinggi, bank memori yang lebih besar, bus yang lebih cepat, dan lebih banyak disk. Namun, solusi penskalaan ini memiliki keterbatasan dan keterbatasan tersebut telah tercapai. Sasis server umum mungkin memiliki paling banyak 2 atau 4 CPU, dan Anda tidak dapat menambahkan CPU tanpa batas karena Anda tidak dapat menaikkan frekuensi. Pada titik tertentu, penskalaan vertikal mencapai batasnya. Langkah selanjutnya adalah penskalaan horizontal. Ini berarti bahwa alih-alih membeli server yang lebih besar untuk menggantikan yang lama, Anda membeli satu atau lebih server tambahan dari jenis yang sama untuk ditambahkan ke kumpulan yang ada. Pendekatan ini tampaknya lebih fleksibel, tetapi memerlukan arsitektur perangkat lunak yang berbeda, dan sekali lagi, mengharuskan Anda untuk menulis ulang perangkat lunak. Jika Anda melakukan ini, Anda menerima manfaat dari manajemen sumber daya yang lebih baik dengan kemampuan untuk berbagi sumber daya. Di sini kita melihat layanan mikro, eksekusi stateless, dan Kubernetes sebagai tren.
Desentralisasi
Perubahan yang kita lihat di dunia, membawa tantangan baru. Mereka mungkin terkait dengan politik, biaya pengiriman, kepercayaan, atau situasi pasar, tetapi trennya tetap bahwa perusahaan cenderung mendesentralisasi layanan dan perangkat lunak mereka. Jaringan pengiriman konten menyebarkan server di ISP Anda, vendor SaaS membuka DC di negara Anda, dan bisnis memikirkan pemulihan bencana. Hal ini menyebabkan bisnis tidak lagi memiliki satu pusat data utama, tetapi dua atau lebih, sementara mengharuskan para insinyur mereka untuk berpikir tentang mengubah beberapa aspek arsitektur aplikasi mereka.
Pemrosesan Kabut
Penggunaan pengolahan data semakin meningkat setiap harinya. IoT menghasilkan lebih banyak dan lebih banyak data di tepi jaringan. Data ini secara tradisional diproses di DC atau di cloud. Namun, mengingat fakta bahwa jalur optik modern sangat cepat dan throughput jaringan meningkat dari tahun ke tahun, jumlah data tumbuh lebih cepat. Jaringan adalah dan selalu menjadi “hambatan” dari pemrosesan informasi global. Jika tidak secara teknis (berdasarkan bandwidth dan latency), maka secara ekonomis (berdasarkan harga per transmisi). Saat ini, cara tercepat dan termurah untuk memindahkan gudang data Anda ke DC lain adalah dengan memanggil kendaraan kargo dan membawa HDD ke lokasi baru. Tidak, itu bukan lelucon.

Ini mengarah pada ide dasar industri pemrosesan Edge dan Fog – yang berarti bahwa sebanyak mungkin data harus diproses secara lokal. Perusahaan IT terkemuka mengerjakan solusi untuk memproses dan menyajikan data di dekat perangkat. Pengolahan semacam ini adalah Kabut. Ada kesulitan untuk ini. Anda tidak bisa hanya menyalin kode dari cloud dan berharap itu berfungsi, karena di cloud semua data dapat diakses secara lokal, sementara di kabut tidak ada satu node yang memiliki semua data dan harus meminta node lain di sekitar untuk informasi yang diperlukan. Ini membutuhkan pengembang aplikasi untuk mengadopsi arsitektur mereka dan menulis ulang kode, sehingga tugas dapat diselesaikan dalam mode MPP (pemrosesan paralel masif). Ini memberikan satu alasan lagi untuk menulis ulang kode dan IaaS terdesentralisasi; hingga menjadi platform yang menarik untuk meng-host aplikasi Anda yang baru lahir.
Toleransi kesalahan
Kita hidup di zaman di mana lebih sulit untuk menjual sesuatu daripada memproduksi. Kesepakatan pasar meningkat dan perusahaan yang menjalankan perangkat lunak memikirkan SLA yang lebih baik untuk memiliki keunggulan dan membangun kepercayaan dari pengguna. Dengan poin-poin yang disebutkan sebelumnya, kemungkinan kegagalan komponen sistem tunggal meningkat secara kritis. Seseorang tidak dapat mengandalkan kemampuan cluster database Oracle untuk menangani dari crash karena sebagian besar data tinggal di luar. Alih-alih memiliki beberapa server yang sangat andal dengan catu daya ganda, sekarang dapat ada 10 atau bahkan 100 server dan ekspektasi matematis dari kegagalan node tunggal mencapai mendekati 1 (satu, 100%). Sesuatu mungkin akan gagal dan bisnis harus bersiap untuk ini lagi dengan melihat arsitektur aplikasi mereka. Dunia, dan TI khususnya terus berubah dan bergerak dengan kecepatan yang luar biasa cepat. Pendekatan yang lebih lama tidak berhasil. Perusahaan sedang menulis ulang perangkat lunak mereka dengan data besar, skalabilitas horizontal, desentralisasi, dan pemrosesan kabut semua pada intinya. Insinyur terus-menerus mengingat toleransi kesalahan di sisi aplikasi.
Tren pengembangan perangkat lunak ini telah menyebabkan munculnya persyaratan baru terhadap perangkat keras dan ketersediaannya, yang kurang kritis untuk kegagalan node tunggal, dan dengan lebih banyak opsi penskalaan horizontal. Saat kami melihat ke masa depan, kami mengantisipasi surplus tren yang berkembang lebih lanjut, yang diharapkan akan mengikuti perkembangan teknologi kami dan kebutuhan akan dukungan perangkat keras yang lebih besar.
Tentang Igor Lebedev:
Igor Lebedev adalah spesialis dalam ilmu komputer dengan lebih dari 15 tahun pengalaman TI. Keahliannya terletak pada arsitektur sistem klasik, kelas sistem, database, komputasi kabut, sistem perdagangan otomatis, kontrak pintar, dan mikroelektronika. Igor saat ini menjabat sebagai CTO dan kepala tim pengembangan SONM sejak Juli 2017. Sebagai CTO, Igor memberikan wawasan dan kontribusi berharga untuk visi produk dan proses pengembangan secara keseluruhan, sambil terus membangun tim pengembang yang menciptakan komputasi kabut, proyek SONM .