Sabtu, 28 Januari 2023

Servis Aplikasi


1. Container

Container adalah metode virtualisasi sistem operasi-level untuk menjalankan beberapa sistem Linux terisolasi (container) pada host kontrol menggunakan kernel Linux tunggal. Berbeda dengan Virtual Machine (VM), yang menggunakan keseluruhan resource hardware yang ada pada host. Sehingga jika diibaratkan, pada Virtual Machine host langsung menjalankan double sistem operasi sekaligus. 

Dengan container, sebuah program ‘diikat’ beserta library-nya, file konfigurasi, dan seluruh hal yang dibutuhkannya. Perbedaan yang signifikan dengan virtualisasi adalah container memiliki ukuran yang jauh lebih kecil karena tidak ada persyaratan untuk membangun sistem operasi yang lengkap.

2. Docker

Docker adalah layanan yang menyediakan kemampuan untuk mengemas dan menjalankan sebuah aplikasi dalam sebuah lingkungan terisolasi yang disebut dengan container. Dengan adanya isolasi dan keamanan yang memadai memungkinkan kamu untuk menjalankan banyak container di waktu yang bersamaan pada host tertentu.


Fitur-fitur docker

  • Docker engine

Yang pertama ada docker engine. Ia digunakan untuk membuat image dan container.

  • Docker Hub

Selanjutnya adalah docker hub. Ia adalah registry yang berisikan kumpulan dari image-image. Dengan menggunakan docker hub ini kamu dapat mengumpulkan image. Hub ini berbeda dengan docker engine yang hanya membuat image.

  • Docker Compose

Docker compose ini adalah salah satu fitur unggulan yang berfungsi untuk menjalankan beberapa container atau biasa disebut multi-container sehingga dapat menghemat banyak waktu.

  • Docker for Mac

Untuk fitur yang satu ini, kamu pasti sudah tau dari namanya. Fitur ini memungkinkan pengguna docker untuk menjalankan container pada sistem operasi Mac.

  • Docker for Linux

Sama seperti fitur sebelumnya, fitur ini juga memungkinkan penggunanya untuk menjalankan container pada sistem operasi Linux.

  • Docker for Windows

Fitur terakhir dan sudah pasti fitur yang paling banyak digunakan dibandingkan dengan fitur-fitur lainnya yaitu docker for windows. Fitur ini memungkinkan penggunanya untuk menjalankan container pada sistem operasi windows.

3. Podman

Podman adalah sebuah utilitas untuk membuat dan menjalankan container berdasarkan standard Open Container Initiative (OCI). Docker container termasuk OCI sehingga Podman dapat digunakan sebagai pengganti Docker.

Penggagas atau pencipta dari Podman adalah perusahaan open source terkemuka yaitu Red Hat. Mereka sepertinya mengembangkan Podman sebagai pengganti Docker pada layanan cloud mereka yaitu OpenShift. 

Perbedaan Podman & Docker

Dua perbedaan utama antara Podman dan Docker adalah:

  1. Podman tidak memerlukan daemon untuk menjalankan container
  2. Secara default Podman tidak memerlukan akses root
4. Kubernetes

Kubernetes adalah platform open source untuk mengelola kumpulan container dalam suatu cluster server. Platform ini pertama kali dikembangkan oleh Google dan kini dikelola oleh Cloud Native Computing Foundation (CNCF) sebagai platform manajemen kontainer yang cukup populer.

Kubernetes memiliki kemampuan untuk melakukan penjadwalan aplikasi, load balancing server dan peningkatan kapasitas kontainer secara otomatis. Dengan menggunakan Kubernetes, proses pengembangan aplikasi jadi lebih cepat karena proses scale up aplikasi tidak dibuat sekaligus seperti pada pendekatan monolith.

5.  Openshift

Produk ini merupakan suatu platform yang stabil dan aman untuk pemasangan berbasis kontainerisasi.Jalan keluar yang diperoleh saat menggunakan produk ini adalah terdapatnya standarisasi berbasis kontainer, yang dapat mempermudah jalan kerja developer, sehingga proses pengembangan aplikasi dapat berjalan dengan efektif dan efisien, serta aplikasi dapat dipromosikan dengan cepat untuk dapat bersaing dengan aplikasi lain.

