Kami memulai proyek baru dan mengimplementasikan instantiation cloud openstack perusahaan kami (lihat http://www.openstack.org/ ). Proyek ini adalah alat keamanan untuk perusahaan kami. Kami saat ini menjalankan ratusan server khusus untuk alat keamanan dan memindahkannya ke instantiasi openstack perusahaan kami.
Proyek-proyek lain di perusahaan saya saat ini menggunakan erlang di beberapa aplikasi server terdistribusi, dan titik T / T lainnya erlang digunakan di beberapa layanan cloud populer. Saya mencoba meyakinkan orang lain untuk mempertimbangkan di mana itu mungkin berlaku pada proyek kami.
Apa kekuatan erlang untuk pemrograman cloud? Di mana area yang sangat tepat untuk menggunakan erlang?
cloud-computing
erlang
Duncan
sumber
sumber
Jawaban:
Selain fakta bahwa Erlang secara khusus dikembangkan untuk dijalankan dalam situasi bersamaan / diparalelkan / terdistribusi, dua teknik utama yang digunakannya adalah memungkinkan:
Tidak ada efek samping:
Ini berarti, ketika Anda memberikan fungsi sepotong data untuk dieksekusi, itu tidak akan kecuali dalam kasus yang sangat ketat mempengaruhi hal lain dalam sistem / proses yang berjalan. Ini berarti bahwa jika Anda menjalankan fungsi 300 kali sekaligus, tidak satu pun dari 300 eksekusi fungsi tersebut yang akan memengaruhi yang lain.
Teknik implementasi untuk memastikan tidak ada efek samping disebut "kekekalan" yang kira-kira berarti, tidak boleh bermutasi (diubah). Ini berarti bahwa segera setelah Anda membuat variabel, nilai variabel itu tidak dapat dimodifikasi. Erlang mengimplementasikan perilaku ini dengan "penugasan tunggal" sehingga setelah Anda menetapkan nilai ke variabel, Anda tidak dapat menetapkan nilai lagi.
Ini memastikan bahwa tidak ada kode yang secara tidak sengaja mengubah nilai X yang menyebabkan kondisi balapan, oleh karena itu kode tersebut secara inheren aman dan penggunaan bersamaan menjadi sepele. Ini adalah perilaku yang sangat tidak umum di antara bahasa-bahasa perangkat lunak dan cara terbesar Erlang mengatur agar sangat cocok untuk eksekusi bersamaan.
Model aktor:
Ini adalah cara pemodelan tertentu yang telah menunjukkan untuk membuat implementasi dan manajemen pemrosesan bersamaan sangat sederhana untuk pengembang. Langsung dari wikipedia (http://en.wikipedia.org/wiki/Actor_model):
sumber
Erlang sangat kuat dalam komputasi bersamaan / paralel. Bahkan, itu dirancang awalnya untuk tujuan itu. Ini tidak ada hubungannya dengan cloud, kecuali bahwa seringkali, aplikasi perhitungan berat diparalelkan dan digunakan dalam contoh "cloud" untuk membuatnya lebih mudah untuk menumbuhkan / mengecilkan kapasitas sesuai permintaan.
Sisanya hanya bicara pemasaran.
sumber
Salah satu aspek cloud yang berbeda dari penyebaran perangkat keras tradisional adalah kemudahan yang Anda gunakan untuk memutar instance baru saat dibutuhkan. Kemampuan untuk memonitor node lain, dan memproses pada node lain, membuatnya relatif mudah untuk membangun sistem yang sangat dinamis yang dapat menambah atau menghapus vms dan mengelolanya sesuai kebutuhan.
Ini khususnya terjadi jika Anda membangun sistem Anda menggunakan kerangka kerja OTP (Open Telecom PLatform) erlang, yang menyediakan struktur dan mekanisme (pohon pengawas) untuk mendukung pembuatan beberapa hal yang cukup canggih dengan efek yang jauh lebih sedikit daripada yang Anda bayangkan. Erlang menangani semua bit yang rumit sehingga Anda tidak perlu melakukannya.
sumber