<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lana</title>
    <description>The latest articles on DEV Community by Lana (@lanamaulanna).</description>
    <link>https://dev.to/lanamaulanna</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F948840%2F55240844-c1c6-4a28-bda8-e49a1239d5f5.JPG</url>
      <title>DEV Community: Lana</title>
      <link>https://dev.to/lanamaulanna</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lanamaulanna"/>
    <language>en</language>
    <item>
      <title>Dynatrace - Application Performance Monitoring</title>
      <dc:creator>Lana</dc:creator>
      <pubDate>Tue, 25 Jun 2024 06:40:24 +0000</pubDate>
      <link>https://dev.to/lanamaulanna/dynatrace-application-performance-monitoring-k98</link>
      <guid>https://dev.to/lanamaulanna/dynatrace-application-performance-monitoring-k98</guid>
      <description>&lt;p&gt;Apa itu Application Performance Monitoring?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F599auvi0ynz1j9utrwi3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F599auvi0ynz1j9utrwi3.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sumber: dynatrace.com &lt;/p&gt;

&lt;p&gt;Application Performance Monitoring (APM) adalah teknik dan alat untuk mengawasi, mengukur, dan memahami kinerja aplikasi. APM akan memberikan visibilitas yang penting kepada perusahaan terkait dengan cara aplikasi mereka beroperasi. Secara sederhana, APM bekerja dengan melibatkan pengumpulan data kinerja yang mencakup waktu respons, penggunaan sumber daya, dan performa transaksi, yang digunakan untuk mengidentifikasi masalah kinerja, bottleneck, atau anomali dalam aplikasi. &lt;/p&gt;

&lt;p&gt;Tentunya dengan pemahaman yang lebih baik tentang kinerja aplikasi, perusahaan dapat merespons masalah dengan lebih cepat, menghindari downtime yang merugikan, dan meningkatkan kepuasan pengguna. Selain itu, APM juga membantu perusahaan dalam pengambilan keputusan berbasis data untuk mengoptimalkan kinerja aplikasi dan mengalokasikan sumber daya secara efisien. &lt;/p&gt;

&lt;p&gt;Apa itu Observability?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4j451ntqpqmuf6fntj6u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4j451ntqpqmuf6fntj6u.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sumber: dynatrace.com &lt;/p&gt;

&lt;p&gt;Observability adalah pendekatan terintegrasi untuk menyatukan data dari berbagai sumber dalam satu platform. Hal ini memberikan perusahaan visibilitas yang komprehensif dan mendalam untuk mendeteksi, mendiagnosa, dan memecahkan masalah secara efisien pada aplikasi mereka. &lt;/p&gt;

&lt;p&gt;Data yang dikumpulkan biasanya terdiri dari beberapa komponen teknologi yang terlibat dalam operasional aplikasi. Misalnya, kinerja aplikasi, jaringan, server, database, dan infrastruktur cloud. Berikut penjelasan lebih lengkap cara observability pada komponen utama aplikasi. &lt;/p&gt;

&lt;p&gt;Kinerja Aplikasi&lt;br&gt;
Melacak kinerja aplikasi dan memahami cara pengguna berinteraksi dengan aplikasi, termasuk waktu respons, kesalahan yang terjadi, dan tindakan pengguna. &lt;/p&gt;

&lt;p&gt;Infrastruktur&lt;br&gt;
Memantau server fisik dan virtual, cloud machine, serta jaringan yang digunakan untuk mendukung aplikasi. Ini termasuk pemantauan sumber daya seperti CPU, memori, dan storage. &lt;/p&gt;

&lt;p&gt;Jaringan&lt;br&gt;
Memahami trafik jaringan, latensi, dan pemecahan masalah yang terkait dengan konektivitas dan jaringan. &lt;/p&gt;

&lt;p&gt;Database&lt;br&gt;
Mengawasi kinerja database termasuk trafik, waktu respons, dan pemecahan masalah terkait database. &lt;/p&gt;

&lt;p&gt;Log&lt;br&gt;
Mengumpulkan dan menganalisis log dari seluruh tumpukan teknologi untuk melacak aktivitas dan mendeteksi masalah atau ancaman. &lt;/p&gt;

&lt;p&gt;Metrik&lt;br&gt;
Menggunakan metrik dan pengukuran kinerja untuk memahami tren dan pola dalam seluruh sistem. &lt;/p&gt;