Red Hat Openshift terdiri dari 5 produk berbeda, yaitu :


  • Red Hat Openshift Container Platform

Red Hat Openshift Container Platform ini Menyediakan platform bagi pengembang dan operator TI untuk membangun, mengembangkan, dan mengelola aplikasi baik untuk infrastruktur multi cloud maupun pada hybrid cloud. Maka dari itu, hal ini dapat membuat pengembangan aplikasi dapat menghemat biaya dan pengerjaannya lebih cepat.

  • OKD

OKD merupakan pembagian kubernetes yang dioptimalisasikan bagi pengembangan aplikasi secara multi-tenant deployment dan secara berkepanjangan. Tools DevOps untuk mempercepat perkembangan aplikasi, mempermudah penggunaan,skalabilitas dan siklus pemeliharaan jangka panjang dengan segala ukuran tim juga ditambahkan oleh OKD.

  • Red Hat OpenShift Dedicated

Red Hat OpenShift Dedicated ini dibuat untuk mempercepat pengembangan aplikasi cloud native dan aplikasi traditional bagi para tim developer. Produk ini didukung dengan teknologi Docker dan Google Kubernetes yang dibangun di Red Hat Enterprise Linux,maka dari itu produk ini terkoneksi langsung ke data center dengan aman agar menghemat biaya serta infrastruktur pada pengimplementasian pada strategy TI hybrid cloud. Produk ini merupakan platform aplikasi kontainer yang dikelola oleh Red Hat dan di hosting oleh Google Cloud Platform dan Amazon Web Service.

  • Openshift Online

OpenShift Online merupakan sebuah Platform as a Service (PaaS) yang dibuat untuk pengembang dan organisasi TI agar dapat build aplikasi cloud baru secara skalabilitas dan aman dengan konfigurasi dan manajemen overhead yang minim. Dan juga, produk ini mendukung banyak bahasa programming dan framework seperti Java, Ruby, dan PHP.

  • Openshift.io

OpenShift.io adalah layanan Software as a Service (SaaS) yang menawarkan pengembangan toolchain yang telah dikonfigurasi untuk pengembang agar dapat langsung membangun aplikasi yang dikontainerisasi tanpa perlu lagi menginstal dan mengkonfigurasi software.

6. Eslaticserach

Elasticsearch adalah salah satu database yang masuk ke dunia NoSQL dengan fokus di search engine database. Elasticsearch ditenagai oleh Apache Lucene yang juga merupakan search engine database yang memiliki query low level. Elasticsearch memiliki query yang lebih mudah untuk digunakan karena berbasis RESTful.

Elasticsearh memiliki konsep yang cukup unik. Dimana kita dapat mengasumsikan indeks sebagai "database", types sebagai "tabel" dan dokumen sebagai record atau row. Sedangkan mapping dapat diasumsikan sebagai "skema tabel". Di Elasticsearch tidak ada transaction dan dapat membuat struktur indeks tergantung dengan kebutuhan kita. Selain itu dapat diatur untuk menjadi sebuah sistem terdistribusi terhadap sejumlah server.

7. Grafana

Grafana merupakan aplikasi open-source untuk memonitor dan menganalisa metrics. Kita menggunakan Grafana untuk memvisualisasikan metrics menjadi grafik-grafik yang menarik untuk dilihat dan mudah dimengerti. Grafana memiliki banyak fitur yang powerful untuk memonitor dan menganalisa. Grafana juga memiliki fitur alerting yang sangat berguna. Feature ini telah banyak digunakan oleh ribuan perusahaan.

8.  Ansible

Ansible merupakan salah satu automation tool dan infrastructure as a code yang tersedia secara open source. Dengan Ansible kita dapat melakukan provisioning (semacam membuat/menghapus) server, configuration management, dan melakukan deployment aplikasi pada server.

