PaaS, CaaS, atau FaaS? Cara memilih

Bayangkan berjalan ke sebuah kedai runcit yang mengkhususkan diri dalam hamburger - semua jenis hamburger, tetapi hanya hamburger. Walau bagaimanapun, mengenai hamburger, pilihan kedai tidak ada habisnya. 

Sekiranya anda seorang chef hamburger, pergi ke lorong untuk mencari daging lembu, ayam, dan pilihan protein lain, bersama dengan semua keju, jenis roti, sayur-sayuran, bumbu, dan bahan-bahan lain yang mungkin anda ingin membuat hamburger anda sendiri dan sisi. Bahkan ada pilihan pinggan dan bekas untuk mengemas makanan.

Sekiranya anda tidak mempunyai masa, kemahiran, atau minat untuk memasang hamburger sendiri, kemudian pergi ke lorong dua di mana anda boleh membeli salah satu kit hamburger-in-a-kit. Bersama dengan pilihan klasik, ada kit untuk burger organik, pilihan vegan, dan juga diet keto. Cukup ikuti petunjuk dalam kit, dan anda semestinya mempunyai satu burger sedap.

Juga terdapat dalam siri ini:

  • Kontena bergerak ke arus perdana ()
  • Kontena dan Kubernetes: 3 kisah kejayaan transformasi (CIO)
  • Kubernetes memenuhi dunia nyata ()
  • Perkara penting yang perlu diketahui mengenai rangkaian kontena (Network World)
  • Bagaimana Visa membina penyelesaian keselamatan kontena sendiri (CSO)
  • Bekas di desktop? Anda bertaruh - pada Windows 10X (Computerworld)

Hanya dengan itu, semasa anda berdiri di barisan pembayaran, bos anda memanggil. Dia mengatakan bahawa anda perlu membuat 300 burger dari pelbagai jenis dalam dua jam sebelum makan tengah hari. Selain itu, selain membuat burger, anda harus menjalankan proses untuk melayani mereka dan mendapat bayaran. Anda harus berhati-hati kerana sebilangan pelanggan mahukan pesanan khas dan yang lain akan cuba memotong talian dan mencuri makan tengah hari mereka.

Terakhir, akan ada pemeriksaan kesihatan dan keselamatan semasa makan siang, jadi apa sahaja yang anda lakukan lebih baik mematuhi peraturan. Dan maaf, anda hanya mempunyai beberapa orang yang bekerja dengan anda, dan mereka juga mempunyai sedikit pengalaman dengan jenis operasi ini.

Membuat burger awan

Memilih antara seni bina awan adalah seperti operasi hamburger sementara ini, dan dalam banyak cara, jauh lebih rumit. Pemaju, jurutera, arkitek, dan pemimpin IT mempunyai banyak platform, prestasi, peraturan, dan pertimbangan lain ketika mempertimbangkan arsitektur awan mana yang akan beroperasi.

Senibina mana yang akan menawarkan pengalaman yang lebih baik untuk pelanggan dan menghasilkan produk berkualiti tinggi? Mana yang lebih mudah untuk dikendalikan dan mencapai tarikh akhir anda? Jalan mana yang akan menangani masalah sokongan, pematuhan, dan keselamatan dengan lebih baik? Akhirnya, pendekatan mana yang dapat anda laksanakan dengan kos terendah? 

Jurutera boleh memilih pilihan container-as-a-service (CaaS) dan aplikasi container, yang setara dengan koki membuat dan mengoperasikan makanannya melalui lorong. Sekiranya mereka tidak mempunyai kepakaran itu, maka pilihan platform-as-a-service (PaaS) adalah setara dengan memilih kit di lorong dua dan mengikuti arahan dan kekangan menggunakannya.

Baik CaaS maupun PaaS tidak memenuhi keperluan anda? Anda boleh membina semuanya dari bawah ke atas (infrastruktur sebagai perkhidmatan, atau IaaS) atau menggunakan fungsi ke persekitaran tanpa pelayan (berfungsi sebagai perkhidmatan, atau FaaS).

FaaS adalah sejenis pengkomputeran tanpa pelayan yang dirancang untuk bertindak balas terhadap satu tugas. Sebagai contoh, FaaS mungkin digunakan untuk mengesahkan pengguna, melakukan pemeriksaan ejaan pada badan teks, atau melakukan pengiraan matematik.

