Yayasan Terbaik untuk Penyebaran Mesos

9

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?

awishformore
sumber
Ini terdengar rumit. Apa daya tarik Mesos dalam konteks ini?
ewwhite
Mesos melengkapi data besar / hal-hal HPC dengan baik, seperti Spark atau bahkan Hadoop, tetapi saya tidak melihat nilai dalam meletakkan segala sesuatu di bawahnya, terutama layanan web atau surat.
Michael Hampton
@ewwhite Daya tarik dalam konteks ini adalah bahwa kami dapat mendistribusikan sumber daya perangkat keras yang tersedia di antara semua aplikasi tanpa harus memisahkan cluster kami. Jika kita menjalankan dua konfigurasi, kita harus membagi sumber daya secara manual di antara mereka.
awishformore
@MichaelHampton Kami percaya bahwa arsitektur Mesos adalah jalan ke depan untuk komputasi awan, tetapi saya tidak mengklaim dengan cara apa pun bahwa itu adalah satu-satunya jawaban. Namun harus jelas bahwa lebih mudah untuk mengelola pada cluster daripada mengelola cluster yang sama ditambah beberapa hal tambahan di samping.
awishformore
1
Ini mungkin layak untuk dilihat: mesosphere.com/product - edisi perusahaan tampaknya akan layak untuk penyediaan pada bare metal.
Mary

Jawaban:

2

Mengkonfigurasi dan menjalankan layanan di bawah Mesos dapat menjadi operasi yang kompleks atau mudah, dan Anda harus terlebih dahulu menentukan skema layanan yang ingin Anda jalankan di bawahnya, tergantung pada kebutuhan dan tujuan Anda, untuk mendapatkan soultion yang Anda inginkan.

Saya menjalankan pengaturan> 70 mesin dan berbagai layanan berbeda di bawah HAProxy untuk penyeimbangan beban dinamis dengan Mesos-DNS dan Marathon, gerbang Api, Chronos, Jenkins, Docker, Collectd dan Graphite, ...

Sekarang untuk menjawab pertanyaan langsung Anda:

  • Mesos paling tidak rumit untuk dikonfigurasikan menggunakan distribusi Linux "favorit" Anda yang paling Anda kenal.
  • Cara termudah untuk memelihara adalah lagi, distro yang paling Anda kenal.
  • Mengenai overhead, Mesos adalah sistem perangkat lunak yang menggunakan pustaka OS yang mendasari dan fungsi perangkat lunak lain selain itu sendiri dan memiliki Mesos sebagai OS (bekerja baik dengan perangkat keras dan perangkat lunak ...) adalah jenis gambar yang sepenuhnya salah.

Jadi jawaban terbaik saya untuk Anda adalah menggunakan distro Linux favorit Anda dan memakai Mesos, atau jika Anda ingin mempelajari sesuatu yang baru dan mungkin cepat dan mudah, gunakan DCOS dan CoreOS .

Breign
sumber