PaaS: Basic Concepts and Terminology
Dokumen ini merupakan gambaran umum dari konsep dasar platform, solusi serbaguna untuk hosting di dalam Public, Private, Hybrid, atau Multi-Cloud. Referensi di bawah ini ditujukan bagi mereka yang baru mengenal PaaS dan membantu untuk memahami lanskap keseluruhan dari platform ini.
Di sini, kami menawarkan garis besar konsisten dari komponen platform dasar dengan petunjuk ke dokumentasi yang sesuai, yaitu:
Dengan mengetahui tentang komponen dasar dan bagaimana mereka saling berhubungan, Anda dapat melanjutkan dengan skenario yang lebih kompleks yang tersedia di dalam platform.
Cloudlet
Cloudlet adalah komponen infrastruktur platform terkecil. Ini adalah unit sumber daya khusus yang setara dengan 128 MiB RAM dan 400 MHz CPU secara bersamaan. Granularitas sumber daya yang tinggi ini memungkinkan sistem untuk mengalokasikan kapasitas yang tepat yang dibutuhkan oleh setiap instance di lingkungan. Ini memastikan harga berbasis penggunaan yang benar-benar adil, sehingga hanya sumber daya yang benar-benar dikonsumsi yang dibayar.
Ada dua jenis cloudlet di platform ini:
- Reserved Cloudlets adalah jumlah sumber daya tetap yang dipesan di muka dan dibebankan terlepas dari penggunaan aktual. Cloudlet yang direservasi lebih murah daripada yang dinamis dan direkomendasikan untuk digunakan ketika beban aplikasi permanen.
- Dynamic Cloudlets ditambahkan dan dihapus secara otomatis sesuai dengan jumlah sumber daya yang diperlukan oleh aplikasi Anda (ditetapkan ketika beban meningkat dan dihapus segera setelah menurun). Cloudlet dinamis direkomendasikan untuk digunakan untuk aplikasi dengan beban variabel atau ketika tidak dapat diprediksi di muka, memastikan model pembebanan yang benar-benar berbasis penggunaan. Dengan cara ini, Anda membayar berdasarkan penggunaan sumber daya aktual dalam batas skala.
Saat menghitung penggunaan cloudlet, sistem hanya mempertimbangkan penggunaan RAM atau CPU yang lebih besar per jam (bukan keduanya digabungkan). Misalnya, jika selama satu jam penggunaan CPU rata-rata Anda adalah 2400 MHz (6 cloudlet), dan penggunaan RAM puncak Anda adalah 1024 MiB (8 cloudlet), Anda membayar untuk 8 cloudlet - bukan total gabungan (14 cloudlet).
Fungsi cloudlet yang direservasi dan dinamis keduanya menyediakan diskon otomatis untuk volume penggunaan - semakin banyak yang digunakan, semakin murah harga dasar.
Container
Container (node) adalah instance virtual yang terisolasi, disediakan untuk penanganan stack perangkat lunak (seperti server aplikasi, database, load balancer, dll.) dan ditempatkan pada host tertentu. Setiap container dapat diskalakan secara otomatis, baik secara vertikal maupun horizontal, sehingga hosting aplikasi menjadi sangat fleksibel.
Platform ini menyediakan container bersertifikat untuk Java, PHP, Ruby, Node.js, Python, Go, .NET dan kemampuan untuk menerapkan container Docker kustom. Setiap container memiliki IP pribadinya sendiri dan catatan DNS unik, sementara public IP dapat dengan mudah dilampirkan dalam UI dashboard atau melalui API.
Layer
Layer, juga disebut sebagai Node group, adalah sekumpulan container serupa dalam satu environment. Ada sekumpulan layer yang telah ditentukan sebelumnya di dalam platform topology wizard untuk container bersertifikat, seperti:
- load balancer (LB)
- compute (CP)
- database (DB)
- data storage (DS)
- cache
- VPS
- build node
- ekstra (layer kustom; beberapa bisa ditambahkan untuk lingkungan berbasis Docker)
Layer dirancang untuk melakukan berbagai tindakan dengan jenis container yang sama sekaligus. Misalnya, node dapat secara bersamaan dimulai ulang atau dideploy ulang, serta diskalakan secara horizontal:
- secara manual melalui dashboard, API platform, CLI
- secara otomatis berdasarkan load triggers
Selain itu, container dari satu layer didistribusikan di berbagai host menggunakan aturan anti-affinity, memastikan lebih banyak keandalan dan ketersediaan tinggi untuk aplikasi yang di-host.
Environment
Environment adalah kumpulan dari container terisolasi untuk menjalankan layanan aplikasi tertentu. Platform ini menyediakan alat bawaan untuk pengelolaan environment yang nyaman (mis. konfigurasi, pemantauan, pemecahan masalah, dll.).
Ada sejumlah tindakan yang dapat dilakukan untuk seluruh lingkungan, seperti berhenti, mulai, kloning, migrasi ke region lain, berbagi dengan anggota tim untuk kerja kolaboratif, melacak konsumsi sumber daya, dan lain-lain.
Setiap environment memiliki nama domain internal tingkat 3 secara default. Domain eksternal kustom dapat dengan mudah diikat melalui CNAME atau A record, dan bahkan lebih lanjut dipertukarkan dengan environment lain untuk pengalihan lalu lintas.
Application
Application adalah kombinasi dari environment untuk menjalankan satu proyek. Aplikasi sederhana dengan satu atau dua stacks dapat dijalankan di dalam satu environment.
Aplikasi dengan topologi yang lebih kompleks biasanya memerlukan lebih banyak fleksibilitas selama proses deploy atau update, sehingga lebih baik untuk mendistribusikan berbagai jenis server di beberapa environments, untuk dapat memelihara mereka secara mandiri.
Kode sumber aplikasi atau biner yang dibangun dapat di-deploy dari:
- GIT/SVN repository, yang memungkinkan mendapatkan manfaat dari pembaruan otomatis
- arsip lokal (zip, war, ear, dll.) melalui UI dashboard atau FTP
- template Docker kustom
Selain itu, sejumlah aplikasi yang sudah dipaketkan sebelumnya dapat ditemukan di dalam Marketplace platform, yang dapat diatur hanya dalam beberapa klik.
Host
Host adalah server fisik atau mesin virtual besar yang divirtualisasi melalui KVM, ESXi, Hyper-V, dll.
Host dipecah menjadi container terisolasi kecil yang digunakan untuk membangun environments. Partisi semacam itu memberikan multitenancy terdepan di industri, serta kepadatan tinggi dan pemanfaatan sumber daya cerdas dengan bantuan distribusi container sesuai dengan beban di seluruh host.
Environment Region
Environment region adalah sekumpulan host yang diorkestrasi dalam jaringan terisolasi tunggal.
Setiap region environment memiliki kapasitasnya sendiri di pusat data tertentu, kumpulan alamat IP privat dan publik yang telah ditentukan, serta harga sumber daya yang sesuai. Selain itu, lokasi yang dipilih secara awal dapat dengan mudah diubah dengan memigrasikan proyek di antara region yang tersedia.
Platform Installation
Platform adalah sekelompok environment regions (di mana masing-masing dapat secara fisik terletak di Pusat Data terpisah, mewakili Cloud yang terisolasi) dan kluster orkestrator untuk mengontrol dan bertindak seperti sistem tunggal. Ini menyediakan berbagai kemungkinan untuk mengembangkan, mendistribusikan, menguji, menjalankan, debug, dan memelihara aplikasi karena beberapa opsi saat memilih perangkat keras - kapasitas, harga, lokasi, dll. yang berbeda.
Sebagai hasilnya, Anda mendapatkan solusi multi-data center atau bahkan multi-cloud untuk menjalankan aplikasi Anda dalam satu panel. Selain itu, setiap Platform dikelola oleh penyedia layanan hosting terpisah dengan tim dukungan lokalnya.