Difference between revisions of "PKC Training Syllabus/Module 1"
(21 intermediate revisions by the same user not shown) | |||
Line 13: | Line 13: | ||
===''Containerization'' (Kontainerisasi)=== | ===''Containerization'' (Kontainerisasi)=== | ||
Kontainerisasi adalah suatu bentuk virtualisasi dimana masing-masing aplikasi berjalan dalam lingkup sumber-daya (yang disebut dengan kontainer), dimana pada saat yang bersamaan menggunakan SO yang sama. Salah satu keuntungan utama dalam kontainerisasi adalah memungkinkan untuk membuat paket yang sepenuhnya portabel dalam lingkungan komputasi. Kontainer itu sendiri di-abstraksikan dengan SO dimana kontainer tersebut berjalan, dengan akses yang terbatas dan terisolasi dari induk SO nya, mirip dengan Virtualisasi yang ringan. Menghasilkan satu paket perangkat lunak yang dapat berjalan dalam berbagai jenis infrastruktur, dalam Mesin Virtual, dan dalam Cloud Computing, tanpa kebutuhan untuk membuat variasi sesuai dengan jenis perangkat keras yang dimiliki. | Kontainerisasi adalah suatu bentuk virtualisasi dimana masing-masing aplikasi berjalan dalam lingkup sumber-daya (yang disebut dengan kontainer), dimana pada saat yang bersamaan menggunakan SO yang sama. Salah satu keuntungan utama dalam kontainerisasi adalah memungkinkan untuk membuat paket yang sepenuhnya portabel dalam lingkungan komputasi. Kontainer itu sendiri di-abstraksikan dengan SO dimana kontainer tersebut berjalan, dengan akses yang terbatas dan terisolasi dari induk SO nya, mirip dengan Virtualisasi yang ringan. Menghasilkan satu paket perangkat lunak yang dapat berjalan dalam berbagai jenis infrastruktur, dalam Mesin Virtual, dan dalam Cloud Computing, tanpa kebutuhan untuk membuat variasi sesuai dengan jenis perangkat keras yang dimiliki. | ||
[[File:Advancement.png| | [[File:Advancement.png|750px|thumb|Perkembangan Teknologi Virtualisasi|left]] | ||
Teknologi Kontainerisasi ini memungkinkan untuk membuat utilisasi perangkat menjadi semakin efisien dan semakin fleksibel. Teknologi ini pula yang membuat lonjakan yang cukup signifikan dalam perkembangan ''Cloud Computing'' (Komputasi Awan) dan memungkinkan kita untuk mendefinisikan perangkat infrastruktur yang diinginkan sepenuhnya dengan menggunakan kode pemrograman dan mengantarkan lahirnya teknologi Development-Operation, atau disingkat dengan DevOps. | Teknologi Kontainerisasi ini memungkinkan untuk membuat utilisasi perangkat menjadi semakin efisien dan semakin fleksibel. Teknologi ini pula yang membuat lonjakan yang cukup signifikan dalam perkembangan ''Cloud Computing'' (Komputasi Awan) dan memungkinkan kita untuk mendefinisikan perangkat infrastruktur yang diinginkan sepenuhnya dengan menggunakan kode pemrograman dan mengantarkan lahirnya teknologi Development-Operation, atau disingkat dengan DevOps. | ||
Teknologi Kontainerisasi ini secara umum digunakan untuk menjalankan berbagai jenis layanan dengan yang sangat efisien dan membutuhkan sumber-daya komputasi yang relatif jauh lebih sedikit jika dibandingkan dengan implementasi layanan tersebut dalam Virtualisasi Perangkat Keras ataupun dalam perangkat keras. | |||
Teknologi Kontainerisasi ini secara umum digunakan untuk menjalankan berbagai jenis layanan dengan yang sangat efisien dan membutuhkan sumber-daya komputasi yang relatif jauh lebih sedikit jika dibandingkan dengan implementasi layanan tersebut dalam Virtualisasi Perangkat Keras ataupun dalam perangkat keras. Karena perlakuan implementasi umum yang dilakukan ini, maka satu kontainer tersebut secara umum disebut sebagai '''Micro-Services'''. | |||
==Services dalam PKC== | ==Services dalam PKC== | ||
Setelah mendapatkan pemahaman tentang dua tingkatan virtualisasi. Bagian ini akan menjelaskan apa saja yang terdapat dalam satu implementasi PKC, yang dapat dilakukan dalam perangkat keras, ''Virtual Machine'' (Mesin Virtual/VM), atau dalam Mesin Virtual di provider Cloud Computing (AWS/Google Cloud/dan lainnya) dimana dapat dilakukan secara umum. Tabel berikut ini menjelaskan tentang micro-services apa saja yang tersedia dalam implementasi tersebut. | |||
{{:PKC Services List}} | |||
==Cara Akses Service PKC== | ==Cara Akses Service PKC== | ||
Untuk melakukan akses ke berbagai services dalam PKC, hal pertama yang harus dilakukan adalah mengetahui nama Domain dimana implementasi PKC tersebut dipasang. Untuk kemudian mengetahui masing-masing sub-domain dari masing-masing services yang tertera dalam tabel dibawah. | |||
<pre> | |||
Contoh, Domain anda adalah pkc.pub, maka URLnya adalah | |||
https://pkc.pub -> Masukkan alamat di di URL Browser anda. | |||
Format secara umum adalah | |||
https://<subdomain>.<domain> | |||
Jika subdomain kosong maka service akan terbuka adalah Mediawiki | |||
</pre> | |||
{| class="wikitable" style="vertical-align:bottom;" | |||
|- style="background-color:#AEAAAA;" | |||
! No | |||
! Nama Service | |||
! Sub Domain | |||
|- | |||
| 1 | |||
| Mediawiki | |||
| | |||
|- | |||
| 2 | |||
| Gitea | |||
| git | |||
|- | |||
| 3 | |||
| MariaDB | |||
| Tidak dibuka | |||
|- | |||
| 4 | |||
| PHPMyAdmin | |||
| pma | |||
|- | |||
| 5 | |||
| KeyCloak | |||
| kck | |||
|- | |||
| 6 | |||
| Matomo | |||
| mtm | |||
|- | |||
| 7 | |||
| Visual Studio Code | |||
| code | |||
|- | |||
| 8 | |||
| Moodle | |||
| mdl | |||
|- | |||
| 9 | |||
| MongoDB | |||
| Tidak Dibuka | |||
|- | |||
| 10 | |||
| Quant UX | |||
| qtux | |||
|} | |||
==Pengelolaan Akun dalam Implementasi PKC== | ==Pengelolaan Akun dalam Implementasi PKC== | ||
Sebagian services dalam implementasi PKC menggunakan metode Single-Sign-On dengan menggunakan Keycloak sebagai penyedia layanan identitas. Silakan klik laman [[PKC Services List]] untuk melakukan akses ke masing-masing layanan tersebut. | |||
=Related Pages= | =Related Pages= | ||
[[Managing PKC Users]] | [[Managing PKC Users]] | ||
Latest revision as of 05:21, 25 September 2022
Module 1 – Pengantar Arsitektur PKC
Dalam modul ini akan dijelaskan bagaimana PKC dibangun dan konsep-konsep yang berkaitan dengan implementasi, dan operasional PKC.
Implementasi PKC dan Model Abstraksi
Abstraksi dalam Teknologi Informasi
Konsep abstraksi secara umum, adalah suatu konsep untuk menyederhanakan suatu permasalahan atau suatu proses operasi. Per-Definisi, berikut ini adalah apa yang dimaksud dengan konsep abstraksi
Abstraksi adalah kemampuan menyaring informasi yang tidak dibutuhkan dan menarik generalisasi dari informasi yang dibutuhkan sehingga seseorang dapat menggunakan informasi tersebut untuk menyelesaikan masalah yang serupa. Abstraksi juga dapat diartikan sebagai pola sederhana yang mewakili suatu pernyataan yang rumit
Hardware Abstraction Layer
Dalam teknik komputasi, hardware abstraction layer (HAL) adalah suatu layer pemrograman yang memungkinkan atau mengijinkan Sistem Operasi (SO) untuk berinteraksi dengan perangkat keras dalam tingkat abstrak, bukan dalam tingkatan detail perangkat keras. HAL dapat menggunakan panggilan langsung dari kernel SO atau dari pengendali perangkat. Dalam dua kasus tersebut, program pemanggil dapat berinteraksi dengan perangkat dalam cara yang lebih umum. Dalam implementasi teknologi virtualisasi, memungkinkan kita untuk mengoperasikan beberapa SO dalam satu perangkat keras yang sama dengan membagi sumber-daya dalam perangkat keras tersebut.
- Teknologi Virtualisasi ini memungkinkan pemakaian perangkat keras, terutama perangkat keras yang memiliki skala sumber-daya yang besar menjadi jauh lebih efisien dan memungkinkan kemampuan pengelola perangkat keras untuk dapat menambah atau mengurangi, atau bahkan membuat SO baru dengan cara yang relatif cepat dan mudah. Teknologi ini juga yang membuat perkembangan sistem komunikasi berbasiskan elektronik menjadi berkembang dengan sangat pesat.
Containerization (Kontainerisasi)
Kontainerisasi adalah suatu bentuk virtualisasi dimana masing-masing aplikasi berjalan dalam lingkup sumber-daya (yang disebut dengan kontainer), dimana pada saat yang bersamaan menggunakan SO yang sama. Salah satu keuntungan utama dalam kontainerisasi adalah memungkinkan untuk membuat paket yang sepenuhnya portabel dalam lingkungan komputasi. Kontainer itu sendiri di-abstraksikan dengan SO dimana kontainer tersebut berjalan, dengan akses yang terbatas dan terisolasi dari induk SO nya, mirip dengan Virtualisasi yang ringan. Menghasilkan satu paket perangkat lunak yang dapat berjalan dalam berbagai jenis infrastruktur, dalam Mesin Virtual, dan dalam Cloud Computing, tanpa kebutuhan untuk membuat variasi sesuai dengan jenis perangkat keras yang dimiliki.
Teknologi Kontainerisasi ini memungkinkan untuk membuat utilisasi perangkat menjadi semakin efisien dan semakin fleksibel. Teknologi ini pula yang membuat lonjakan yang cukup signifikan dalam perkembangan Cloud Computing (Komputasi Awan) dan memungkinkan kita untuk mendefinisikan perangkat infrastruktur yang diinginkan sepenuhnya dengan menggunakan kode pemrograman dan mengantarkan lahirnya teknologi Development-Operation, atau disingkat dengan DevOps.
Teknologi Kontainerisasi ini secara umum digunakan untuk menjalankan berbagai jenis layanan dengan yang sangat efisien dan membutuhkan sumber-daya komputasi yang relatif jauh lebih sedikit jika dibandingkan dengan implementasi layanan tersebut dalam Virtualisasi Perangkat Keras ataupun dalam perangkat keras. Karena perlakuan implementasi umum yang dilakukan ini, maka satu kontainer tersebut secara umum disebut sebagai Micro-Services.
Services dalam PKC
Setelah mendapatkan pemahaman tentang dua tingkatan virtualisasi. Bagian ini akan menjelaskan apa saja yang terdapat dalam satu implementasi PKC, yang dapat dilakukan dalam perangkat keras, Virtual Machine (Mesin Virtual/VM), atau dalam Mesin Virtual di provider Cloud Computing (AWS/Google Cloud/dan lainnya) dimana dapat dilakukan secara umum. Tabel berikut ini menjelaskan tentang micro-services apa saja yang tersedia dalam implementasi tersebut.
No | Nama Service | Penjelasan | Informasi Lebih Lanjut | Sub Domain | Laman Akses |
---|---|---|---|---|---|
1 | Mediawiki | Perangkat lunak Open Source untuku kolaborasi data dan pengetahuan untuk dibagikan secara umum ke seluruh pengguna-nya. | https://www.mediawiki.org | Mediawiki Landing Page | |
2 | Gitea | Paket perangkat lunak yang melayani proses penyimpanan source-code ataupun document lain dengan konsep GIT dan berbagai fitur-fitur kolaborasi. | https://gitea.io | git | Laman Gitea |
3 | MariaDB | Paket perangkat lunak sistem penyimpanan data relasional atau RDBMS (Relational Database Management System) | https://mariadb.com | ||
4 | PHPMyAdmin | phpMyAdmin adalah alat administrasi sumber terbuka dan gratis untuk MySQL dan MariaDB. Sebagai aplikasi web portabel yang ditulis terutama dalam PHP, ini telah menjadi salah satu alat administrasi MySQL paling populer, terutama untuk layanan hosting web | https://www.phpmyadmin.net | pma | Laman PHPmyAdmin |
5 | KeyCloak | Keycloak adalah produk perangkat lunak sumber terbuka untuk memungkinkan sistem masuk tunggal (Single-Sign-On) dengan Manajemen Identitas dan Akses yang ditujukan untuk aplikasi dan layanan modern. | https://www.keycloak.org | kck | Laman Keycloak |
6 | Matomo | Matomo, sebelumnya Piwik, adalah aplikasi analisis web Open Source dan gratis yang paling umum untuk melacak kunjungan online ke satu atau lebih situs web dan menampilkan laporan kunjungan ini untuk analisis. | https://matomo.org | mtm | Laman Matomo |
No | Nama Service | Penjelasan | Informasi Lebih Lanjut | Sub Domain | Laman Akses |
---|---|---|---|---|---|
7 | Visual Studio Code | Visual Studio Code, juga biasa disebut sebagai VS Code, adalah editor source-code yang dibuat oleh Microsoft dengan Electron Framework, untuk Windows, Linux, dan macOS. Fitur termasuk dukungan untuk debugging, penyorotan sintaks, penyelesaian kode cerdas, cuplikan, pemfaktoran ulang kode, dan embedded Git. | https://code.visualstudio.com | code | Lama Visual Studio Code |
8 | Moodle | Moodle adalah sistem manajemen pembelajaran sumber terbuka dan gratis yang ditulis dalam PHP dan didistribusikan di bawah Lisensi Publik Umum GNU. Moodle digunakan untuk pembelajaran hibrid, pendidikan jarak jauh dan skema pembelajaran online lainnya di sekolah, universitas, tempat kerja dan sektor lainnya. | https://moodle.org | mdl | Laman Moodle |
9 | MongoDB | MongoDB adalah program database berorientasi dokumen lintas platform yang tersedia sumber. Diklasifikasikan sebagai program database NoSQL, MongoDB menggunakan dokumen mirip JSON dengan skema yang opsional. | https://www.mongodb.com | ||
10 | Quant UX | Quant UX adalah perangkat lunak untuk penelitian dan pembuatan prototipe untuk menguji desain Anda dengan cepat dan mendapatkan informasi berdasarkan data | https://quant-ux.com | qtux | Laman QuantUX |
11 | IPFS | IPFS (Interplanetary File System) adalah jaringan desentralisasi penyimpanan berkas elektronik web3.0 | http://ipfs.pkc-dev.org:5001/webui | ipfs | Laman IPFS |
Cara Akses Service PKC
Untuk melakukan akses ke berbagai services dalam PKC, hal pertama yang harus dilakukan adalah mengetahui nama Domain dimana implementasi PKC tersebut dipasang. Untuk kemudian mengetahui masing-masing sub-domain dari masing-masing services yang tertera dalam tabel dibawah.
Contoh, Domain anda adalah pkc.pub, maka URLnya adalah https://pkc.pub -> Masukkan alamat di di URL Browser anda. Format secara umum adalah https://<subdomain>.<domain> Jika subdomain kosong maka service akan terbuka adalah Mediawiki
No | Nama Service | Sub Domain |
---|---|---|
1 | Mediawiki | |
2 | Gitea | git |
3 | MariaDB | Tidak dibuka |
4 | PHPMyAdmin | pma |
5 | KeyCloak | kck |
6 | Matomo | mtm |
7 | Visual Studio Code | code |
8 | Moodle | mdl |
9 | MongoDB | Tidak Dibuka |
10 | Quant UX | qtux |
Pengelolaan Akun dalam Implementasi PKC
Sebagian services dalam implementasi PKC menggunakan metode Single-Sign-On dengan menggunakan Keycloak sebagai penyedia layanan identitas. Silakan klik laman PKC Services List untuk melakukan akses ke masing-masing layanan tersebut.