Mengembangkan untuk Cloud di Cloud: Pengembangan BigData dengan Docker di AWS
Diterbitkan: 2022-03-11Mengapa Anda mungkin membutuhkannya?
Saya seorang pengembang, dan saya bekerja setiap hari di Lingkungan Pengembangan Terpadu (IDE), seperti Intellij IDEA atau Eclipse. IDE ini adalah aplikasi desktop. Sejak munculnya Google Documents, saya telah melihat semakin banyak orang memindahkan pekerjaan mereka dari Word atau Excel versi desktop ke cloud menggunakan aplikasi pengolah kata atau spreadsheet yang setara secara online.
Ada alasan yang jelas untuk menggunakan cloud untuk mempertahankan pekerjaan Anda. Saat ini, dibandingkan dengan aplikasi bisnis desktop tradisional, beberapa aplikasi web tidak memiliki kelemahan yang signifikan dalam fungsionalitas. Konten tersedia di mana pun ada browser web, dan hari ini, itu hampir di mana-mana. Kolaborasi dan berbagi lebih mudah, dan kemungkinan kehilangan file lebih kecil.
Sayangnya, keunggulan cloud ini tidak umum di dunia pengembangan perangkat lunak seperti untuk aplikasi bisnis. Ada beberapa upaya untuk menyediakan IDE online, tetapi tidak ada yang mendekati IDE tradisional.
Itu adalah sebuah paradoks; sementara kami masih terikat ke desktop kami untuk pengkodean harian, perangkat lunak ini sekarang muncul di beberapa server. Pengembang perlu bekerja dengan hal-hal yang tidak dapat mereka simpan lagi di komputer mereka. Memang, laptop tidak lagi meningkatkan kekuatan pemrosesannya; memiliki lebih dari 16GB RAM pada laptop jarang dan mahal, dan perangkat yang lebih baru, tablet, misalnya, memiliki lebih sedikit.
Namun, meskipun belum memungkinkan untuk menggantikan aplikasi desktop klasik untuk pengembangan perangkat lunak, dimungkinkan untuk memindahkan seluruh desktop pengembangan Anda ke cloud . Pada hari saya menyadari bahwa tidak perlu lagi memiliki semua perangkat lunak saya di laptop saya, dan memperhatikan ketersediaan terminal versi web dan VNC, saya memindahkan semuanya ke cloud. Akhirnya, saya mengembangkan kit build untuk menciptakan lingkungan itu secara otomatis.
Dalam artikel ini saya menyajikan satu set skrip untuk membangun lingkungan pengembangan berbasis cloud untuk Scala dan aplikasi data besar, berjalan dengan Docker di Amazon AWS, dan terdiri dari desktop yang dapat diakses web dengan IntelliJ IDE, Spark, Hadoop, dan Zeppelin sebagai layanan , dan juga alat baris perintah seperti SSH, SBT, dan Ammonite berbasis web. Kit ini tersedia secara gratis di GitHub, dan saya jelaskan di sini prosedur penggunaannya untuk membangun instance Anda. Anda dapat membangun lingkungan Anda dan menyesuaikannya dengan kebutuhan khusus Anda. Anda tidak perlu lebih dari 10 menit untuk menjalankannya.
Apa yang ada di "BigDataDevKit"?
Tujuan utama saya dalam mengembangkan kit adalah bahwa lingkungan pengembangan saya harus menjadi sesuatu yang dapat saya jalankan dengan mudah, dengan semua layanan dan server tempat saya bekerja, dan kemudian menghancurkannya ketika tidak lagi diperlukan. Ini sangat penting ketika Anda mengerjakan proyek yang berbeda, beberapa di antaranya melibatkan sejumlah besar server dan layanan, seperti saat Anda mengerjakan proyek data besar.
Lingkungan berbasis cloud ideal saya harus:
- Sertakan semua alat pengembangan yang biasa, yang paling penting IDE grafis.
- Memiliki server dan layanan yang saya butuhkan di ujung jari saya.
- Mudah dan cepat untuk dibuat dari awal, dan dapat diperluas untuk menambahkan lebih banyak layanan.
- Dapat diakses sepenuhnya hanya dengan menggunakan browser web.
- Secara opsional, izinkan akses dengan klien khusus (klien VNC dan klien SSH).
Memanfaatkan infrastruktur dan perangkat lunak cloud modern, kekuatan browser modern, ketersediaan broadband yang tersebar luas, dan Docker yang tak ternilai, saya menciptakan lingkungan pengembangan untuk Scala dan pengembangan data besar yang, menjadi lebih baik, menggantikan laptop pengembangan saya.
Saat ini, saya dapat bekerja kapan saja, baik dari MacBook Pro, Surface Tablet, atau bahkan iPad (dengan keyboard), meskipun harus diakui bahwa opsi terakhir tidak ideal. Semua perangkat ini hanyalah klien; desktop dan semua server ada di cloud.
Lingkungan saya saat ini dibangun menggunakan layanan online berikut:
- Amazon Web Services untuk server.
- GitHub untuk menyimpan kode.
- Dropbox untuk menyimpan file.
Saya juga menggunakan beberapa layanan gratis, seperti DuckDns untuk alamat IP dinamis dan Let's encrypt untuk mendapatkan sertifikat SSL gratis.
Di lingkungan ini, saya saat ini memiliki:
- Desktop grafis dengan ide Intellij, dapat diakses melalui browser web.
- Alat baris perintah yang dapat diakses web seperti SBT dan Amon.
- Hadoop untuk menyimpan file dan menjalankan pekerjaan MapReduce.
- Spark Job Server untuk pekerjaan terjadwal.
- Zeppelin untuk notebook berbasis web.
Yang terpenting, akses web sepenuhnya dienkripsi dengan HTTPS, baik untuk VNC dan SSH berbasis web, dan ada beberapa perlindungan untuk menghindari kehilangan data, kekhawatiran yang tentu saja penting ketika Anda tidak “memiliki” konten di hard disk fisik Anda. Perhatikan bahwa mendapatkan salinan semua pekerjaan Anda di komputer Anda secara otomatis dan sangat cepat. Jika Anda kehilangan segalanya karena seseorang mencuri kata sandi Anda, Anda tetap memiliki salinannya di komputer Anda, selama Anda mengonfigurasi semuanya dengan benar.
Menggunakan Lingkungan Pengembangan Berbasis Web dengan AWS dan Docker
Sekarang, mari kita mulai menjelaskan bagaimana lingkungan bekerja. Ketika saya mulai bekerja di pagi hari, hal pertama adalah masuk ke konsol Amazon Web Services di mana saya melihat semua instans saya. Biasanya, saya memiliki banyak instance pengembangan yang dikonfigurasi untuk proyek yang berbeda, dan saya menonaktifkan yang tidak digunakan untuk menghemat penagihan. Lagi pula, saya hanya bisa mengerjakan satu proyek dalam satu waktu. (Yah, terkadang saya mengerjakan dua.)
Jadi, saya memilih contoh yang saya inginkan, mulai, saya tunggu sebentar atau ambil secangkir kopi. Ini tidak jauh berbeda dengan menyalakan komputer Anda. Biasanya dibutuhkan beberapa detik untuk mengaktifkan dan menjalankan instance. Setelah saya melihat ikon hijau, saya membuka browser, dan saya pergi ke URL terkenal: https://msciab.duckdns.org/vnc.html . Catatan, ini adalah URL saya; saat Anda membuat kit, Anda akan membuat URL unik Anda.
Karena AWS menetapkan IP baru ke setiap mesin saat Anda memulai, saya mengonfigurasi layanan DNS dinamis, sehingga Anda selalu dapat menggunakan URL yang sama untuk mengakses server Anda, bahkan jika Anda menghentikan dan memulai ulang. Anda bahkan dapat menandainya di browser Anda. Selain itu, saya menggunakan HTTPS, dengan kunci yang valid untuk mendapatkan perlindungan total atas pekerjaan saya dari sniffer, jika saya perlu mengelola kata sandi dan data sensitif lainnya.
Setelah dimuat, sistem akan menyambut Anda dengan klien web Web VNC, NoVNC. Cukup masuk dan desktop muncul. Saya menggunakan desktop minimal, sengaja, hanya menu dengan aplikasi, dan satu-satunya kemewahan saya adalah desktop virtual (karena saya membuka banyak jendela ketika saya mengembangkan). Untuk mail, saya masih mengandalkan aplikasi lain, sekarang kebanyakan tab browser lain.
Di mesin virtual, saya memiliki apa yang saya butuhkan untuk mengembangkan aplikasi data besar. Pertama dan terpenting, ada IDE. Dalam build, saya menggunakan edisi komunitas IntelliJ Idea. Juga, ada alat pembuatan SBT dan REPL Scala, Ammonite.
Fitur utama dari lingkungan ini, bagaimanapun, adalah layanan yang digunakan sebagai wadah di mesin virtual yang sama. Secara khusus, saya memiliki:
- Zeppelin, notebook web untuk menggunakan kode Scala dengan cepat dan melakukan analisis data (
http://zeppelin:8080) - Server Pekerjaan Spark, untuk menjalankan dan menyebarkan pekerjaan percikan dengan antarmuka Istirahat (
http://sparkjobserver:8080). - Contoh Hadoop untuk menyimpan dan mengambil data dari HDFS (
http://hadoop:50070).
Catatan, URL ini diperbaiki tetapi dapat diakses dalam lingkungan virtual. Anda dapat melihat antarmuka web mereka di tangkapan layar berikut.
Setiap layanan berjalan dalam wadah Docker terpisah. Tanpa menjadi terlalu teknis, Anda dapat menganggap ini sebagai tiga server terpisah di dalam mesin virtual Anda. Keindahan menggunakan Docker adalah Anda dapat menambahkan layanan, dan bahkan menambahkan dua atau tiga mesin virtual. Menggunakan wadah Amazon, Anda dapat menskalakan lingkungan Anda dengan mudah.
Terakhir, namun tidak kalah pentingnya, Anda memiliki terminal web yang tersedia. Cukup akses URL Anda dengan HTTPS dan Anda akan disambut dengan terminal di halaman web.
Pada tangkapan layar di atas Anda dapat melihat saya mencantumkan wadah, yang merupakan tiga server plus desktop. Shell baris perintah ini memberi Anda akses ke mesin virtual yang memegang kontainer, memungkinkan Anda untuk mengelolanya. Seolah-olah server Anda "di dalam Matrix" (divirtualisasikan di dalam wadah), tetapi shell ini memberi Anda jalan keluar di luar "Matrix" untuk mengelola server, dan desktop. Dari sini, Anda dapat memulai ulang container, mengakses sistem filenya, dan melakukan manipulasi lain yang diizinkan oleh Docker. Saya tidak akan membahas Docker secara rinci di sini, tetapi ada banyak sekali dokumentasi di situs web Docker.
Cara menyiapkan instans Anda
Apakah Anda menyukai ini sejauh ini, dan Anda menginginkan instance Anda? Hal ini mudah dan murah. Anda bisa mendapatkannya hanya dengan biaya mesin virtual di Amazon Web Services, ditambah penyimpanannya. Kit dalam konfigurasi saat ini membutuhkan RAM 4GB untuk menjalankan semua layanan. Jika Anda berhati-hati menggunakan mesin virtual hanya saat Anda membutuhkannya, dan Anda bekerja, katakanlah, 160 jam sebulan, mesin virtual dengan tarif saat ini akan dikenakan biaya 160 x $0,052, atau $8 per bulan. Anda harus menambahkan biaya penyimpanan. Saya menggunakan sekitar 30GB, tetapi semuanya dapat disimpan di bawah $10.
Namun, ini tidak termasuk biaya akun Dropbox (Pro) (akhirnya), jika Anda ingin mencadangkan lebih dari 2GB kode. Biayanya $15 lagi per bulan, tetapi ini memberikan keamanan penting untuk data Anda. Selain itu, Anda akan memerlukan repositori pribadi, baik GitHub berbayar atau layanan lain, seperti Bitbucket, yang menawarkan repositori pribadi gratis.
Saya ingin menekankan bahwa jika Anda menggunakannya hanya ketika Anda membutuhkannya, itu lebih murah daripada dedicated server. Ya, semua yang disebutkan di sini dapat diatur di server fisik, tetapi karena saya bekerja dengan data besar, saya memerlukan banyak layanan AWS lainnya, jadi saya pikir logis untuk memiliki semuanya di tempat yang sama.
Mari kita lihat bagaimana melakukan seluruh pengaturan.
Prasyarat
Sebelum mulai membangun mesin virtual, Anda harus mendaftar dengan empat layanan berikut:
- Layanan Web Amazon.
- BebekDNS.
- Dropbox.
- Mari Enkripsi.
Satu-satunya yang Anda butuhkan adalah kartu kredit Anda adalah Amazon Web Services. DuckDns sepenuhnya gratis, sementara DropBox memberi Anda penyimpanan gratis 2GB, yang cukup untuk banyak tugas. Let's Encrypt juga gratis, dan digunakan secara internal saat Anda membuat gambar untuk menandatangani sertifikat Anda. Selain itu, saya merekomendasikan layanan hosting repositori juga, seperti GitHub atau Bitbucket, jika Anda ingin menyimpan kode Anda, namun, itu tidak diperlukan untuk penyiapan.

Untuk memulai, navigasikan ke repositori GitHub BigDataDevKit.
Gulir halaman dan salin skrip yang ditunjukkan pada gambar di editor teks pilihan Anda:
Script ini diperlukan untuk bootstrap gambar. Anda harus mengubahnya dan memberikan beberapa nilai pada parameter. Hati-hati, ubah teks di dalam tanda kutip. Perhatikan bahwa Anda tidak dapat menggunakan karakter seperti kutipan itu sendiri, garis miring terbalik, atau tanda dolar di kata sandi, kecuali jika Anda mengutipnya. Masalah ini hanya relevan untuk kata sandi. Jika Anda ingin bermain aman, hindari kutipan, tanda dolar, atau garis miring terbalik.
Parameter PASSWORD adalah kata sandi yang Anda pilih untuk mengakses mesin virtual melalui antarmuka web. Parameter EMAIL adalah email Anda, dan akan digunakan saat Anda mendaftarkan sertifikat SSL. Anda akan diminta untuk memberikan email Anda, dan itu adalah satu-satunya persyaratan untuk mendapatkan Sertifikat SSL gratis dari Let's Encrypt.
Untuk mendapatkan nilai TOKEN dan HOST , buka situs DuckDNS dan masuk. Anda harus memilih nama host yang tidak digunakan.
Lihat gambar untuk melihat di mana Anda harus menyalin token dan di mana Anda harus menambahkan nama host Anda. Anda harus mengklik tombol “tambah domain” untuk memesan nama host.
Mengonfigurasi instans Anda
Dengan asumsi Anda memiliki semua parameter dan telah mengedit skrip, Anda siap untuk meluncurkan instance Anda. Masuk ke antarmuka manajemen Amazon Web Services, buka panel Instans EC2 dan klik "Luncurkan Instans".
Di layar pertama, Anda akan memilih gambar. Skrip dibangun di sekitar Amazon Linux, dan tidak ada opsi lain yang tersedia. Pilih Amazon Linux, opsi pertama dalam daftar QuickStart.
Pada layar kedua, pilih jenis instans. Mengingat ukuran perangkat lunak yang berjalan, ada beberapa layanan dan Anda memerlukan setidaknya 4GB memori, jadi saya sarankan Anda memilih instans t2.medium . Anda dapat memangkasnya, menggunakan t2.small jika Anda mematikan beberapa layanan, atau bahkan mikro jika Anda hanya menginginkan desktop.
Pada layar ketiga, klik "Detail Lanjutan" dan rekatkan skrip yang Anda konfigurasikan pada langkah sebelumnya. Saya juga menyarankan Anda mengaktifkan perlindungan terhadap penghentian, sehingga dengan penghentian yang tidak disengaja Anda tidak akan kehilangan semua pekerjaan Anda.
Langkah selanjutnya adalah mengkonfigurasi penyimpanan. Default untuk sebuah instance adalah 8GB, yang tidak cukup untuk menampung semua gambar yang akan kita buat. Saya sarankan meningkatkannya menjadi 20GB. Juga, meskipun tidak diperlukan, saya menyarankan perangkat blok lain setidaknya 10GB. Skrip akan memasang perangkat blok kedua sebagai folder data. Anda dapat membuat cuplikan kontennya, menghentikan instance, lalu membuatnya kembali menggunakan snapshot dan memulihkan semua pekerjaan. Selain itu, perangkat pemblokiran khusus tidak hilang saat Anda menghentikan instans, jadi miliki perlindungan ganda terhadap kehilangan data Anda yang tidak disengaja. Untuk meningkatkan keamanan Anda lebih jauh, Anda dapat mencadangkan data Anda secara otomatis dengan Dropbox.
Langkah kelima adalah memberi nama instance. Ambil punyamu. Langkah keenam menawarkan cara untuk mengkonfigurasi firewall. Secara default hanya SSH yang tersedia tetapi kita juga membutuhkan HTTPS, jadi jangan lupa untuk menambahkan juga aturan pembukaan HTTPS. Anda dapat membuka HTTPS ke dunia, tetapi lebih baik jika itu hanya untuk IP Anda untuk mencegah orang lain mengakses desktop dan shell Anda, meskipun itu masih dilindungi dengan kata sandi.
Setelah selesai dengan konfigurasi terakhir ini, Anda dapat meluncurkan instance. Anda akan melihat bahwa inisialisasi dapat memakan waktu beberapa menit pertama kali sejak skrip inisialisasi berjalan dan juga akan melakukan beberapa tugas yang panjang seperti membuat sertifikat HTTPS dengan Let's Encrypt.
Ketika Anda akhirnya melihat konsol manajemen "berjalan" dengan konfirmasi, dan tidak lagi "menginisialisasi", Anda siap untuk pergi.
Dengan asumsi semua parameter sudah benar, Anda dapat menavigasi ke https://YOURHOST.duckdns.org .
Ganti YOURHOST dengan hostname yang Anda pilih, tapi jangan lupa itu adalah situs HTTPS, bukan HTTP, jadi koneksi Anda ke server dienkripsi sehingga Anda harus menulis https// di URL. Situs ini juga akan menunjukkan sertifikat yang valid untuk Let's Encrypt. Jika ada masalah dalam mendapatkan sertifikat, skrip inisialisasi akan menghasilkan sertifikat yang ditandatangani sendiri. Anda masih dapat terhubung dengan koneksi terenkripsi, tetapi browser akan memperingatkan Anda bahwa itu adalah situs yang tidak dikenal, dan koneksi tidak aman. Itu seharusnya tidak terjadi, tetapi Anda tidak pernah tahu.
Dengan asumsi semuanya berfungsi, Anda kemudian mengakses terminal web, Butterfly. Anda dapat masuk menggunakan app pengguna dan kata sandi yang Anda masukkan ke dalam skrip pengaturan.
Setelah masuk, Anda memiliki mesin virtual bootstrap, yang juga menyertakan Docker dan barang lainnya, seperti Nginx Frontend, Git, dan Butterfly Web Terminal. Sekarang, Anda dapat menyelesaikan penyiapan dengan membuat image Docker untuk lingkungan pengembangan Anda.
Selanjutnya, ketik perintah berikut:
git clone https://github.com/sciabarra/BigDataDevKit cd BigDataDevKit sh build.shPerintah terakhir juga akan meminta Anda untuk mengetikkan kata sandi untuk akses Desktop. Setelah selesai, itu akan mulai membangun gambar. Perhatikan bahwa pembangunan akan memakan waktu sekitar 10 menit, tetapi Anda dapat melihat apa yang terjadi karena semuanya ditampilkan di layar.
Setelah build selesai, Anda juga dapat menginstal Dropbox dengan perintah berikut:
/app/.dropbox-dist/dropboxdSistem akan menampilkan tautan yang harus Anda klik untuk mengaktifkan Dropbox. Anda harus masuk ke Dropbox dan selesai. Apa pun yang Anda masukkan ke folder Dropbox secara otomatis disinkronkan di antara semua instans Dropbox Anda.
Setelah selesai, Anda dapat memulai ulang mesin virtual, dan mengakses lingkungan Anda di URL https://YOURHOST.dyndns.org/vnc.html .
Anda dapat menghentikan mesin Anda dan menyalakannya kembali ketika Anda melanjutkan pekerjaan. URL akses tetap sama. Dengan cara ini, Anda hanya akan membayar untuk waktu yang Anda gunakan, ditambah tambahan bulanan untuk penyimpanan yang digunakan.
Menjaga data Anda
Diskusi berikut membutuhkan beberapa pengetahuan tentang cara kerja Docker dan Amazon. Jika Anda tidak ingin memahami detailnya, ingatlah aturan sederhana berikut: Di mesin virtual, ada folder /app/Dropbox yang tersedia, apa pun yang Anda tempatkan di /app/Dropbox dipertahankan, dan yang lainnya dapat dibuang dan bisa pergi. Untuk meningkatkan keamanan lebih lanjut, simpan juga kode berharga Anda dalam sistem kontrol versi.
Sekarang, jika Anda ingin memahami ini, baca terus. Jika Anda mengikuti petunjuk saya dalam pembuatan mesin virtual, mesin virtual dilindungi dari penghentian, sehingga Anda tidak dapat menghancurkannya secara tidak sengaja. Jika Anda secara tegas memutuskan untuk menghentikannya, volume utama akan dimusnahkan. Semua gambar Docker akan hilang, termasuk semua perubahan yang Anda buat.
Namun, karena folder /app/Dropbox dipasang sebagai Volume Docker untuk wadah, itu bukan bagian dari gambar Docker. Di mesin virtual, folder /app dipasang di Volume Amazon yang Anda buat, yang juga tidak dihancurkan bahkan ketika Anda secara tegas menghentikan mesin virtual. Untuk menghapus volume, Anda harus menghapusnya secara tegas.
Jangan bingung volume Docker, yang merupakan entitas logis Docker, dengan Volume Amazon, yang merupakan entitas fisik. Apa yang terjadi adalah volume /app/Dropbox Docker ditempatkan di dalam volume /app Amazon.
Volume Amazon tidak secara otomatis dimusnahkan saat Anda menghentikan mesin virtual, jadi apa pun yang ditempatkan di dalamnya akan dipertahankan, hingga Anda juga secara tegas menghancurkan volume tersebut. Selanjutnya, apa pun yang Anda masukkan ke dalam volume Docker disimpan di luar wadah, sehingga tidak hancur saat wadah dihancurkan. Jika Anda mengaktifkan Dropbox, seperti yang disarankan, semua konten Anda disalin ke server Dropbox, dan ke hard disk Anda jika Anda menyinkronkan Dropbox dengan komputer Anda. Juga, disarankan agar kode sumber disimpan dalam sistem kontrol versi.
Jadi, jika Anda menempatkan barang-barang Anda di sistem kontrol versi di bawah folder Dropbox, untuk kehilangan data Anda, semua ini harus terjadi:
- Anda secara tegas menghentikan mesin virtual Anda.
- Anda secara tegas menghapus volume data dari mesin virtual.
- Anda secara tegas menghapus data dari Dropbox, termasuk riwayatnya.
- Anda secara tegas menghapus data dari sistem kontrol versi.
Saya harap data Anda cukup aman.
Saya menyimpan mesin virtual untuk setiap proyek, dan ketika saya selesai, saya mematikan mesin virtual yang tidak digunakan. Tentu saja, saya memiliki semua kode saya di GitHub dan dicadangkan di Dropbox. Selanjutnya, ketika saya berhenti mengerjakan sebuah proyek, saya mengambil snapshot dari blok Amazon Web Services sebelum menghapus mesin virtual sepenuhnya. Dengan cara ini, setiap kali proyek dilanjutkan, misalnya untuk pemeliharaan, yang perlu saya lakukan hanyalah memulai mesin virtual baru menggunakan snapshot. Semua data saya kembali ke tempatnya, dan saya dapat kembali bekerja.
Mengoptimalkan akses
Pertama, jika Anda memiliki akses internet langsung, tidak dimediasi oleh proxy, Anda dapat menggunakan klien SSH dan VNC asli. Akses SSH langsung penting jika Anda perlu menyalin file masuk dan keluar dari mesin virtual. Namun, untuk berbagi file, Anda harus mempertimbangkan Dropbox sebagai alternatif yang lebih sederhana.
Akses web VNC sangat berharga, tetapi terkadang, bisa lebih lambat daripada klien asli. Anda memiliki akses ke server VNC di mesin virtual menggunakan port 5900. Anda harus membukanya secara tegas karena ditutup secara default. Saya sarankan Anda hanya membukanya ke alamat IP Anda, karena internet penuh dengan "robot" yang memindai internet mencari layanan untuk dihubungkan, dan VNC sering menjadi target robot tersebut.
Kesimpulan
Artikel ini menjelaskan bagaimana Anda dapat memanfaatkan teknologi cloud modern untuk menerapkan lingkungan pengembangan yang efektif. Meskipun mesin di cloud tidak dapat menjadi pengganti lengkap untuk komputer atau laptop Anda yang berfungsi, mesin ini cukup baik untuk melakukan pekerjaan pengembangan ketika penting untuk memiliki akses ke IDE. Dalam pengalaman saya, dengan koneksi internet saat ini, cukup cepat untuk digunakan.
Berada di cloud, akses dan manipulasi server lebih cepat daripada memilikinya secara lokal. Anda dapat dengan cepat menambah (atau mengurangi) memori, mengaktifkan lingkungan lain, membuat gambar, dan sebagainya. Anda memiliki pusat data di ujung jari Anda, dan ketika Anda bekerja dengan proyek data besar, Anda membutuhkan layanan yang kuat dan banyak ruang. Itulah yang disediakan cloud.