&lt;p&gt;Tracing&lt;br&gt;
Pelacakan transaksi end-to-end melalui seluruh infrastruktur, memungkinkan pemahaman lengkap tentang perjalanan data dan permintaan melalui sistem. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Openshift Kubernetes Distribution (OKD)</title>
      <dc:creator>Lana</dc:creator>
      <pubDate>Tue, 25 Jun 2024 06:31:45 +0000</pubDate>
      <link>https://dev.to/lanamaulanna/openshift-kubernetes-distribution-okd-4g23</link>
      <guid>https://dev.to/lanamaulanna/openshift-kubernetes-distribution-okd-4g23</guid>
      <description>&lt;p&gt;OKD adalah pendistribusian Kubernetes yang dioptimisasi untuk pengembangan aplikasi secara terus menerus dan multi-tenant deployment. OKD menambahkan tools DevOps agar pengembangan aplikasi cepat terjadi, mempermudah penggunaan dan skalabiltas serta maintenance lifecycle jangka panjang bagi tim segala ukuran. Selain itu OKD juga di-embed di Red Hat OpenShift.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs1fmsn65ysblonyvxdsi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs1fmsn65ysblonyvxdsi.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kubernetes merupakan platform open-source yang digunakan untuk melakukan manajemen workloads aplikasi yang dikontainerisasi, serta menyediakan konfigurasi dan otomatisasi secara deklaratif. Kubernetes berada di dalam ekosistem yang besar dan berkembang cepat. Service, support, dan perkakas Kubernetes tersedia secara meluas.&lt;/p&gt;

&lt;p&gt;Kubernetes memiliki sejumlah fitur yang dapat dijabarkan sebagai berikut:&lt;/p&gt;

&lt;p&gt;platform kontainer&lt;br&gt;
platform microservices&lt;/p&gt;

&lt;p&gt;Beberapa jenis openshift&lt;/p&gt;

&lt;p&gt;OpenShift Dedicated&lt;br&gt;
Red Hat OpenShift Dedicated adalah platform aplikasi container yang di-hosting oleh Amazon Web Services (AWS) ataupun Google Cloud Platform dan dikelola oleh Red Hat. Produk ini mempercepat pengembangan aplikasi tradisional maupun aplikasi cloud native bagi para tim developer. Dibangun di Red Hat Enterprise Linux, teknologi Docker dan Google Kubernetes, OpenShift Dedicated terkoneksi ke data center secara aman agar bisnis dapat mengimplementasikan strategi TI hybrid cloud dengan infrastruktur dan biaya yang minim.&lt;/p&gt;

&lt;p&gt;OpenShift Online&lt;br&gt;
OpenShift Online adalah sebuah Platform as a Service (PaaS) yang diperuntukkan untuk developer dan organisasi TI agar mereka dapat membangun aplikasi cloud baru secara skalabel dan aman dengan konfigurasi dan manajemen overhead yang minimal. Terlebih lagi, OpenShift Online mendukung banyak bahasa programming dan framework seperti Java, Ruby, dan PHP.&lt;/p&gt;

&lt;p&gt;OpenShift.io&lt;br&gt;
OpenShift.io adalah layanan Software as a Service (SaaS) yang menawarkan pengembangan toolchain yang telah dikonfigurasi. Dengan demikian, para pengembang dapat langsung membangun aplikasi yang dikontainerisasi tanpa perlu lagi menginstal dan mengkonfigurasi software.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>GIT Workflow</title>
      <dc:creator>Lana</dc:creator>
      <pubDate>Wed, 03 Jan 2024 10:23:19 +0000</pubDate>
      <link>https://dev.to/lanamaulanna/git-workflow-kda</link>
      <guid>https://dev.to/lanamaulanna/git-workflow-kda</guid>
      <description>&lt;p&gt;Terdapat empat metode yang saya ketahui dalam penggunaan Git, beberapa diantaranya adalah sebagai berikut:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Centralized Workflow&lt;/li&gt;
&lt;li&gt;Feature Branch Workflow&lt;/li&gt;
&lt;li&gt;Gitflow Workflow&lt;/li&gt;
&lt;li&gt;Forking Workflow&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ketika saya baru bergabung di perusahaan, alur kerja Git yang digunakan adalah Centralized Workflow. Selang beberapa bulan seiring bertambahnya anggota tim code conflict makin sering terjadi lalu kami mencoba Gitflow Workflow. Singkat cerita Gitflow Workflow sangat membantu mengoptimalkan alur kerja pengguna Git. Code conflict berkurang, tidak ada lagi fitur yang belum selesai terbawa ke production, dan lain sebagainya.&lt;/p&gt;