Ada 2 hal yang sangat penting jika kita ingin menggunakan sebuah Ansible, yaitu Inventory dan Playbook.

  • Inventory adalah tempat di mana kita menyimpan alamat dari host/server yang akan menjadi tujuan dijalankannya konfigurasi yang telah ditentukan oleh Ansible.
  • Sedangkan Playbook adalah tempat pendefinisian berbagai jenis konfigurasi yang akan dijalankan di target host.

Selasa, 24 Januari 2023

Istilah istilah dalam manage local disk

Halo mina san, ogenki desuka? materi kali ini watashi mau membahas tentang istilah-istilah dalam manage local disk, nahh kalo gitu langsung aja kita ke materinya.

Kamis, 12 Januari 2023

Scope Linux

 konnichiwa mina-san, ogenki desuka? semoga dalam keadaan sehat dan baik yaa, nah pada materi kali ini watashi mau menjelaskan materi tentang scope linux, simak baik-baik yaa mina-san.

1. NTP (Network Time Protocol)

  • Network Time Protocol (NTP) adalah sebuah protokol yang digunakan untuk pengsinkronan waktu di dalam sebuah jaringan bisa pada jaringan LAN (Local Area Network) maupun pada jaringan internet dan untuk sinkronisasi jam-jam sistem komputer di atas paket-switching, variabel-latency jaringan data. Proses sinkronisasi ini dilakukan didalam jalur komunikasi data yang biasanya menggunakan protokol komunikasi TCP/IP. Sehingga proses ini sendiri dapat dilihat sebagai proses komunikasi data yang hanya melakukan pertukaran paket-paket data saja.

2. Repository

  • Repositori Linux adalah lokasi penyimpanan tempat sistem Anda mengambil dan menginstal pembaruan dan aplikasi OS. Setiap repositori adalah kumpulan perangkat lunak yang di-host di server jauh dan dimaksudkan untuk digunakan untuk menginstal dan memperbarui paket perangkat lunak pada sistem Linux. Ketika Anda menjalankan perintah seperti “sudo apt update” atau “sudo apt upgrade”, Anda mungkin menarik informasi paket dan memperbarui paket dari sejumlah repositori.

3. Swap

  • Swap merupakan sebuah ruang pada hard disk yang dijadikan ruang virtual memory yang digunakan ketika komputer membutuhkan lebih banyak memori. Dalam artian partisi dengan filesystem Swap ini bekerja sebagai cadangan , apabila RAM yang digunakan sudah penuh. Jadi sederhaananya, Swap ini akan memberi pertolongan jika RAM yang kita gunakan sudah kehabisan ruang kosong.

4. VDO (Virtual Data Opitimizer)

  • VDO (Virtual Data Optimizer) adalah teknologi virtualisasi blok yang menyediakan deduplikasi data secara transparan. Dengan menghilangkan potongan data ynag berlebihan, VDO dapat sangat mengurangi kapasitas disk yang digunakan sebenarnya. VDO menyediakan reduksi data inline untuk linux dalam bentuk deduplikasi, kompresi, dan penyediaan tipis.

5. Turned Profile

  • Tuned adalah fitur Linux yang memantau sistem dan mengoptimalkan kinerjanya di bawah beban kerja tertentu. Tuned menggunakan profil untuk melakukan ini. Profil adalah seperangkat aturan yang menentukan parameten system tertentu seperti pengaturan disk, parameter kernel, pengaturan pengoptimalan jaringan, dan banyak aspek sistem lainnya.

6. SELinux

  • SELinux merupakan salah satu komponen pendukung yang sangat penting pada keluarga distro Red Hat Enterprise Linux (RHEL), CentOS, Fedora dan beberapa distro lainnya terutama pada sistem keamanan. Dimana pada konsep penerapannya, SELinux memberikan akses kepada system administrator untuk mengontrol “Security Policies” sehingga system administrator akan lebih efisien dalam mengatur dan memonitor sistem keamanan pada OS.

