Difference between revisions of "PKC Training Syllabus/Module 1"

From PKC
Jump to navigation Jump to search
 
(25 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|800px|frame|Perkembangan Teknologi Virtualisasi|left]]
[[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=
[[Manage Configuration::Explaining LocalSettings.php]] </br>
[[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

Virtual-wallpaper.jpg

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.

Perkembangan Teknologi Virtualisasi

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.


Services.leftbar.jpg
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.

Related Pages

Managing PKC Users

References