&lt;p&gt;Sampai suatu hari terjadi lagi, mulai sering code conflict dan pekerjaan yang belum selesai malah terbawa ke production. Jelas tidak ada yang salah dengan Gitflow Workflow sekalipun ada yang mengomentari bahwa Gitflow Workflow tidak bagus, ribet dan lain-lain.&lt;/p&gt;

&lt;p&gt;Memang perkakas Gitflow ini membungkus perintah-perintah Git dengan tujuan memudahkan pengguna untuk praktek Gitflow Workflow, sekalipun tetap saja ada yang kebingungan dengan alur penggunaanya. Memang sudah cukup banyak artikel yang membahas Gitflow Workflow sayangnya saya masih melihat beberapa tim member kesulitan mengikuti konsepnya. 😓&lt;/p&gt;

&lt;p&gt;Singkat cerita, daripada semakin tidak produktif akhirnya saya mencoba merancang ulang alur kerja pengguna Git. Alur kerja yang saya buat mirip dengan Feature Branch Workflow. Hanya saja saya coba terangkan menggunakan bahasa saya sendiri dan memvisualisasikannya supaya lebih mudah dicerna, dicetak dan ditempel di dinding biar tidak lupa. 😎&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgto9jat4ks85uhm2tnp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgto9jat4ks85uhm2tnp.png" alt="Image description" width="800" height="457"&gt;&lt;/a&gt;Yang Boleh Dilakukan 👍&lt;/p&gt;

&lt;p&gt;Motivasi dari alur kerja ini adalah:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Branch master haruslah siap dan aman di deploy kapanpun&lt;/li&gt;
&lt;li&gt;Mengurangi gap perbedaan source code diantara branch&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Penjelasan gambar diatas adalah sebagai berikut:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ketika memulai pekerjaan, buatlah branch baru dari master branch. Tentu saja ada tata cara penamaan branch yang saya rancang juga, mungkin akan dibahas di artikel yang lain&lt;/li&gt;
&lt;li&gt;Disebut working branch karena pekerjaan aktif ada di branch ini, dan branch ini menjadi tanggung jawab pembuatnya tidak boleh di share ke orang lain jika tidak ada kolaborasi kode bersama&lt;/li&gt;
&lt;li&gt;Jika pekerjaan sudah selesai, maka merge working branch dengan development branch. Selanjutnya biasanya sudah di ambil alih oleh CI/CD untuk menarik kode di server development&lt;/li&gt;
&lt;li&gt;Dan jika testing atau UAT di development environment sudah OK, selanjutnya adalah melakukan merge working branch dengan staging branch. Staging environment biasanya digunakan untuk UAT dengan stakeholder atau pengguna utama, sebelum di rilis ke production environment&lt;/li&gt;
&lt;li&gt;Setelah UAT dengan stakholder dianggap PASS atau lolos atau telah diterima. Selanjutnya lakukan merge working branch dengan master branch. Melalui proses CI/CD kode yang kita kerjakan akan bisa digunakan oleh orang banyak&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Tidak ada pull request ya 😲? lalu kapan dan bagaimana code review dilakukan? ini juga akan dibahas di artikel yang lain 😁 termasuk CI/CD yang membuat Git tagging.&lt;/p&gt;

&lt;p&gt;Singkat cerita itulah hal yang dibolehkan. Tidak berhenti sampai disitu, untuk lebih memperjelas alur kerja pengguna Git, saya juga membuat aturan “TIDAK BOLEH”. Melalui diagram dibawah ini saya terangkan apa yang tidak boleh dilakukan.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F32lgvppg1gzzp50ogo8p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F32lgvppg1gzzp50ogo8p.png" alt="Image description" width="800" height="604"&gt;&lt;/a&gt;Yang Tidak Boleh Dilakukan dan Pengecualian 👎&lt;/p&gt;

&lt;p&gt;Inti dari diagram diatas adalah untuk menjaga agar tiap-tiap branch aman dari perubahan-perubahan yang terjadi di working branch dan development branch.&lt;/p&gt;