Jelas, terdapat banyak pilihan seni bina untuk menghoskan, mengkonfigurasi, mengurus, dan menyebarkan kod ke awan. Perkara menjadi lebih rumit apabila mempertimbangkan tawaran produk yang berbeza. Pilihan PaaS merangkumi Azure App Service, AWS Elastic Beanstalk, Google App Engine, Red Hat OpenShift, dan Salesforce's Heroku, hanya untuk beberapa nama. Sekiranya anda meneroka penyelesaian CaaS, maka Amazon, Google, dan Amazon masing-masing mempunyai perkhidmatan Kubernetes yang dikendalikan sendiri dengan akronim mereka sendiri (masing-masing EKS, GKE, dan AKS) Selain itu, terdapat pilihan lain seperti VMware, IBM, Oracle, Rackspace, dan lain-lain.

Sudah tentu, terdapat lebih banyak pilihan tanpa pelayan. Azure Serverless mempunyai fungsi tanpa server, pod Kubernetes, dan persekitaran aplikasi. AWS pada masa ini mempunyai pilihan tanpa pelayan yang lebih luas dan membahagikan pelayannya ke dalam kategori berfungsi untuk pengkomputeran, penyimpanan, penyimpanan data, proksi API, dan banyak lagi. Google Cloud mengambil definisi yang paling luas tanpa pelayan dan merangkumi perkhidmatan seperti BigQuery dan AutoML.

Pertimbangan utama CaaS, PaaS, FaaS, dan tanpa pelayan

Terdapat beberapa pertimbangan ketika meninjau seni bina awan yang berbeza ini. 

  • Pemirsa sasaran - Pilihan PaaS dan FaaS mensasarkan pemaju terlebih dahulu dengan membuat penyelesaiannya mudah dikonfigurasi dan disatukan dengan saluran paip CI / CD untuk digunakan. Kontainer membuat parameterisasi persekitaran operasi dan konfigurasi platform, jadi alat ini umumnya disasarkan kepada operator dan pentadbir sistem.
  • Konfigurabiliti berbanding kelincahan - Secara amnya CaaS adalah pilihan yang paling banyak dikonfigurasi, memberikan kelonggaran kepada operator untuk memilih platform dan konfigurasi untuk dikemas. Pilihan PaaS dan FaaS memberi tumpuan kepada ketangkasan dan membantu pembangun menggunakan dan menguji kod dengan lebih pantas.
  • Beberapa penyelesaian PaaS  berpendapat - penyelesaian PaaS dan FaaS mengikut reka bentuk adalah pilihan, yang bermaksud anda sudah terkunci dalam pilihan platform dan pilihan konfigurasi mereka. Penyelesaian ini dibuat berdasarkan pendapat pereka mengenai apa yang diinginkan oleh pembangun, amalan terbaik, dan ciri prestasi sasaran. Bagi pengendali yang lebih suka fleksibiliti atau lebih banyak kawalan, PaaS atau FaaS yang pendapat mungkin terlalu menyekat. 
  • Kemahiran dan keluk pembelajaran - Suatu generalisasi yang adil adalah bahawa penyelesaian CaaS mempunyai keluk pembelajaran yang lebih curam dan memerlukan lebih banyak kemahiran daripada penyelesaian PaaS dan FaaS.
  • Vendor lock-in - Penyelesaian CaaS umumnya dikembangkan di Kubernetes dan mudah alih di pelbagai pilihan hosting awan. Walaupun penyelesaian PaaS dan FaaS dapat direkayasa dengan Kubernetes sebagai asasnya, mereka biasanya tidak mendedahkan lapisan Kubernetes kepada pengguna akhir dan sebaliknya menampilkan konfigurasi yang lebih mudah. Konfigurasi ini sesuai dengan penyelesaian PaaS dan FaaS, dan sering dirancang untuk berjalan hanya pada satu awan. Sebilangan pemimpin IT menganggap ini bermasalah dan benar-benar prihatin untuk dikunci dengan vendor awan. 

Soalan untuk membimbing penyelidikan dan prototaip anda

Apabila menghadapi begitu banyak pilihan, beberapa organisasi akan melakukan sedikit penyelidikan dan prototaip dan memilih jalan yang paling cepat terpantas. Yang lain akan melaburkan banyak masa, tenaga, dan wang untuk membuat pilihan penyelidikan, berunding dengan pakar, dan memilih pilihan untuk pelaksanaan yang mantap.

Kedua-dua pendekatan itu lebih baik daripada organisasi anda menjadi lumpuh oleh banyak pilihan, tidak memilih, dan tidak akan ke mana-mana. Di dunia yang serba pantas di mana setiap syarikat berusaha untuk mendapatkan kelebihan teknikal, terlalu konservatif dan mengekalkan status quo hanya akan menghalang peluang perniagaan. 

