fargate vs lambda, kapan harus menggunakan yang mana?
<p>saya cukup baru untuk seluruh lanskap serverless, dan saya mencoba membungkus kepala saya kapan harus menggunakan fargate vs lambda.</p><p>saya sadar bahwa fargate adalah bagian dari ecs yang tidak memiliki server, dan lambda juga tidak memiliki server tetapi didorong oleh berbagai peristiwa. tapi saya ingin bisa menjelaskan dua paradigma secara sederhana kepada orang lain yang akrab dengan wadah tetapi tidak banyak dengan aws dan serverless.</p><p>saat ini kami memiliki beberapa server fisik yang bertugas menerima file teks, menguraikannya, dan mengisi beberapa tabel db dengan hasilnya. berdasarkan pemahaman saya, saya pikir ini akan menjadi kasus penggunaan yang lebih cocok untuk lambda karena proses yang mem-parsing file teks dipicu oleh jadwal, tidak berjalan lama, dan landai ketika tidak digunakan.</p><p>namun, jika kami melakukan porting ke salah satu server kami yang menerima panggilan api, kami mungkin ingin menggunakan fargate karena kami akan selalu membutuhkan setidaknya satu instance gambar untuk beroperasi.</p><p>dalam hal wadah, dan dalam istilah yang sangat umum akan lebih aman untuk mengatakan bahwa jika wadah itu dirancang untuk dilakukan:</p><pre><code>docker run &lt;some\_input&gt; </code></pre><p>maka itu adalah pekerjaan untuk lambda.</p><p>tetapi jika wadah itu dirancang untuk melakukan sesuatu seperti:</p><pre><code>docker run --expose 80 </code></pre><p>maka itu adalah pekerjaan untuk fargate.</p><p>apakah ini analogi yang bagus?</p>
<p>itu awal dari analogi yang bagus. namun lambda juga memiliki keterbatasan dalam hal cpu dan ram yang tersedia, dan waktu menjalankan maksimum 15 menit per doa. jadi apa pun yang membutuhkan lebih banyak sumber daya, atau perlu berjalan lebih dari 15 menit, akan lebih cocok untuk fargate.</p><p>juga saya tidak yakin mengapa anda mengatakan sesuatu lebih cocok untuk fargate karena anda "selalu membutuhkan setidaknya satu contoh berjalan". lambda + api gateway sangat cocok untuk panggilan api, api gateway selalu siap untuk menerima panggilan api dan kemudian akan memanggil fungsi lambda untuk memprosesnya (jika responsnya belum di-cache).</p>
<p>docker awalnya menggunakan <a href="http://lxc.sourceforge.net/">linux containers</a> (lxc), tetapi kemudian beralih ke <a href="https://github.com/opencontainers/runc">runc</a> (sebelumnya dikenal sebagai<strong> libcontainer </strong>), yang berjalan dalam sistem operasi yang sama dengan host-nya. ini memungkinkannya untuk berbagi banyak sumber daya sistem operasi host. juga, ia menggunakan sistem file berlapis ( <a href="http://aufs.sourceforge.net/">aufs</a> ) dan mengelola jaringan.</p><p>aufs adalah sistem file berlapis, sehingga anda dapat memiliki bagian hanya baca dan bagian tulis yang digabungkan. seseorang dapat memiliki bagian umum dari sistem operasi sebagai hanya baca (dan dibagi di antara semua wadah anda) dan kemudian memberikan masing-masing wadah mount sendiri untuk ditulis.</p><p>jadi, katakanlah anda memiliki gambar kontainer 1 gb; jika anda ingin menggunakan vm penuh, anda harus memiliki 1 gb x jumlah vm yang anda inginkan. dengan docker dan aufs anda dapat berbagi sebagian besar 1 gb di antara semua wadah dan jika anda memiliki 1000 kontainer anda masih mungkin hanya memiliki sedikit lebih dari 1 gb ruang untuk wadah os (dengan asumsi mereka semua menjalankan gambar os yang sama) .</p><p>sistem tervirtualisasi lengkap mendapatkan set sumber daya sendiri yang dialokasikan untuk itu, dan melakukan pembagian minimal. anda mendapatkan lebih banyak isolasi, tetapi jauh lebih berat (membutuhkan lebih banyak sumber daya). dengan docker anda mendapatkan lebih sedikit isolasi, tetapi wadahnya ringan (membutuhkan lebih sedikit sumber daya). jadi anda dapat dengan mudah menjalankan ribuan kontainer pada host, dan itu bahkan tidak akan berkedip. coba lakukan itu dengan xen, dan kecuali anda memiliki host yang sangat besar, saya rasa itu tidak mungkin.</p><p>sistem virtualisasi penuh biasanya membutuhkan waktu beberapa menit untuk memulai, sedangkan wadah docker/lxc/runc membutuhkan waktu beberapa detik, dan seringkali bahkan kurang dari satu detik.</p><p>ada pro dan kontra untuk setiap jenis sistem tervirtualisasi. jika anda ingin isolasi penuh dengan sumber daya yang dijamin, \_ vm yang lengkap adalah cara untuk melakukannya. jika anda hanya ingin mengisolasi proses dari satu sama lain dan ingin menjalankan satu ton dari mereka pada host berukuran cukup, maka docker/lxc/runc tampaknya menjadi cara untuk pergi.</p><p>untuk informasi lebih lanjut, lihat <a href="http://web.archive.org/web/20150326185901/http://blog.dotcloud.com/under-the-hood-linux-kernels-on-dotcloud-part">set posting blog ini</a> yang melakukan pekerjaan dengan baik untuk menjelaskan cara kerja lxc.</p><blockquote> <p>mengapa menyebarkan perangkat lunak ke gambar buruh pelabuhan (jika itu istilah yang tepat) lebih mudah daripada hanya menggunakan lingkungan produksi yang konsisten?</p> </blockquote><p>menyebarkan lingkungan produksi yang konsisten lebih mudah diucapkan daripada dilakukan. bahkan jika anda menggunakan alat seperti <a href="https://en.wikipedia.org/wiki/chef\_%28software%29">chef</a> dan <a href="https://en.wikipedia.org/wiki/puppet\_%28software%29">wayang</a> , selalu ada pembaruan os dan hal-hal lain yang berubah antara host dan lingkungan.</p><p>docker memberi anda kemampuan untuk memotret os menjadi gambar yang dibagikan, dan membuatnya mudah untuk digunakan pada host docker lainnya. secara lokal, dev, qa, prod, dll .: semua gambar yang sama. tentu anda bisa melakukan ini dengan alat lain, tetapi tidak semudah atau cepat.</p><p>ini bagus untuk pengujian; katakanlah anda memiliki ribuan tes yang perlu terhubung ke database, dan setiap tes membutuhkan salinan asli dari database dan akan membuat perubahan pada data. pendekatan klasik untuk ini adalah mereset basis data setelah setiap pengujian baik dengan kode khusus atau dengan alat seperti <a href="https://flywaydb.org/">flyway</a> - ini bisa sangat memakan waktu dan berarti tes harus dijalankan secara seri. namun, dengan docker anda bisa membuat gambar dari database anda dan menjalankan satu contoh per tes, dan kemudian menjalankan semua tes secara paralel karena anda tahu mereka semua akan berjalan melawan snapshot yang sama dari database. karena tes berjalan secara paralel dan dalam wadah docker, mereka dapat menjalankan semua pada kotak yang sama pada waktu yang sama dan harus menyelesaikan lebih cepat. coba lakukan itu dengan vm penuh.</p><p>dari komentar ...</p><blockquote> <p>menarik! saya kira saya masih bingung dengan gagasan &quot;snapshot [ting] os&quot;. bagaimana seseorang melakukannya tanpa, membuat gambar os?</p> </blockquote><p>baiklah, mari kita lihat apakah saya bisa menjelaskan. anda mulai dengan gambar dasar, dan kemudian membuat perubahan anda, dan melakukan perubahan itu menggunakan buruh pelabuhan, dan itu membuat gambar. gambar ini hanya berisi perbedaan dari pangkalan. ketika anda ingin menjalankan gambar anda, anda juga membutuhkan basis, dan lapisan gambar anda di atas basis menggunakan sistem file berlapis: seperti yang disebutkan di atas, docker menggunakan aufs. aufs menggabungkan lapisan yang berbeda bersama-sama dan anda mendapatkan apa yang anda inginkan; anda hanya perlu menjalankannya. anda dapat terus menambahkan lebih banyak gambar (lapisan) dan itu akan terus menyimpan hanya diff. karena docker biasanya membangun di atas gambar yang sudah jadi dari <a href="https://registry.hub.docker.com/">registry</a> , anda jarang harus &quot;memotret&quot; sendiri seluruh os.</p> <p>saya harus mengakui bahwa beralih dari eclipse ke phpstorm bukanlah yang termudah (karena keseluruhan ide sangat berbeda) hal tetapi itu sepadan dengan usaha.</p><p>anda tidak dapat memiliki beberapa proyek dibuka di jendela ide yang sama, dan juga klien git tidak sebagus yang ada di eclipse (sebenarnya saya merasa sangat miskin, bahwa saya hanya menggunakan git dari konsol sekarang) .tapi selain itu harus sangat mudah untuk menjalankan debugger atau tes unit.</p><p>ada beberapa <strong> tutorial video </strong> yang dapat membantu anda memulai.</p><p> <a href="http://www.jetbrains.com/phpstorm/documentation/phpstorm-video-tutorials.jsp">dokumentasi phpstorm - tutorial video</a> </p><p>selain itu, dokumentasi '<strong> ol yang baik </strong> dapat menjawab pertanyaan anda.</p><p> <a href="http://www.jetbrains.com/phpstorm/webhelp/phpstorm.html">bantuan web phpstorm</a> </p> <p>sertifikat validasi diperpanjang dimaksudkan untuk menunjukkan kepada pengguna secara lebih jelas institusi tempat mereka dikeluarkan. aspek teknis sertifikat itu sendiri dikombinasikan dengan petunjuk visual di antarmuka pengguna aplikasi yang memverifikasi mereka: bilah hijau dan nama yang terlihat di sebelah bilah lokasi di browser.</p><p>misalnya, sertifikat ev di <a href="http://www.paypal.com/">http://www.paypal.com/</a> akan membuat peramban menampilkan bilah hijau dan menampilkan "paypal, inc." di sebelahnya. ini dirancang tidak hanya untuk menautkan sertifikat ke pemilik domain (seperti sertifikat standar yang divalidasi domain), tetapi juga menautkannya ke lembaga yang lebih fisik (di sini, paypal, inc.). untuk melakukan ini, ca harus memverifikasi bahwa lembaga yang disebutkan itu memang yang memiliki domain.</p><p>pada akhirnya, ini lebih tentang membuat tautan yang lebih terautentikasi antara nama domain dan nama perusahaan daripada membuat sertifikat "lebih aman". dari sudut pandang cipher suite (yang menentukan algoritma enkripsi dan ukuran kunci), sertifikat ev tidak berbeda dari sertifikat dv (bilah biru).</p><p>melangkah mundur sedikit, anda perlu menyadari bahwa efektivitas https bergantung pada pengguna memeriksa apakah itu digunakan dengan benar. (server tidak memiliki cara untuk mengetahui apakah klien menjadi korban serangan mitm, kecuali jika menggunakan sertifikat klien juga.) ini berarti bahwa pengguna harus:</p><ul> <li>periksa apakah https digunakan ketika mereka mengharapkannya,</li> <li>periksa bahwa tidak ada peringatan,</li> <li>pastikan situs web yang mereka gunakan memang situs yang ingin mereka kunjungi, yang mengarah ke beberapa sub-poin: <ul> <li>memeriksa apakah itu nama domain yang mereka harapkan,</li> <li>memeriksa apakah nama domain itu milik perusahaan yang mereka harapkan.</li> </ul> </li> </ul><p>sertifikat ev dimaksudkan untuk menyelesaikan sub-poin terakhir itu. jika anda sudah tahu itu <code>amazon.com</code> milik amazon.com, inc. atau itu <code>google.com</code> milik google inc., anda tidak benar-benar membutuhkannya.</p><p>saya pribadi tidak yakin bahwa pendekatan ini benar-benar berfungsi, karena mereka dapat disalahgunakan (lihat contoh natwest/rbs di bawah) dan beberapa ca tampaknya menyebarkan informasi yang tidak jelas (dan berpotensi menyesatkan) mengenai apa sebenarnya mereka, dalam upaya untuk mempromosikan mereka.</p><p>secara umum, jika pengguna anda sudah tahu bahwa nama domain anda adalah milik anda, anda tidak benar-benar membutuhkannya.</p><p>berikut ini rincian lebih lanjut dari <a href="https://security.stackexchange.com/a/13614/2435">jawaban sebelumnya saya berikan untuk pertanyaan serupa</a> :</p><blockquote> <p>[...]</p> <p>sertifikat yang divalidasi domain menjamin anda bahwa sertifikat itu dikeluarkan untuk pemilik domain itu. tidak lebih, tetapi tidak kurang (saya mengasumsikan prosedur validasi sudah benar di sini). dalam banyak kasus, ini sudah cukup. itu semua tergantung pada apakah situs web yang anda promosikan harus ditautkan ke lembaga yang sudah dikenal secara off-line. sertifikat yang divalidasi terhadap suatu organisasi (sertifikat ov dan ev) terutama berguna ketika anda harus mengikat domain ke organisasi fisik juga.</p> <p>misalnya, berguna bagi lembaga yang awalnya dikenal melalui bangunannya (mis. bank of america) untuk dapat mengatakan bahwa sertifikat untuk <code>bankofamerica.com</code> memang untuk tempat anda memberikan uang fisik anda. dalam hal ini, masuk akal untuk menggunakan sertifikat ov atau ev. ini juga dapat bermanfaat jika ada ambiguitas mengenai lembaga mana yang berada di belakang nama domain (mis. <code>apple.com</code> dan <code>apple.co.uk</code>), yang lebih penting adalah nama domain yang sama dimiliki oleh saingan/penyerang menggunakan kesamaan nama untuk tujuan yang buruk.</p> <p>sebaliknya, <a href="https://www.google.com/"><code>www.google.com</code></a> adalah yang mendefinisikan google untuk umum; google tidak perlu membuktikan bahwa <code>google.com</code> milik google asli. akibatnya, ia menggunakan sertifikat yang divalidasi domain (sama dengan <code>amazon.com</code>).</p> <p>sekali lagi, ini sangat berguna jika pengguna tahu cara memeriksa ini. peramban tidak terlalu membantu di sini. firefox hanya mengatakan "yang dijalankan oleh (tidak dikenal)" jika anda ingin lebih detail tentang sertifikat di <code>www.google.com</code>, tanpa benar-benar mengatakan apa yang dimaksud dengan ini.</p> <p>sertifikat validasi yang diperluas adalah upaya untuk meningkatkan ini, dengan membuat prosedur validasi organisasi menjadi lebih ketat, dan dengan membuat hasilnya lebih terlihat: bilah hijau dan organisasi yang lebih terlihat.</p> <p>sayangnya, ini kadang-kadang digunakan dengan cara yang meningkatkan kebingungan, saya pikir. berikut adalah contoh yang dapat anda periksa sendiri: salah satu bank besar inggris (natwest) menggunakan <a href="https://www.nwolb.com/"><code>https://www.nwolb.com/</code></a> untuk layanan perbankan on-line-nya. jauh dari jelas bahwa nama domain milik natwest (yang juga memiliki lebih logis <code>natwest.co.uk</code> nama, omong-omong). lebih buruk lagi, validasi diperpanjang (jika anda memeriksa nama di sebelah bilah hijau) dilakukan terhadap "royal bank of scotland group plc".</p> <p>bagi mereka yang mengikuti berita keuangan, masuk akal karena rbs dan natwest termasuk dalam kelompok yang sama, tetapi secara teknis, rbs dan natwest adalah pesaing (dan keduanya memiliki cabang di jalan raya di inggris - meskipun itu akan berubah). jika pengguna anda tidak memiliki pengetahuan ekstra tentang kelompok mana yang berdagang dengan nama mana, fakta bahwa sertifikat dikeluarkan atas nama pesaing potensial harus membunyikan bel alarm. jika, sebagai pengguna, anda melihat sertifikat pada <code>gooooogle.com</code> dikeluarkan untuk microsoft atau yahoo, betapapun hijaunya bar, anda tidak boleh menganggap ini sebagai situs google.</p> <p>satu hal yang perlu diingat dengan sertifikat ev adalah <a href="https://security.stackexchange.com/a/14064/2435">konfigurasinya dikodekan ke dalam browser</a> . ini adalah pengaturan waktu kompilasi, yang tidak dapat dikonfigurasikan nanti (tidak seperti toko sertifikat tepercaya yang normal, di mana anda dapat menambahkan sertifikat ca kelembagaan anda sendiri, misalnya). dari sudut pandang yang lebih sinis, beberapa dapat menganggap ini sebagai cara yang nyaman bagi pemain utama untuk mempertahankan posisi yang kuat di pasar.</p> </blockquote> <p>shmuel613, akan lebih baik untuk memperbarui pertanyaan awal anda daripada menjawab. lebih baik jika ada satu tempat yang berisi pertanyaan lengkap daripada menyebar dalam diskusi.</p><p>jawaban ben masuk akal, kecuali ia tampaknya memiliki 'tidak' di mana ia tidak menginginkannya. menjatuhkan tabel hanya jika<strong> tidak </strong>ada tidak tepat.</p><p>anda memang membutuhkan banyak pernyataan. buat dengan kondisional lalu isi:</p><ol> <li>buat tabel sementara jika tidak ada fubar (id int, name varchar (80))</li> <li>truncate table fubar</li> <li>masukkan ke dalam fubar pilih * dari barfu</li> </ol><p>atau cukup jatuhkan dan buat ulang</p><ol> <li>drop tabel jika ada fubar</li> <li>buat tabel sementara id select fubar, nama dari barfu</li> </ol><p>dengan sql murni itu adalah dua kelas solusi nyata anda. saya suka yang kedua lebih baik.</p><p>(dengan prosedur tersimpan anda bisa menguranginya menjadi satu pernyataan. sesuatu seperti: truncateandpopulate (fubar) tetapi pada saat anda menulis kode untuk truncateandpopulate () anda akan menghabiskan lebih banyak waktu daripada hanya menggunakan sql di atas.)</p> <p>ketahuilah bahwa php pada umumnya lebih lambat di bawah windows daripada di bawah sistem operasi seperti unix. semuanya menjadi lebih baik dengan versi yang lebih baru (pembaruan!) tetapi masih ada perbedaan yang terukur.</p><p>yang mengatakan ada dua langkah besar yang harus diambil ketika mengoptimalkan server anda php kinerja:</p><ol> <li> <p>gunakan fastcgi</p> <p>walaupun fpm hanya berfungsi di unix, fastcgi juga bekerja dengan iis di bawah windows. ini tutorial dari microsoft sendiri tentang cara melakukannya: <a href="http://www.iis.net/learn/application-frameworks/running-php-applications-on-iis/set-up-fastcgi-for-php">http://www.iis.net/ learn/application-frameworks/running-php-application-on-iis/set-up-fastcgi-for-php</a> </p> </li> <li> <p>gunakan cache opcode</p> <p>sekali lagi microsoft telah anda tutupi dengan ekstensi <a href="http://www.iis.net/downloads/microsoft/wincache-extension">wincache</a> .</p> </li> </ol><p>jika anda masih memiliki masalah kinerja setelah langkah-langkah ini, saya sarankan untuk membuat profil versi windows dan linux. anda dapat menggunakan <a href="http://www.php.net/manual/en/book.xhprof.php">xhprof</a> atau <a href="http://xdebug.org">xdebug</a> . coba cari tahu apakah anda memiliki masalah dengan kinerja php atau mysql. tes lain yang bisa anda lakukan adalah melayani kedua salinan dari server database yang sama (harus menjadi server ketiga). itu akan dengan cepat memberi tahu anda apakah anda memiliki php atau masalah mysql.</p> <p>implementasi yang saya lihat dari ini dilakukan dengan mengutak-atik tabel penerusan mac pada titik akses. karena titik akses hanya bertindak sebagai jembatan jaringan, itu cukup cocok untuk tugas semacam ini. pada lapisan switching itu sudah mengumpulkan semua mac yang didengar (kadang-kadang disebut belajar) dan antarmuka yang dapat ditemukan.</p><p>logikanya terlihat seperti ini:</p><ol> <li>access point menerima paket melalui antarmuka nirkabel</li> <li>subsistem bridging memeriksa paket untuk mac tujuan</li> <li>jika mac tujuan berada dalam tabel switching yang dipelajari untuk antarmuka nirkabel -&gt; drop</li> <li>kalau tidak meneruskan paket melalui antarmuka kabel</li> </ol><p>karena cara jembatan jaringan bekerja, saya melihat ini menjadi cukup sulit untuk menipu titik akses ke meneruskan paket ke klien terlepas dari isolasi. taruhan terbaik anda adalah berusaha berbicara langsung dengan klien lain, seolah-olah anda beroperasi dengan jaringan ad-hoc.</p> sepertinya boleh juga sob....
asalkan lancar dan tidak ada bug....
dan mungkin aja y!a bisa berat....dan agak lag..... terjemahan soal yaitu "komputer siapa yang tidak berfungsi?". 