&lt;p&gt;Coba teman-teman bayangkan jika development branch di merge dengan staging branch. Development branch berisi kode-kode yang belum teruji atau bahkan setengah jadi. Lalu di merge ke branch staging dimana branch staging ini digunakan untuk UAT atau 3rd party integration. Amburadul tentunya ya, apalagi klo langsung di merge ke master branch 😲&lt;/p&gt;

&lt;p&gt;Selain itu jika diperhatikan ada Friends Working Branch, maksudnya adalah ketika kita mendapatkan tugas mengerjakan suatu fitur dan dikerjakan lebih dari satu orang maka bisa terjadi kolaborasi di working branch. Dan ini harus dengan supervisi agar gap kode antar branch tidak semakin jauh.&lt;/p&gt;

&lt;p&gt;Sudah hampir 1.5 tahun dan alur kerja pengguna Git ini berhasil menjadi salah satu faktor stabilitas produktivitas teman-teman. 😎&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Time-Series Database</title>
      <dc:creator>Lana</dc:creator>
      <pubDate>Wed, 03 Jan 2024 10:17:50 +0000</pubDate>
      <link>https://dev.to/lanamaulanna/time-series-database-4am0</link>
      <guid>https://dev.to/lanamaulanna/time-series-database-4am0</guid>
      <description>&lt;p&gt;Mungkin kalian yang membaca sekarang sangat akrab dengan apa yang dinamakan “ database “. tempat dimana data yang kita olah disimpan. mungkin pada zaman dulu jenis database tidak sebanyak sekarang. tentunya dampak tersebut terjadi karena sebuah kebutuhan dan inovasi terhadap teknologi database itu sendiri.&lt;/p&gt;

&lt;p&gt;Dari pengalaman saya, database memiliki beberapa jenis seperti :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;LocalStorage/indexedDB(localForage)&lt;/li&gt;
&lt;li&gt;WebSql(watermelonDB,pouchdb,alaSql)&lt;/li&gt;
&lt;li&gt;NoSql(redis,flux,couch,mongo)&lt;/li&gt;
&lt;li&gt;Sql(mysql,mariadb,postgres)&lt;/li&gt;
&lt;li&gt;LocalDB(sqlite,room,realm)&lt;/li&gt;
&lt;li&gt;Object Storage (MinIO)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;namun pada tiap jenis database memiliki ekosistemnya sendiri dan fungsi penggunaan berbeda tergantung kebutuhan kita juga. contoh ekosistem web ada namanya indexedDB, WebSQL dan LocalStorage yang dapat kita manfaatkan untuk menyimpan data di browser atau NoSql sebagai database Transcational dan Sql sebagai database Master.&lt;/p&gt;

&lt;p&gt;pada waktu dekat ini kebetulan saya belajar mengelola data bertipe deret waktu dan cukup kesusahan dalam mengelola data tersebut. rencana memakai SQL tentu pilihan itu tidak tepat. lalu pilihan saya tertuju pada database NoSql. menurut pengalaman saya sepertinya sangat cocok karna sudah terbiasa digunakan untuk pencatatan/log system/ dan tidak memiliki stuktur tabel seperti SQL. namun dalam pencarian platform yang cocok, saya menemukan hal baru yaitu TSDB (Time-Series Database). whatttt .…??&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fra6ir48lz3jthzevp8dr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fra6ir48lz3jthzevp8dr.png" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;TSDB (Time-Series Database) merupakan sebuah sistem database yang dapat mengoptimasi penyimpanan dan penyediaan data bertipe Time-Series (deret waktu) berdasarkan rangkaian waktu dan nilai terkait.&lt;/p&gt;

&lt;p&gt;biasanya Time-Series dikaitkan dengan grafik,stastistik,log,history atau trend. Beberapa database Time-Series awalnya hanya digunakan pada aplikasi untuk optimasi secara efisien menyimpan nilai yang diukur dari peralatan sensorik (juga disebut sebagai history data), tetapi sekarang digunakan untuk mendukung berbagai aplikasi yang jauh lebih luas.&lt;/p&gt;

&lt;p&gt;Dalam banyak kasus data Time-series akan menggunakan algoritma kompresi untuk mengelola data secara efisien. Meskipun dimungkinkan untuk menyimpan data Time-Series dalam berbagai jenis basis data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fagtwwqb5u59g27sifa0d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fagtwwqb5u59g27sifa0d.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Performa SQL vs TSDB INSERT 10,000-row batches ( Time-Series Database )&lt;/p&gt;