7. Crontab

  • Crontab adalah kumpulan file semua skrip yang menentukan jadwal cron jobs. Setiap pengguna dapat menjalankan perintah crontab dan memiliki file crontab sendiri, file crontab setiap pengguna dapat dilihat di /var/spool/cron/crontabs Namun file crontab tidak dapat diedit secara langsung, tapi harus menggunakan perintah crontab -e. Crontab dapat digunakan untuk backup secara otomatis, sinkronisasi files, penjadwalan otomatis, dan lain-lain.

8. Auto FS

  • Autofs adalah program untuk memasang direktori secara otomatis sesuai kebutuhan. Auto-mount dipasang hanya saat diakses, dan dilepas setelah periode tidak aktif. Karena itu, automounting NFS/Samba share menghemat bandwidth dan menawarkan kinerja keseluruhan yang lebih baik dibandingkan dengan mount statis melalui fstab.

9. Journal

  • Journal adalah komponen systemd. Ini adalah loksi terpusat untuk semua pesan yang dicatat oleh komponen yang berbeda dalam system Linux yang diaktifkan oleh system. Ini termasuk pesan kernel dan boot, pesan yang berasal dari syslog, atau layanan yang berbeda.

10. Container

  • Container adalah metode virtualisasi sistem operasi-level untuk menjalankan beberapa sistem Linux terisolasi (container) pada host kontrol menggunakan kernel Linux tunggal. Berbeda dengan Virtual Machine (VM), yang menggunakan keseluruhan resource hardware yang ada pada host. Sehingga jika diibaratkan, pada Virtual Machine host langsung menjalankan double sistem operasi sekaligus.

11. Service Management System

  • Service Management System adalah sistem modular besar yang menggabungkan semua atau sebagian besar aspek organisasi berorientasi layanan. Untuk memiliki pola pikir manajemen layanan, organisasi harus memahami tingkat kematangan proses yang diperlukan untuk menjadi organisasi berorientasi layanan.

12. Firewall

  • Firewall adalah perangkat keamanan jaringan yang memantau lalu lintas jaringan masuk dan keluar dan mengizinkan atau memblokir paket data berdasarkan seperangkat aturan keamanan. Tujuannya adalah untuk membangun penghalang antara jaringan internal Anda dan lalu lintas masuk dari sumber eksternal (seperti internet) untuk memblokir lalu lintas berbahaya seperti virus.

Kamis, 05 Januari 2023

Mengenal struktur directory linux


 Konnichiwa minasan, ogenki desuka? semoga minasan dalam keadaan baik baik saja,pada materi kali ini watashi mau membahas tentang struktur directory linux. nah jadi struktur directory pada linux itu membentuk sebuah hiraki seperti pohon, dimana directory slash / (ROOT) berada pada puncak directory menaungi banyak directory lainnya, seperti /bin/,/boot/,/etc/, dan masih banyak yang lainnya.

Selasa, 03 Januari 2023

Perintah untuk mengetahui CPU, memory, disk, dan mengetahui utilisasi semua komponen

Perintah-perintah mengetahui komponen linux




Konnichiwa minasan, ogenki desuka? materi yang akan saya bahas kali ini mengenai tentang perintah untuk mengetahui CPU, memory, disk, dan mengetahui utilisasi semua komponen, langsung aja kita ke materi, simak baik baik ya minasan.

1. Perintah untuk mengetahui CPU

    CPU (central processing unit), sering disebut hanya processor atau prosesor, adalah salah satu komponen terpenting dalam mesin. CPU melakukan semua jenis operasi pemrosesan data dan dianggap sebagai otak komputer. Untuk melihat CPU bisa gunakan perintah: less /proc/cpuinfo :




Hasil output :

  • processor - Nomor identifikasi untuk setiap prosesor
  • model name - Nama lengkap prosesor termasuk merek prosesor.
  • flags - fitur CPU.
Jika ingin memfilter output, kita dapat menggunakan perintah grep, Misalnya ingin menampilkan nama prosesor, gunakan perintah : grep -m1 'model name' /proc/cpuinfo.
Hasil output :

Untuk mencetak jumlah CPU gunakan perintah : grep -c 'model name' /proc/cpuinfo atau nproc
Hasil output:

Periksa CPU dengan lscpu

lscpu adalah utilitas baris perintah yang menampilkan informasi tentang arsitektur CPU. Hasil output berbeda dengan /proc/cpuinfo, output dari lscpu tidak menampilkan daftar semua CPU logical:
Hasil output lscpu :

2. Perintah untuk mengetahui memory

Untuk mengetahui memory kita bisa gunakan perintah :  free
Hasil output :

Agar mudah dibaca bisa tambahkan dengan opsi -h : free -h
Hasil output :
  • total : keseluruhan
  • used : memory terpakai
  • free : memory bebas
  • shared : memory yang dialokasikan secara khusus untuk digunakan oleh banayk proses
  • buff/chace : memory sementara yang disisihkan untuk membantu beberapa proses yang tersedia dan dipinjam oleh sistem untuk mempercepat operasi.
  • available: memory tersedia, estimasi berapa banyak memory yang tersedia untuk memulai aplikasi baru, tanpa swapping

3. Perintah untuk mengetahui disk

Untuk cek disk bisa menggunakan perintah df dan du, yang memiliki fungsi berbeda. df berfungsi untuk mengecek ruang disk, sedangkan du digunakan untuk memantau penggunaan disk di terminal.

Hasil output perintah disk :

  • Filesystem - Menampilkan nama sistem file.
  • Size - Menunjukan informasi ukuran total sistem file tertentu.
  • Used - Memberitahukan berapa banyak ruang disk yang sudah digunakan untuk sistem file tertentu.
  • Use% - Menapilkan presentase ruang disk yang sudah digunakan.
  • Mounted On - Memberitahukan posisi pemasangan sistem file tertentu.
Dengan menambahkan opsi tertentu ke command df, bisa melakukan check disk space secara lebih akurat. Opsi tersebut di antaranya :
  • df -h  : Akan menampilkan hasil dalam format yang mudah dibaca.


  • df -m : Digunakan untuk menampilkan informasi penggunaan sistem file dalam ukuran MB

  • df-k : Sama seperti perintah sebelumnya, tapi dalam ukuran KB.
 
  • df-T : Opsi ini akan menunjukkan tipe sistem (kolom baru tambahan akan muncul)
 

Hasil output  du :

4. Perintah mengetahui utilisasi semua komponen

Salah satu perintah untuk mengetahui utilisasi semua komponen yaitu menggunakan perintah top, perintah ini berfugsi untuk menampilkan daftar semua proses yang sedang berjalan dan setiap detik diperbaharui.

Minggu, 01 Januari 2023

Perintah Dasar Linux

 

Konniciwa minasan, ogenki desuka?, kali ini materi yang akan saya bahas mengenai perintah dasar linux, memang kalo mendengar tentang linux, sebagian besar orang pasti langsung mengacu pada sistem operasi yang kompleks dan hanya digunakan oleh programmer. Padahal linux tidak semenyeramkan yang dikira selama ini, langsung aja kita ke inti pembahasan, simak baik baik ya minasan.

Perintah Dasar Linux

Sebelum menjabarkan perintah dasar sistem operasi linux, Anda harus membuka baris perintah (command line) terlebih dahulu. Jika belum pernah menggunakan antarmuka baris perintah (command-line interface), silahkan baca tutorial di bawah ini.

Berikut daftar command dasar linux.

1. mkdir

Untuk membuat direktori baru, anda bisa menggunakan perintah, mkdir [nama direktori] untuk membuat direktori baru. contoh:



2. ls / ls-lrt

ls digunakan untuk melihat file atau isi direktori, untuk melihat file atau isi direktori anda bisa ketikan, "ls" saja, contoh:


3. touch

touch digunakan untuk membuat file baru yang kosong, anda bisa menggunakan perintah "touch [nama file]" untuk membuat file baru yang kosong, contoh:


4. vi

vi digunakan untuk membuat file sekaligus membuka text editornya, anda bisa ketikkan perintah "vi [nama file]" , contoh:

jika sudah tekan tombol esc pada keayboard lalu tekan "shift + :", anda bisa menggunakan perintah "wq" untuk exit sembari meng-save file, namun anda juga bisa menggunakan perintah "q!" untuk exit tanpa meng-save file

5. chmod command

Digunakan untuk menjalankan permission (hak akses) file dan direktori, anda bisa ketikkan perintah "chmod +x" atau "chmod 777",
pada bagian atas adalah file yang belum di permission, sedangkan file yang bawah yang sudah di permission.

6. cp

Perintah cp  (copy) digunakan untuk meng-copy file atau direktori. Misalkan anda mempunyai file dengan nama file1 lalu ingin meng-copy file tersebut dengan nama file2, anda bisa mengetikkan "cp file1 file2", contoh hasil:

7. mv

Fungsi utama command mv untuk memindahkan file meskipun sebenarnya bisa digunakan untuk mengganti atau mengubah nama file, untuk memindahkan file ke direktori lain cukup ketikkan "mv [nama file] [direktori tujuan], sedangkan untuk mengganti nama file anda bisa ketikkan, "mv [nama file] [nama file baru], contoh:


8. rm & rmdir

rm digunakan untuk mengahapus sebuah file, anda bisa ketikkan " rm [nama file]  untuk menghapus file, sedangkan rmdir digunakan untuk mengahpus sebuah direktori, anda bisa keitkkan "rmdir [nama direktori] untuk mengahpus direktori, contoh:


9. cd

Digunakan untuk berpindah posisi direktori ke diektori yang lain, "cd [nama direktori tujuan]", contoh:
(foto)

10. pwd

Perintah ini digunakan untuk mengetahui dimana posisi kita berada, contoh:


11. more/cat

Perintah ini digunakan untuk membuka isi file, contoh:  misalkan kita mempunyai sebuah data1 dan data2 yang sudah dibuat dengan menggunakan perintah "vi", 


isi data1
isi data2




11. grep & egrep

Perintah grep digunakan untuk memfilter. 
Contoh:
disini saya akan mencoba mencari "Haechan" dengan menggunakan perintah  cat data1 | grep "Haechan"lalu akan mencoba mem-filter dua data sekaligus, dengan menggunakan perintah cat data1 | egrep "Jeno|mark", maka hasil yang akan muncul seperti ini:


12. sort

Perintah sort adalah perintah yang digunakan untuk mengurutkan abjad, dengan menggunakan perintah, "cat data3|sort", Contoh:


13. awk

Digunakan untuk menghilangkan baris-baris berurutan, yang mengalami duplikasi.

15. com

Perintah ini digunakan untuk membandingkan dua file yang telah terurut baris demi  baris, sebelum menggunakan perintah ini alangkah baiknya kita harus meg-sort kedua file yang mau di commpare
Contoh : disini ada file1 dan file2 yang sudah di sort.

a. comm -1 file1 file2, di opsi ini kita mendapatkan dua field, field pertama adalah item yang tidak terdapat pada file1, sedangkan pada field kedua adalah item yang terdapat pada  kedua file.
b. comm -2 file1 file2, di opsi ini akan menampilkan field pertama yang tidak ada di file2, pada field kedua terdapat kedua file tersebut
c. comm -3 file1 file2, di opsi ini akan menampilkan field pertama  yang tidak ada di file2, pada field kedua adalah item yang tidak terdapat di file1

16. For dan while

Dua perintah ini digunakan untuk save pada sebuah file program ber-ekstensi "ksh" atau "sh".
contoh :
disini saya mengisi file angka.sh menggunakan perintah nano

untuk menjalankan file ini kita harus memberikan hak akses dengan menggunakan perintah "chmod 777 angka.sh"
Hasil eksekusi:


Perintah dasar linux membantu user atau penggunanya atau menjalankan task dengan mudah dan efektif. Memang bukan hal yang mudah untuk mengingat semua perintah linux di atas. Namun, semuanya akan teratasi bila anda terus berlatih dan berlatih.

Restful Api

PENGERTIAN RESTful API (Representational State Transfer) adalah suatu arsitektur untuk membuat API (Application Programming Interface) yang ...