jawaban terdapat pada dialog fredi yaitu "nothing much. i was revising but i had to stop because my computer is not working." ("tidak banyak. saya sedang merevisi tetapi saya harus berhenti karena komputer saya tidak berfungsi."). 

berdasarkan hal tersebut, dapat disimpulkan bahwa komputer fredi yang tidak berfungsi.

jadi, jawaban yang benar adalah "fredi's computer is not working." keunggulan pengolahan data digital dibandingkan dengan data manual yaitu:


 minimalisisir duplikat/ double data
 tingkat kevalidan data tinggi karena saling berelasi, sehingga apabila ada perubahan akan merubah data lainnya yang masih dalam satu lembar kerja
 indepedensi data yaitu data tidak dapat dirubah apabila data tersebut sedang dioperasikan
 dapat berbagi data dengan perangkat lain secara cepat dan mudah
 memerlukan biaya yang murah apabila dibandingkan dengan data manual yang memerlukan peta dalam bentuk cetak yang banyak
 mampu mengolah data dalam jumlah besar secara cepat dan tepat karena dilakukan oleh sistem
 tingkat keamanan tinggi, sehingga meminimalisir hilangnya data atau plagiat.
 tidak memerlukan banyak ruang untuk menyimpan data


sehingga jawaban yang benar adalah nomor 1,3,dan 5

berdasarkan pembahasan di atas, jawaban yang tepat untuk soal ini adalah c. kurang setuju oom.. boleh saja menggunakan bahasa inggris, atau bahasa apapun, hanya sifatnya temporer saja... bukankah user2 jps terdiri atas berbagai golongan usia, jenjang pendidikan, suku bangsa, dsb? membiasakan dan beradaptasi memang sangat baik, tapi bukan yang terbaik...
esensi dari jps dan room2 lain di yahoo! answer sendiri menurut saya adalah saling berbagi informasi yang bisa dimengerti oleh semua user yahoo! answer. andaikata kita menggunakan bahasa inggris, apakah bisa dimengerti dan dipahami oleh semua user? saya rasa tidak... berbicara menggunakan bahasa indonesia saja masih banyak yang salah menafsirkan, apalagi bahasa inggris... ^^

salam hangat & jabat erat buat semua user yahoo! answer,,,,
carlitos...