&lt;p&gt;Perbedaan mencolok, database Time-Series menggunakan waktu sebagai indeksnya (pipeline times chunk). berarti proses yang dilakukan secara paraller dan realtime. tiap waktu memiliki data. bukan data memiliki waktu. dampaknya konsumsi memory akan lebih optimal tentunya.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgoyoh92dm1pjeie8a1r1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgoyoh92dm1pjeie8a1r1.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Perbedaan RDMS vs TSDB&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjz98z2eogvyqlz2c47wr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjz98z2eogvyqlz2c47wr.png" alt="Image description" width="699" height="204"&gt;&lt;/a&gt;&lt;br&gt;
dengan TSDB kita bisa dengan mudah memanipulasi data dengan interval waktu yang tertata rapi&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fznx7n360mj4ti15m6fwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fznx7n360mj4ti15m6fwl.png" alt="Image description" width="706" height="202"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;mendiagnosa data dengan berdasarkan urutan waktu jadi semakin mudah tidak perluh library pendukung lagi&lt;/p&gt;

&lt;p&gt;database Time-Series biasanya memisahkan set karakteristik tetap, diskrit dari dinamis, nilai kontinu menjadi set poin atau ‘tag.’ Contohnya adalah penyimpanan Utilisasi CPU untuk pemantauan kinerja: karakteristik tetap akan mencakup nama ‘Utilisasi CPU’, satuan ukuran ‘%’ dan kisaran ‘0 hingga 1’; dan nilai dinamis akan menyimpan persentase pemanfaatan dan gap waktu. Pemisahan ini dimaksudkan untuk secara efisien menyimpan dan mengindeks data untuk keperluan aplikasi yang dapat mencari melalui set poin berbeda dari nilai-nilai yang diindeks waktu.&lt;/p&gt;

&lt;p&gt;Basis data sangat bervariasi dalam fitur-fiturnya, tetapi sebagian besar akan memungkinkan fitur untuk membuat, membaca, memperbarui, dan menghapus. namun pada database time-series dapat memanipulasi pasangan nilai waktu serta poin yang terkait dengannya. Ada juga fitur tambahan seperti perhitungan, interpolasi, pemfilteran, dan analisis.&lt;/p&gt;

&lt;p&gt;Ada beberapa pilihan lagi sebelum menggunakan jenis database ini.&lt;/p&gt;

&lt;p&gt;yups.., memilih software yang akan menghandle.&lt;/p&gt;

&lt;p&gt;Berikut daftar database Time-Series yang bisa kamu coba :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cube&lt;/li&gt;
&lt;li&gt;DalmatinerDB&lt;/li&gt;
&lt;li&gt;Druid&lt;/li&gt;
&lt;li&gt;eXtremeDB&lt;/li&gt;
&lt;li&gt;InfluxDB&lt;/li&gt;
&lt;li&gt;Informix TimeSeries&lt;/li&gt;
&lt;li&gt;KairosDB&lt;/li&gt;
&lt;li&gt;OpenTSDB&lt;/li&gt;
&lt;li&gt;TimescaleDB&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqrpol510gdnezhfkf5z1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqrpol510gdnezhfkf5z1.png" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;akhirnya saya memilih InfluxDB, alasan saya memilih InfluxDB karena pertama populer dan sudah ada komunitasnya. serta memiliki beberapa tools dan fitur yang lengkap seperti&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;layanan cloud&lt;/li&gt;
&lt;li&gt;telegraf ( data kolektor )&lt;/li&gt;
&lt;li&gt;flux query ( perintah querynya )&lt;/li&gt;
&lt;li&gt;chronograf ( data visual kayak nyediain chart gitu lah )&lt;/li&gt;
&lt;li&gt;kapacitor ( data prosessing )&lt;/li&gt;
&lt;li&gt;dan influxDB client ❤.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Selain itu InfluxDB merupakan project open source jadi bisa anda coba di sistem local komputermu.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Software Development Engineer in Test / Quality Assurance</title>
      <dc:creator>Lana</dc:creator>
      <pubDate>Mon, 03 Jul 2023 08:39:17 +0000</pubDate>
      <link>https://dev.to/lanamaulanna/software-development-engineer-in-test-quality-assurance-3cl6</link>
      <guid>https://dev.to/lanamaulanna/software-development-engineer-in-test-quality-assurance-3cl6</guid>
      <description>&lt;p&gt;Dalam dunia yang semakin bergantung pada teknologi, aplikasi digital telah menjadi bagian tak terpisahkan dari kehidupan sehari-hari. Mulai dari aplikasi pada smartphone kita untuk tetap eksis di sosial media, sampai ke aplikasi jasa yang kita gunakan sehari-hari.&lt;/p&gt;

