Kami saat ini sedang dalam proses merancang arsitektur pengaturan cloud Apache Mesos baru kami. Tujuannya adalah untuk menyatukan sistem kami dengan memindahkan tumpukan yang berbeda ke arsitektur yang sama. Beban kerja utama adalah analitik data besar menggunakan Apache Spark dan infrastruktur perusahaan kami termasuk server web, server mail, dll.
Idenya adalah menjalankan layanan web kami dalam wadah Docker yang berjalan di atas salah satu penjadwal yang tersedia untuk Mesos (Marathon / Chronos, Aurora, atau Singularity). Dengan demikian ini akan menjadi kelompok kerangka kerja Mesos pertama. Di sebelahnya, kita akan memiliki kerangka kerja Apache Spark dan beberapa kerangka kerja basis data untuk penyimpanan data. Ini akan menjadi kelompok kedua kerangka kerja Mesos. Kami akan memilih spesifik setelah menjalankan semuanya secara paralel untuk pengujian.
Namun, kami kesulitan memutuskan atas dasar apa untuk menjalankan Mesos itu sendiri. Idealnya, kami ingin menjalankannya sedekat mungkin dengan logam. Kami juga ingin menggunakan solusi orkestrasi untuk memastikan bahwa Mesos & framework daemon selalu berjalan / restart pada kegagalan. Opsi yang kami pertimbangkan adalah sebagai berikut:
1) Menjalankan Mesos & frameworks sebagai wadah buruh pelabuhan dalam OS minimal. Dalam hal ini, kami saat ini condong ke CoreOS dan Armada.
2) Menjalankan Mesos & frameworks secara langsung di server Ubuntu / Debian. Untuk opsi ini, kami condong ke arah Mandor dan Wayang.
Adapun pertanyaannya, kami mencari untuk mengidentifikasi solusi yang, dalam urutan kepentingan:
- adalah yang paling kompleks untuk dikonfigurasi
- adalah cara termudah untuk mempertahankan & terus diperbarui
- memiliki overhead paling sedikit
Kami belum pernah bekerja dengan CoreOS sebelumnya, tetapi itu adalah opsi yang kami tuju. Satu masalah besar (subyektif) yang saya miliki dengan ini adalah bahwa kita menjalankan Mesos pada wadah Docker dan kemudian kita menjalankan wadah Docker pada Mesos. Ini sepertinya "najis" dan salah bagi saya. Apakah pertimbangan ini tidak pantas?
Pikiran yang sama menyangkut redundansi antar lapisan. Untuk menjelaskan dari mana saya berasal, saya lebih suka jika Mesos adalah OS aktual yang hanya berjalan tepat di atas logam. Tampaknya tidak peduli dasar apa yang Anda gunakan, Anda berakhir dengan fungsionalitas yang dimaksudkan sama pada lebih dari satu lapisan arsitektur (yaitu CoreOS & Fleet & SystemD == Mesos & Marathon & Chronos). Apakah ini tidak dapat dihindari?
Apakah ada opsi lain yang baik untuk menjalankan layer di bawah Mesos yang gagal kami pertimbangkan, mengingat kriteria kami?