Oleh itu, saya berunding dengan pakar untuk mengenal pasti beberapa soalan utama yang harus membantu mempersempit pilihan dan bidang permainan:

  1. Adakah anda pasukan kecil dengan hanya beberapa aplikasi? Dalam kes ini, anda harus mempertimbangkan pilihan PaaS dan tanpa pelayan yang lebih mudah di mana anda dapat memperoleh sebahagian besar platform yang diperlukan terlebih dahulu dan tanpa meluangkan banyak masa dan kepakaran. DJ Navarrete, pengarah seni bina platform di AvidXchange, mencadangkan, "Untuk syarikat kecil hingga pertengahan yang mungkin memerlukan lebih banyak sokongan pengurusan perubahan untuk berjaya, dan mereka yang ingin meningkatkan kematangan, kestabilan, dan kecepatan dengan cepat, PaaS menarik kerana menawarkan jalan yang lebih cepat ke arah pelaksanaan dan kecekapan. "
  2. Adakah anda mempunyai muatan episodik tetapi masih perlu ditingkatkan apabila diperlukan? Skopnya dapat berupa layanan mikro atau fungsi tetapi juga dapat berkembang menjadi aplikasi dan pangkalan data penuh. Kes penggunaan ini sangat sesuai untuk pengkomputeran tanpa pelayan, di mana anda hanya membayar untuk penggunaan yang diperlukan.
  3. Adakah anda mempunyai kewajiban pematuhan atau standar peraturan yang memaksa anda untuk melaporkan pilihan atau pengaturan tertentu dalam wadah pelaksanaan, aplikasi, pangkalan data, sistem operasi, atau infrastruktur? Wayne Anderson, arkitek keselamatan dan pematuhan untuk Pusat Kecemerlangan Tempat Kerja Moden Microsoft, mengatakan ini adalah sebab kritikal bahawa pilihan tanpa pelayan dikesampingkan. PCI dan keperluan pematuhan lain secara amnya ditafsirkan oleh jabatan undang-undang atau juruaudit sebagai memerlukan bukti tetapan persekitaran pengkomputeran.
  4. Adakah anda memanfaatkan banyak platform khusus atau aplikasi lama? Dalam kes ini, mungkin sukar untuk mencari pilihan PaaS komersial yang serasi. Pada masa yang sama, pengembangan kontainer dapat mempermudah penggunaan dan pengurusan ketergantungan.
  5. Adakah anda sebuah organisasi atau syarikat besar yang beroperasi di banyak awan dan dengan pelbagai platform aplikasi dan data dalam pengeluaran? Organisasi-organisasi ini mungkin memilih untuk menyeragamkan kontena kerana ia memberikan fleksibiliti paling banyak dalam menyokong pelbagai platform dan pilihan konfigurasi. Tanpa pelayan mungkin masih menjadi pertimbangan sekiranya pematuhan bukan faktor. Perusahaan boleh menjauhkan diri dari pilihan PaaS jika mereka memiliki keterampilan dan kemampuan yang cukup untuk mengembangkan luas pilihan di Kubernetes. Organisasi dengan skala dan kemahiran teknikal yang mencukupi, seperti Shopify, mungkin memilih untuk merekayasa PaaS mereka sendiri dengan Kubernetes dan kontena sebagai asasnya.
  6. Adakah anda mengembangkan perkhidmatan mikro dan menyeragamkan seni bina perkhidmatan mikro berasaskan awan? Mark Heath menunjukkan bahawa kontena atau FaaS adalah pilihan yang baik, seperti fungsi hosting dalam kontena. Heath mengatakan bahawa fungsi tanpa pelayan mungkin lebih mudah dikonfigurasi dan lebih murah untuk disokong, sementara kontena dapat mempermudah pembangunan tempatan dan memberikan lebih banyak pilihan untuk mendapatkan titik akhir. 
  7. Perunding awan Sarbjeet Johal suka mengetahui sama ada anda membina platform, aplikasi, atau perkhidmatan, dan sama ada khalayak adalah dalaman syarikat, luaran atau pelanggan, atau mesin habis. Mengetahui jenis aplikasi dan jenis pengguna akhir membantu anda menjangkakan keperluan dan keperluan masa depan. Sebagai contoh, Johal mengatakan, "Untuk aplikasi luaran, anda ingin mencatat kawalan akses yang jauh lebih banyak, jumlah data mungkin meningkat dengan tidak dapat diramalkan, dan aplikasi mungkin mempunyai jangka hayat yang lebih panjang berbanding dengan aplikasi dalaman. Sekiranya perkhidmatan atau platform dapat digunakan oleh mesin, maka anda mungkin memerlukan pemeteran. " Meramalkan peta jalan dan keperluan masa depan harus membantu mempromosikan beberapa pilihan dan mengesampingkan yang lain.

Setelah pilihan anda disempitkan, amalan terbaik adalah dengan mengadakan bukti konsep. Anda tidak memasak burger dengan harga 300 tanpa menguji resipi.