&lt;p&gt;Dalam proses pengembangan sebuah produk atau aplikasi, QA Engineer bertanggung jawab untuk melakukan pengujian terhadap aplikasi yang dibuat. Hal ini dibutuhkan demi memastikan bahwa sistem yang dikembangkan sesuai dengan kebutuhan yang telah ditentukan sebelumnya sehingga menghasilkan sistem yang terjamin kualitasnya.&lt;/p&gt;

&lt;p&gt;Seorang Software Tester Profesional akan mempelajari berbagai teknik pengujian aplikasi digital agar bisa ditemukan kesalahan yang mungkin terjadi, mengidentifikasi masalah, hingga upaya agar masalah bisa dicegah.&lt;/p&gt;

&lt;p&gt;Meski demikian, peran QA Engineer di dalam sebuah tim seringkali kurang dianggap karena mereka terkesan tidak memiliki keahlian khusus, berbeda dengan developer atau designer. Bahkan beberapa tim justru meniadakan posisi QA Engineer dalam proses pengembangan produk atau aplikasi.&lt;br&gt;
Pun seperti profesi lain seperti penulis dengan editor, akuntan, reviewer, adalah orang yang berbeda dan independen, seorang Software Tester Profesional (atau nama lainnya biasa disebut Quality Assurance, SDET) akan menawarkan perpektif yang berbeda dari pengujian yang dilakukan oleh developer, product manager, ataupun end user. &lt;/p&gt;

&lt;p&gt;QA Engineer mempunyai beberapa tanggung jawab, yaitu:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Melakukan end to end test friendly sampai ke user,&lt;/li&gt;
&lt;li&gt;Menguji fungsionalitas, dan&lt;/li&gt;
&lt;li&gt;Memastikan bahwa aplikasi tahan banting atau tidak gampang eror.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ketika bug muncul, maka hal yang perlu dilakukan oleh QA Engineer adalah melakukan reject terhadap fungsi tersebut dan mengakibatkan produk atau aplikasi tidak bisa dipindahkan ke production. Dampaknya, apa yang telah dikerjakan oleh developer atau designer seperti sia-sia.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Bagi QA Engineer yang tidak “tegaan” bisa saja bug kecil tidak dianggap dan diluluskan saja. Namun sebaliknya, bagi QA Engineer yang “tegaan”, sekecil apapun bug yang ada, maka produk atau aplikasi tersebut harus dinyatakan tidak layak untuk digunakan.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Tujuan
&lt;/h4&gt;

&lt;p&gt;penguji profesional diantaranya (tidak terbatas pada ini) adalah sebagai berikut.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmejjtu2ome69n89yy7i3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmejjtu2ome69n89yy7i3.jpg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Menjaga Kualitas Produk yang Prima
&lt;/h4&gt;

&lt;p&gt;Seorang penguji profesional akan melaksanakan berbagai macam pengujian, eksperimen, hingga simulasi untuk dapat mengidentifikasi masalah dan memperbaiki kesalahan aplikasi sebelum peluncuran ke pengguna.&lt;/p&gt;

&lt;p&gt;Hal ini akan mengurangi risiko perangkat lunak mengalami masalah atau kegagalan yang bisa berdampak buruk pada pengguna. Tentu perusahaan tidak mau menjadi viral di dunia maya karena dikritik oleh netizen Indonesia.&lt;/p&gt;

&lt;h4&gt;
  
  
  Efisiensi Biaya dan Waktu Pengembangan
&lt;/h4&gt;

&lt;p&gt;Dengan mengidentifikasi bugs/eror sedini mungkin, developer dapat memperbaiki masalah sebelum bugs tersebut bermutasi menjadi lebih kompleks, dan proses perbaikannya pun relatif lebih cepat karena ingatan developer masih sangat jelas akan kode yang belum lama dia buat.&lt;/p&gt;

