GCP

Google Cloud

Menjadwalkan Perintah di Google Cloud dengan Cloud Run dan Cloud Scheduler

Kehadiran Google Cloud CLI memudahkan para engineer untuk memulai pengembangan awal mereka di GCP (Google Cloud Platform) dan melakukan banyak tugas cloud umum. Sebagian besar pengalaman pengembangan awal melalui antarmuka baris perintah menggunakan alat seperti gsutil, gcloud, namun untuk bisa mendapatkan kode produksi perlu penulisan kode seremonial atau membangun integrasi API-level. Developer sering menemukan skenario di mana mereka perlu menjalankan perintah sederhana di lingkungan produksi mereka secara terjadwal. Untuk menjalankannya dengan sukses, mereka diharuskan membuat kode dan membuat jadwal dalam alat orkestrasi seperti Data Fusion. Salah satu skenario tersebut adalah menyalin objek dari satu bucket ke bucket lain, yang umumnya dicapai dengan menggunakan gsutil. Gsutil adalah aplikasi Python untuk berinteraksi dengan Google Cloud Storage melalui baris perintah. Ini dapat digunakan untuk melakukan berbagai fungsi seperti tugas pengelolaan bucket dan objek, termasuk: membuat dan menghapus bucket, mengunggah, mengunduh, menghapus, menyalin, dan memindahkan objek. Artikel kali ini akan menjelaskan cara untuk menjadwalkan perintah seperti Gsutil menggunakan Cloud Run dan Cloud Scheduler. Metodologi ini menghemat waktu dan mengurangi jumlah upaya yang diperlukan untuk pra-kerja dan penyiapan dalam membangun integrasi API level. Arsitektur penjadwalan perintah dengan Cloud Run dan Cloud Scheduler Photo Credit: Google Cloud Ada pun tiga layanan GCP yang digunakan adalah: Cloud Run: Kode akan dikemas dalam container, gcloud SDK akan diterapkan (atau Anda juga dapat menggunakan base image dengan gcloud SDK yang sudah diinstal). Cloud Scheduler: Memanggil tugas yang dibuat di Cloud Run pada frekuensi berulang. Cloud Storage: Google Cloud Storage (GCS) digunakan untuk penyimpanan dan pengambilan data dalam jumlah berapa pun. Baca juga: 3 Contoh Penerapan Google Cloud Spot VMs Contoh ini mengharuskan engineer menyiapkan lingkungan mereka untuk Cloud Run dan Cloud Scheduler, membuat tugas Cloud Run, mengemasnya ke dalam image container, mengunggah image container ke Container Registry, lalu melakukan deploy ke Cloud Run. Ikuti langkah-langkahnya  di bawah ini:   Langkah 1: Aktifkan layanan (Cloud Scheduler, Cloud Run) dan buat akun layanan export REGION=<<Region>> export PROJECT_ID=<<project-id>> export PROJECT_NUMBER=<<project-number>> export SERVICE_ACCOUNT=cloud-run-sa   gcloud services enable cloudscheduler.googleapis.com run.googleapis.com cloudbuild.googleapis.com cloudscheduler.googleapis.com –project ${PROJECT_ID}   gcloud iam service-accounts create ${SERVICE_ACCOUNT} \ –description=”Cloud run to copy cloud storage objects between buckets” \ –display-name=”${SERVICE_ACCOUNT}” –project ${PROJECT_ID}   gcloud projects add-iam-policy-binding ${PROJECT_ID} \ –member serviceAccount:${SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com \ –role “roles/run.invoker” Untuk menerapkan layanan Cloud Run menggunakan akun layanan yang dikelola pengguna, Anda harus memiliki izin untuk meniru identitas (iam.serviceAccounts.actAs) akun layanan tersebut. Izin ini dapat diberikan melalui peran IAM peran/iam.serviceAccountUser.   gcloud iam service-accounts add-iam-policy-binding ${SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com   \ –member “user:<<your_email>>” \ –role “roles/iam.serviceAccountUser” –project ${PROJECT_ID} Langkah 2: Buat docker image dan dorong ke GCR. Arahkan ke folder gcs-to-gcs dan tekan image   cd gcs-to-gcs gcloud builds submit -t “gcr.io/${PROJECT_ID}/gsutil-gcs-to-gcs” –project ${PROJECT_ID} Langkah 3: Buat tugas dengan GCS_SOURCE dan GCS_DESTINATION untuk bucket gcs-to-gcs. Pastikan untuk memberikan izin (roles/storage.legacyObjectReader) ke GCS_SOURCE dan role/storage.legacyBucketWriter ke GCS_DESTINATION   export GCS_SOURCE=<<Source Bucket>> export GCS_DESTINATION=<<Source Bucket>>   gsutil iam ch \ serviceAccount:${SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com:objectViewer \   ${GCS_SOURCE}   gsutil iam ch \ serviceAccount:${SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com:legacyBucketWriter \   ${GCS_DESTINATION}   gcloud beta run jobs create gcs-to-gcs \ –image gcr.io/${PROJECT_ID}/gsutil-gcs-to-gcs \ –set-env-vars GCS_SOURCE=${GCS_SOURCE} \ –set-env-vars GCS_DESTINATION=${GCS_DESTINATION} \ –max-retries 5 \ –service-account ${SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com \ –region $REGION –project ${PROJECT_ID} Langkah 4: Terakhir, buat jadwal untuk menjalankan pekerjaan.   gcloud scheduler jobs create http gcs-to-gcs \ –location $REGION \ –schedule=”0 1 * * 0″ \  –uri=”https://${REGION}-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/${PROJECT_ID}/jobs/gcs-to-gcs:run” \ –http-method POST \ –oauth-service-account-email ${SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com –project ${PROJECT_ID} Langkah 5: Buat pemantauan dan peringatan untuk memeriksa apakah Cloud Run gagal. Cloud Run terintegrasi secara otomatis dengan Cloud Monitoring tanpa memerlukan penyiapan atau konfigurasi. Ini berarti metrik layanan Cloud Run Anda ditangkap secara otomatis saat dijalankan. Anda dapat melihat metrik di Cloud Monitoring atau di halaman Cloud Run dalam konsol. Cloud Monitoring menyediakan lebih banyak opsi pembuatan bagan dan pemfilteran. Baca juga: Tips Gunakan Google Cloud Search Query API untuk Menyempurnakan Hasil Cloud Search Langkah-langkah di atas menyajikan metode yang disederhanakan untuk menjalankan perintah CLI yang paling umum diterapkan pada jadwal, dalam pengaturan produksi. Kode dan contoh yang diberikan di atas mudah digunakan dan membantu menghindari kebutuhan integrasi level API untuk menjadwalkan perintah seperti gsutil, gcloud, dan lain sebagainya. GCP merupakan rangkaian layanan komputasi awan yang berjalan pada infrastruktur internal milik Google untuk berbagai produk end-user, seperti mesin pencari Google, Gmail, hingga YouTube. Rangkaian ini juga menyediakan layanan cloud modular termasuk komputasi, penyimpanan data, analitik data, dan machine learning. Untuk menikmati layanan GCP, Anda bisa berlangganan solusi komputasi awan Google Cloud melalui EIKON Technology. Untuk informasi lebih lanjut, Anda bisa klik di sini.

Google Cloud

Memigrasikan Instances ke MIG Stateful GCP Menggunakan Skrip Python

Managed instance group (MIG) GCP Compute Engine mendukung konfigurasi VM apa pun yang Anda perlukan, sekaligus membantu mengelola VM. Misalnya, ketika VM tiba-tiba berhenti berjalan, maka MIG GCP akan membuat ulang VM sesuai konfigurasi yang Anda tetapkan. Anda juga dapat menyiapkan health check berbasis aplikasi untuk memastikan aplikasi memberi respons seperti yang diharapkan. Jika Anda baru mulai bekerja dengan GCP dan ingin melakukan deploy aplikasi stateful, maka sangat disarankan untuk menggunakan konfigurasi MIG stateful. MIG stateful memungkinkan Anda untuk mempertahankan status unik setiap instances pada VM restart, recreation, auto-healing, maupun update. Artikel kali ini ditujukan kepada mereka yang sudah memiliki aplikasi stateful yang berjalan pada instance Compute Engine mandiri (tidak terkelola) dan ingin memigrasikannya secara otomatis ke MIG stateful menggunakan skrip Python. Kode skrip dan petunjuk terperinci untuk penggunaan dan pemasangannya bisa Anda simak di sini. Persyaratan skrip Photo Credit: Rawpixel Sebelum menjalankan skrip, pastikan instance Anda yang ada memenuhi kriteria berikut: Semua instances sumber harus memiliki konfigurasi yang sama. Boot disk harus stateless. Jika ingin mempertahankan status, Anda masih dapat membuat MIG stateful, namun sistem operasi atau software tidak dapat diperbarui dengan meluncurkan pembaruan boot image. Skrip akan menghentikan instance VM sumber Anda. Skrip membiarkan semua VM sumber berhenti agar mudah dikembalikan jika MIG tidak berfungsi seperti yang diharapkan. Baca juga: API Management yang Lebih Efisien dengan Apigee dari GCP Langkah-langkah skrip Photo Credit: Rawpixel Hentikan semua instance Jika perlu, buat boot disk image Buat template instance berdasarkan properti instance yang dipilih, abaikan disk data yang dilampirkan dan buat MIG kosong. Untuk setiap instance dalam grup asli, lakukan langkah-langkah berikut: Kloning semua instance disks kecuali boot disk. Buat instances di MIG berdasarkan instance template dan sertakan disk kloning dari instances sumber. Cetak perintah untuk membersihkan instances sumber setelah Anda memverifikasi bahwa MIG stateful telah memenuhi kebutuhan. Baca juga: Mulai Mendesain Website yang Skalabel dengan GCP Contoh penggunaan Sekarang coba bayangkan beberapa konfigurasi instance dan tunjukkan bagaimana skrip berjalan. Katakanlah Anda memiliki tiga instance mandiri dengan nama “alpha“, “beta“, dan “gamma” di zona us-central1-a yang ingin dimigrasikan ke MIG dengan nama “greek“. Instance “alpha” memiliki dua disk tambahan: “alpha-disk-1” dan “alpha-disk-2“, instance “beta” memiliki satu disk tambahan “beta-disk-1“, dan “gamma” memiliki nol disk tambahan. Pada saat yang sama kami ingin membuat image disk untuk image boot. Jalankan perintah berikut: $ python3 migrate_script.py -s alpha beta gamma -z us-central1-a -m greek –image_for_boot_disk Berikut output untuk tiap langkah: Semua instance dihentikan di awal.   Instance alpha is not stopped. Stopping … Instance alpha stopped  ========== Instance beta is not stopped. Stopping … Instance beta stopped ========== Instance gamma is not stopped. Stopping … Instance gamma stopped ========== Setelan flag “image_for_boot_disk”, secara otomatis membuat sebuah image untuk boot disk.   Creating disk image for boot image alpha … Disk image alpha-image-ed0d24 created ========== Secara default, “alpha” dipilih untuk menentukan konfigurasi mesin di instance template.   Creating base instance template … Instance template alpha-template-004cb8 created ========== Sebuah MIG “gamma” kosong dibuat.   Creating empty MIG gamma… MIG gamma created ========== Untuk setiap instance individu, buatlah salinan pada semua disknya (agar tidak merusak data instance sumber) dan melampirkannya ke VM di MIG.   Creating disk alpha-disk-1-bb2a30 from disk alpha-disk-1 ========== Creating disk alpha-disk-2-f7344b from disk alpha-disk-2 ========== Adding instance alpha-b7273d to greek MIG ========== Creating disk beta-disk-1–7498a2 from disk beta-disk-1 ========== Adding instance beta-6475c6 to greek MIG ========== Adding instance gamma-17d7c7 to greek MIG ========== Migration successfully finished. Time spent: 457 seconds. Baca juga: Menghemat Biaya Workload Proyek GCP dengan Dukungan VM Spot Prosedur migrasi instances di atas dapat dijalankan cukup dengan menggunakan managed instance group (MIG) dari GCP Compute Engine. Anda tak perlu berpindah ke aplikasi lain dan tersedia opsi untuk menggunakan bahasa pemrograman Python. GCP atau Google Cloud Platform menyediakan berbagai aplikasi, layanan, dan juga kapabilitas yang akan memudahkan Anda dalam mengelola VM (virtual machine). Dapatkan solusi komputasi awan dari Google ini hanya di EIKON Technology, authorized reseller untuk produk-produk Google di Indonesia. Untuk informasi selengkapnya, silakan klik di sini!

Info

Lynn Langit, Arsitek Cloud dan Peneliti Bioinformatika dengan Pipeline Data Skala Genom Google Cloud Platform

Profesi yang berkaitan dengan pengolahan data kini semakin diminati. Ilmuwan data dan data analis makin banyak jumlahnya. Namun pernahkah Anda menjumpai seseorang yang ahli dalam beberapa bidang terkait data sekaligus? Mari bertemu Lynn Langit, seorang pengusaha wanita asal Minnesota, Amerika Serikat. Langit merupakan pemilik sebuah perusahaan konsultan, Lynn Langit Consulting LLC. Diwaktu yang bersamaan, Langit juga merupakan seorang arsitek cloud, developer program, serta pendidik di bidang analitik data. Saat ini, Langit sedang mengerjakan pipeline bioinformatika (genomik). Bagaimana perjalanan Lynn Langit dengan Google Cloud Platform? Berawal dari rasa penasaran Photo Credit: Piqsels Mulanya, Lynn Langit bukanlah praktisi di bidang data. Perempuan asal Minnesota, Amerika Serikat ini memang mengawali kariernya di perusahaan teknologi. Hanya saja, saat itu ia justru lebih fokus pada sisi bisnis. Saat mulai meniti karier, Langit justru merasa tertarik dengan data. Kala itu, ia merasa bahwa data memiliki kekuatan besar yang bisa memengaruhi proses pengambilan keputusan. Hingga akhirnya di tahun 2007, ia memutuskan untuk “menyeberang” dan menjadi praktisi analitik data. Langit belajar secara otodidak. Ia mengikuti kursus hingga mencari materi dari berbagai modul online. Materi yang dipelajarinya pertama kali berhubungan dengan data base dan pergudangan data, khususnya bagian membangun dan menyetel database perusahaan. Barulah setelah Hadoop/NoSQL tersedia, ia beralih ke Big Data. Baca juga: Tips Membangun Data Team yang Solid untuk Startup EdTech dengan Google Cloud Tak ragu beralih teknologi Langit memulai proses belajarnya dengan memanfaatkan teknologi Microsoft. Ia bahkan mendapatkan seluruh sertifikasi Microsoft hanya dalam waktu satu tahun. Saat Langit menyadari bahwa industri mulai bergeser dari sistem local ke cloud, ia pun beralih dari pemrograman ke komputasi awan. Ia memulai dengan Amazon Web Services (AWS), namun kemudian beralih dan bertahan dengan Google Cloud Platform (GCP) hingga sekarang. Untuk saat ini, Langit berkutat dengan bidang data pipeline, data ops, serta machine learning (ML). Belajar otodidak bukan hal mustahil Satu hal yang menarik dari Langit adalah keteguhannya untuk mempelajari data. Ia mempelajari data secara mandiri dan disiplin. Meski begitu, Langit tak pernah kehabisan bahan untuk dipelajari. Dalam ekosistem Google Cloud sendiri, mulanya ia mempelajari BigQuery, sebuah produk data analitik. Baginya, BigQuery merupakan sebuah gerbang yang menghubungkannya dengan platform data yang lebih besar, terbuka, cerdas, dan terpadu. Sebab, BigQuery menggabungkan ilmu mengenai analitik data, database, AI/ML, serta business intelligence. Proyek penelitian bioinformatika Photo Credit: Piqsels Bagi Langit, tidak pernah ada kata berhenti untuk mempelajari data. Ia bahkan selalu terbuka untuk mempelajari bidang baru. Saat ini, ia sedang mengerjakan sebuah proyek yang berhubungan dengan kesehatan manusia dan upaya menanggulangi pandemi. Dalam proyek tersebut, Langit membantu para ilmuwan dan peneliti bioinformatika dengan pipeline data berskala genomik. Lagi-lagi, ia juga mempelajari bidang tersebut secara otodidak. Seluruh proses belajar mandiri tersebut bahkan dibagikan melalui halaman GitHub miliknya. Langit juga berbagi materi lain dalam kursus Google Cloud Platform berformat open source lewat GitHub. Kursus tersebut ditujukan pada para peneliti yang baru mulai bekerja dengan GCP. Menariknya, kursus yang diadakan Langit benar-benar didesain untuk pemula. Anda bahkan bisa menemukan materi tentang cara membuat akun GCP. Anda juga bisa seperti Lynn Langit Kisah Lynn Langit membuktikan bahwa ilmu mengenai data bisa dipelajari secara mandiri. Sebab, kini sudah ada banyak sekali resources yang bisa Anda gunakan untuk mempelajari data, bahkan dari materi paling dasar sekali pun. Siap untuk memulai petualangan Anda bersama Google Cloud Platform? Anda bisa mulai mempelajarinya dengan rekomendasi dari Google berikut. Lewat sistem tersebut, Anda dapat memperoleh lencana khusus serta sertifikasi sepanjang proses pembelajaran. Jangan lupa juga untuk bergabung dengan program Cloud Innovator untuk mendapatkan informasi terbaru mengenai tips, trik, dan event praktisi data lainnya. Anda juga bisa terhubung dengan komunitas data Google lewat acara virtual “Latest Google Cloud data analytics innovations”. Daftar sekarang untuk menjawab seluruh rasa penasaran Anda terhadap data langsung dengan para petinggi Google Cloud Platform. Jangan lewatkan juga demo produk dan fitur terbaru Google Cloud termasuk BigQuery, Dataproc, Dataplex, Dataflow, dan banyak lagi. Baca juga: Memanfaatkan Google Cloud untuk Menyusun Proyek Data Science Selain memperkaya materi seputar analitik data seperti yang dilakukan Lynn Langit, ada baiknya Anda juga mulai membiasakan diri dengan Google Cloud Platform. Dapatkan solusi komputasi awan Google Cloud berlisensi resmi hanya di EIKON Technology, authorized partner Google di Indonesia. Untuk informasi lebih lanjut, klik di sini!

Scroll to Top