&lt;h4&gt;
  
  
  Meningkatkan Keamanan
&lt;/h4&gt;

&lt;p&gt;Keamanan adalah salah satu aspek kritis dalam pengembangan perangkat lunak. Software testing pun akan menguji sis kerentanan yang dapat dieksploitasi oleh penjahat siber.&lt;/p&gt;

&lt;h4&gt;
  
  
  Memenuhi Persyaratan dan Kepatuhan Regulasi
&lt;/h4&gt;

&lt;p&gt;Dalam beberapa industri, ada persyaratan dan regulasi ketat yang harus dipenuhi oleh perusahaan. Software testing membantu memastikan bahwa perangkat lunak mematuhi standar dan persyaratan yang ditetapkan oleh badan pengatur dan pelanggan. Kepatuhan ini penting untuk menghindari denda, sanksi, dan kerugian reputasi.&lt;/p&gt;

&lt;h4&gt;
  
  
  Meraih Kepuasan Pelanggan
&lt;/h4&gt;

&lt;p&gt;Software yang telah diuji secara menyeluruh cenderung lebih andal, efisien, dan mudah digunakan. Hal ini berarti bahwa pengguna akan memiliki pengalaman yang lebih baik saat menggunakan perangkat lunak, yang pada gilirannya akan meningkatkan kepuasan pelanggan.&lt;/p&gt;

&lt;h3&gt;
  
  
  Redaksional :
&lt;/h3&gt;

&lt;p&gt;Fachrul Choliluddin | QA Engineer ex-Gojek, YC S21 Uni Emirate&lt;br&gt;
Andria Sufy | QA Engineer at CODEX Telkom&lt;/p&gt;

</description>
      <category>qa</category>
      <category>testing</category>
      <category>softwareengineering</category>
      <category>testdev</category>
    </item>
    <item>
      <title>Fundamentals of Kafka</title>
      <dc:creator>Lana</dc:creator>
      <pubDate>Mon, 03 Jul 2023 07:34:43 +0000</pubDate>
      <link>https://dev.to/lanamaulanna/fundamentals-of-apache-kafka-1hgg</link>
      <guid>https://dev.to/lanamaulanna/fundamentals-of-apache-kafka-1hgg</guid>
      <description>&lt;p&gt;Kafka awalnya dikembangkan di LinkedIn, dan kemudian dijadikan open-source pada awal 2011. Jay Kreps, Neha Narkhede dan Jun Rao membantu menciptakan Kafka yang kemudian meninggalkan LinkedIn untuk membangun Confluent.&lt;/p&gt;

&lt;p&gt;Jay Kreps memilih untuk menamai perangkat lunak tersebut dengan nama penulis Franz Kafka karena itu adalah &lt;strong&gt;“sistem yang dioptimalkan untuk penulisan”&lt;/strong&gt;, dan dia menyukai karya Kafka.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxejar3eslzsvugjs6atc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxejar3eslzsvugjs6atc.jpg" alt="Image description" width="800" height="643"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Franz Kafka adalah seorang novelis bahasa Jerman yang bepengaruh pada abad 20.&lt;/p&gt;

&lt;p&gt;Kafka dilahirkan dalam keluarga kelas menengah Jerman-Yahudi di Praha, ibu kota Kerajaan Bohemia, yang saat itu merupakan bagian dari Kekaisaran Austro-Hongaria, sekarang ibu kota Republik Ceko.&lt;/p&gt;

&lt;h2&gt;
  
  
  Konsep Dasar Kafka
&lt;/h2&gt;

&lt;p&gt;Conceptual Diagram&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F605045tf9swuioho1a9k.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F605045tf9swuioho1a9k.jpg" alt="Image description" width="800" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Apache Kafka adalah implementasi kerangka software bus menggunakan stream-processing. Apache Kafka juga merupakan proyek open-source yang dikembangkan oleh Apache Software Foundation yang ditulis menggunakan bahasa pemrograman Scala dan Java.&lt;/p&gt;

&lt;p&gt;Perhatikan tulisan tebal diatas? yang ini &lt;strong&gt;“sistem yang dioptimalkan untuk penulisan”&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Kafka akan menyimpan data secara berkelanjutan dan tidak ada proses hapus data. Data yang disimpan didalam Kafka akan memiliki ID masing-masing dengan timestamp yang incremental.&lt;/p&gt;

&lt;p&gt;Tipe data yang bisa disimpan di Kafka itu bisa teks atau binary. Tipe data teks bisa menyimpan berbagai macam format seperti JSON, CSV, dan lain sebagainya.&lt;/p&gt;

&lt;p&gt;Kafka adalah suatu platform event streaming terdistribusi yang memungkinkan kita untuk membaca, menulis, menyimpan dan memproses suatu events (records atau messages) dari berbagai mesin.&lt;/p&gt;

&lt;p&gt;Menurut dokumentasi resmi Kafka. Kafka bisa digunakan untuk berbagai macam hal sebagai berikut:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Messaging&lt;/li&gt;
&lt;li&gt;Website Activity Tracking&lt;/li&gt;
&lt;li&gt;Metrics&lt;/li&gt;
&lt;li&gt;Log Aggregation&lt;/li&gt;
&lt;li&gt;Stream Processing&lt;/li&gt;
&lt;li&gt;Event Sourcing&lt;/li&gt;
&lt;li&gt;Commit Log&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Berikut Konsep dasar dari hirarki Kafka:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkh0bia5buxx131uh1ix8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkh0bia5buxx131uh1ix8.png" alt="Image description" width="686" height="487"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Producers adalah aplikasi yang mengirimkan pesan ke server Kafka. Suatu server Kafka dapat menerima pesan dari satu atau lebih producer&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Clusters adalah tempat virtual dimana sekumpulan brokers dikelompokan. Server Kafka dapat memiliki satu atau lebih cluster untuk mendukung scalability, high availability dan fault-tolerant&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Brokers adalah komponen pada suatu server kafka yang bertugas menerima dan memberikan pesan. Dalam suatu clusters bisa terdapat banyak brokers&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Topics adalah tempat dimana pesan-pesan dikelompokan. Dalam satu brokers bisa terdapat banyak topic&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Partitions adalah pembagian penyimpanan pesan dalam suatu topics. Partisi digunakan untuk meningkatkan scalability dan peformance. Dimana setiap partisi dapat di tangani oleh suatu consumers tertentu. Satu topics bisa memiliki satu atau lebih partitions&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Offset adalah posisi terakhir dari suatu urutan pesan yang masuk ke dalam suatu partisi di dalam topik&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Messages, Records adalah pesan atau struktur pesan yang tersimpan dalam suatu topic&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Key, Value, Timestamp, biasanya didalam setiap pesan yang tersimpan di topic terdapat informasi key, value dan timestamp. Key bersifat opsional sedangkan value adalah isi dari pesan dan timestamp menunjukan waktu pesan dimasukan kedalam topik/partisi&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Consumer Groups adalah sekumpulan consumer yang mengambil pesan dari suatu topik. Consumer di dalam consumer grup dipastikan akan mendapatkan pesan sesuai dengan jumlah partisinya. Misal ada 3 partisi dalam suatu topik, lalu ada 2 consumers dalam suatu consumer groups, maka 1 consumer akan mengambil pesan dari 1 partisi, dan 1 consumer lagi akan mengambil pesan dari 2 partisi. Jika jumlah consumer lebih banyak dari jumlah partisi, maka akan ada consumer yang idle atau tidak pernah mendapatkan pesan. Satu consumer group dapat memiliki satu atau lebih consumer&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Consumers adalah aplikasi yang berfungsi untuk menarik data dari server Kafka pada suatu topik tertentu.&lt;br&gt;
Suatu aplikasi bisa berperan sebagai producer sekaligus consumer.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Redaksional :
&lt;/h3&gt;

&lt;p&gt;eBook &lt;a href="https://www.confluent.io/resources/kafka-the-definitive-guide-v2/"&gt;https://www.confluent.io/resources/kafka-the-definitive-guide-v2/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.confluent.io/resources"&gt;https://www.confluent.io/resources&lt;/a&gt;&lt;br&gt;
&lt;a href="https://kafka.apache.org/quickstart"&gt;https://kafka.apache.org/quickstart&lt;/a&gt;&lt;br&gt;
&lt;a href="https://kafka.apache.org/documentation/#quickstart"&gt;https://kafka.apache.org/documentation/#quickstart&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kafka</category>
      <category>confluent</category>
      <category>data</category>
      <category>stream</category>
    </item>
  </channel>
</rss>
