menu

Articles 474 19

  • k8s Sunday, 9/Apr/2023 Working with Deployment object

    #devops
    #orchestration
    #kubernetes
    #workloads

    Hai semuanya, materi sebelumnya kita sudah mencoba menggunakan Kubernetes workload resources dengan Object Deployment yang paling simple. Sekarang kita akan membahas yang lebih detail tentang Object Deployment. Karena pembahasan kali ini lumayan panjang jadi kita bagi2 jadi beberapa bagian diantaranya:

    1. What is Deployment Object?
    2. Create a Deployment
    3. Interaction with Deployment object

    Okay tanpa berlama-lama yuk langsung aja kita bahas materi yang pertama:


    Lanjut membaca...
  • k8s Sunday, 26/Feb/2023 Study cases: Microservice apps (Springboot Rest API)

    #devops
    #orchestration
    #kubernetes
    #pods

    Hai semuanya, di materi study cases untuk Pod and Container specification kali ini adalah lanjutan dari sebelumnya yang lebih advanced lagi yaitu Create and build microservices dengan framework Springboot Rest API dengan architecture seperti berikut:

    architecture-deploy

    Okay nah terlihat sedikit berbeda dengan application monolith sebelumnya, disini setiap service akan saling berkomunikasi dengan menggunakan protocol yang lightweight (ringan) seperti Rest API, grpc, messaging bus, database shared dan lain-lain. Pada study kasus kali ini terlihat pada diagram tersebut masih menggunakan physical / virtual-machine deployement kita akan migrasikan menggunakan orchestration container system dengan Kubernetes. Adapun tahap-tahap yang perlu kita lakukan yaitu

    1. Develop aplikasi
    2. How code works (Code Review)
    3. The new architecture for orchestration container system
    4. Containerize apps
    5. Deploy to Kubernetes
      1. Running as a Pod with namespace
      2. Connecting other service from the another namespace
      3. Specify container probes (health check)
      4. Specify resource request and limit
    6. Implement API Gateway using nginx reverse proxy

    Ok tanpa berlama-lama yuk langsung aja kita bahas materi yang pertama:


    Lanjut membaca...
  • nutanix-ahv Sunday, 5/Feb/2023 Welcome to the Nutanix HCF (Hybrid Cloud Fundamental)

    #cloud-computing
    #hyper-converged-infrastructure
    #nutanix

    Hai semuanya, selamat datang di kelas ‘SRE - Nutanix AHV untuk Pemula sampai Mahir’ di section pertama kali ini kita akan membahas technology yang biasanya digunakan oleh team Infra/Operation yaitu Hyperconverged Infrastructure.

    Nah dengan kecanggihan teknology jaman sekarang, technologies dapat membantu mendorong kemajuan suatu perusahan dalam meningkatan performa dalam menentukan goals. Selain itu juga dengan technology perusahaan dapat menentukan flexibility, choice, agility, and cost efficiency supaya memastikan bahwa perusahaan tersebut bisa competitive in the marketplace and innovate, bringing new services and products to their customers faster than ever.

    Okay untuk memenuhi semua tantangan tersebut, jadi kita akan membahas dari yang funamental yaitu The Nutanix Cloud Fundamental cource, it designed for familiarize the features, components and capabilities of Nutanix cluster as if this was your first week on the job with a freshly installed Nutanix cluster. Sebelum kita mulai practice lab dengan Nutanix cluster kita akan bahas dulu

    1. What is Nutanix?
    2. What we can do with Nutanix?
    3. Why Nutanix?

    Okay tanpa berlama-lama yuk langsung aja kita bahas materi yang pertama:


    Lanjut membaca...
  • nutanix-ahv Saturday, 4/Feb/2023 Silabus SRE - Nutanix AHV: Pemula sampai Mahir

    #cloud-computing
    #hyper-converged-infrastructure
    #nutanix

    Hai semuanya, di cource ini kita akan membahas salah satu Profesi IT yaitu Site Reliability Engineering atau yang biasa kita kenal dengan SRE Engineer terkait dengan Nutanix HCI (Hyper-Converged Infrastructure).

    Mungkin dari temen-temen masih asing atau mungkin sudah pernah mendengar istilah SRE Engineer tetapi gak teralu mengerti seperti apa profesi tersebut, Di instrustri IT khususnya tech company banyak sekali loh profesi-profesi selain programmer yang relate dengan IT salah satunya adalah Site Reliability Engineering. Nah terus apasih Site Reliability Engineering?

    Site Reliability Engineering atau singkatan dari SRE adalah salah satu pekerjaan di bidang IT yang specialis menangani reliabilitas suatu aplikasi atau software agar bisa berjalan dengan baik pada suatu infrastruktur yang sesuai.


    Lanjut membaca...
  • k8s Tuesday, 17/Jan/2023 What is Workload Resources?

    #devops
    #orchestration
    #kubernetes
    #workloads

    Hai semuanya, sebelum kita mulai menggunakan Workload Resources ada baiknya kita lihat dulu apa sih itu Workload Resources secara definisi dan pemahaman. Karena kebanyak orang tidak memahami dan juga salah menggunakan/menentukan object workload resource yang tepat maka akan menyebabkan problem di kemudian hari. Maka dari itu disini kita bahas

    1. What is Kubernetes Workloads?
    2. Types of workloads
    3. How to working with Workload resources?
    4. Getting started with Workload Resources

    Ok langsung aja kita bahas materi yang pertama


    Lanjut membaca...
  • k8s Tuesday, 17/Jan/2023 Overview Kubernetes Workloads resources

    #devops
    #orchestration
    #kubernetes
    #workloads

    Hai semuanya, setelah kita membahas tentang Pod and Container specification, dan juga study cases selanjutnya kita akan bahas Kubernetes Workload Resources atau kebanyakan orang menggunakan istilah Kubernetes Resource Controller API.

    Pada Kubernetes Workload Resources ini, sangat berguna sekali untuk memange object pod dalam suatu kubernetes cluster seperti Update pod specification, handle replications (scaling up & down), Stateless & Stateful workload, Handle cronjob dan lain-lain.

    Adapun yang kita akan bahas terkait Workload Resources diantaranya:


    Lanjut membaca...
  • postgresql Sunday, 15/Jan/2023 Getting started with Transaction Control (TCL)

    #rdbms
    #postgresql
    #sql
    #tcl

    Hai semuanya, sekarang kita akan membahas tentang Transaction Language Control atau singkatanya TCL, dimana transaction control ini adalah salah satu feature di Relational Database Management System (RDBMS) yang secara umum digunakan untuk mengelompokan sekumpulan query yang akan dikirimkan ke database server secara atomic, consistent, isolated dan durable.

    Untuk lebih jelasnya, yuk kita bahas secara lebih detail. Adapun materi yang akan kita bahas kali ini adalah

    1. Default Transaction Control behavior
    2. Using Commit clause
    3. Using Rollback clause
    4. Using Savepoint clause

    Ok tanpa berlama-lama yuk langsung aja kita bahas materi yang pertama:


    Lanjut membaca...
  • postgresql Saturday, 14/Jan/2023 Overview of Concurrency Control

    #rdbms
    #postgresql
    #sql
    #tcl

    Hai semuanya, setelah kita mempelajari perintah Select statement, dan Data Manipulation language ada satuhal lagi yang kita perlu kita pelajari yaitu Concurrent Control. Conncurrent control ini berfungsi untuk Mengatur behavior dari Database Server terkait multiple access seperti multiple query, transaction, multiple session execute at the same time on same database.

    Jika pada materi sebelumnya kita hanya menggunakan simple query dan di execute secara singleton. Bagaimana jika saya memiliki contoh ilustrasi seperti berikut:

    flow-bisnis-transaction

    Jadi pada contoh kasus tersebut, kita memiliki system untuk transfer saldo dari rekening A ke rekening B. Jika kita gambarkan yang pasti kita harus melakukan beberapa query dan harus memiliki suatu mekanisme jika suatu proses tersebut gagal. Dimana query kita execute minimal adalah

    1. Inquery rekening tujuan
    2. Inquery saldo rekening sumber
    3. Update saldo rekening A dengan menggurangi sejumlah yang di transfer
    4. Update saldo rekening B dengan menambah sejumlah yang di transfer
    5. Insert Data transaksi ke tabel journal

    Jika pada saat proses no 4 gagal, bisa di banyangkan apa yang terjadi???

    Yup betul saldo rekening A kok berkurang tapi saldo di rekening tujuan tidak bertambah trus kemana uangnya?. maka dari itu proses tersebut harus dihandle dengan system transaction seperti commit, rollback dan lain-lain.

    Nah system transaction tersebut adalah bagian dari Concurrent Control, Jadi kita akan bahas lebih detail seperti berikut:


    Lanjut membaca...
  • postgresql Saturday, 14/Jan/2023 Time your practice (part 3)

    #rdbms
    #postgresql
    #sql
    #dml

    Hai semuanya di materi sebelumnya kita sudah membahas perintah Data manipulation language sepertin INSERT, UPDATE, DELETE beserta combinasi antara SELECT dan DML tersebut, nah supaya temen-temen memahami materi yang telah saya sampaikan saatnya temen-temen untuk latihan / mengerjakan soal yang saya berikan seperti berikut:


    Lanjut membaca...
  • postgresql Sunday, 8/Jan/2023 Cleanup Data from Table

    #rdbms
    #postgresql
    #sql
    #dml

    Hai semuanya, Selain INSERT, UPDATE dan DELETE statement ada juga beberapa task seperti cleanup data/storage pada database PostgreSQL dengan menggunakan perintah TRUNCATE dan VACUUM.

    Ok jadi langsung aja kita bahas materi yang pertama:


    Lanjut membaca...
  • k8s Monday, 19/Dec/2022 Study Cases: Monolith apps (Laravel Web MVC)

    #devops
    #orchestration
    #kubernetes
    #pods

    Hai semuanya, di materi study cases untuk Pod dan Container specification kita coba create, and build aplikasi monolith dengan framework Laravel Web MVC (Model View Controller) dengan architecture seperti berikut:

    architecture mvc

    Mengapa kita membahas ini, seperti yang temen-temen ketahui hampir 85% aplikasi yang ada masih menggunakan architecture tersebut, mungkin dari beberapa temen-temen pernah mengalami begitu aplikasi tersebut diakses secara public atau banyak orang mengakases aplikasi terasa lambat dalam mereseponse atau tiba-tiba mati (downtime) hal ini penyebabnya bisa macam-macam tapi salah satu penyebabnya adalah server tidak mampu menghandle request yang masuk sehingga menyebabkan performa dari aplikasi menurun.

    Sebetulnya ada banyak solusi dari masalah tersebut, misalnya

    1. Replikasi aplikasi
    2. Cloning server (node) baik berbentuk virtual maupun physical

    Kubernetes memprovide solusi terserbut dengan High Availablity, Self Healing, Auto scaling dan lain-lain. So jadi kita akan migrasikan aplikasi terserbut supaya bisa jalan di atas kubernetes dengan tujuan untuk memudahkan di maintanance secara operational, mudah di scale up and down serta meningkatkan zero down time. Adapun step by step yang akan kita lakukan adalah

    1. Develop aplikasi
    2. Containerize apps
    3. Deploy to Kubernetes
      1. Running as a Pod
      2. Specify resource request and limit
      3. Using configmap and secret for connect to a database
      4. Using initContainer to migrate db
      5. Specify container probes (health check)

    Ok tanpa berlama-lama yuk langsung aja ke pembahasan yang pertama.


    Lanjut membaca...
  • k8s Monday, 28/Nov/2022 Overview Study Cases: Pod and Containers

    #devops
    #orchestration
    #kubernetes
    #pods

    Hai semuanya, Setelah kita membahas secara mendetail terkait Pod and Container specification di Kubernetes sekarang saatnya kita lansung mencoba study cases dengan beberapa skenario yang sudah saya rangkum dari beberapa pengalaman saya dan juga beberapa referensi sertifikasi yang mengacu ke CKAD (Certified Kubernetes Application Developer) yaitu


    Lanjut membaca...
  • k8s Saturday, 19/Nov/2022 Pod Disruptions

    #devops
    #orchestration
    #kubernetes
    #pods

    Hai semuanya, sebelumnya kita sudah membahas secara detail tentang Pod Specification selanjutnya jika kita mau membuat aplikasi yang support dengan Highly Available containers pada kubernetes kita harus memahami System yang namanya Distruption dan juga beberapa cluster administration upgrading and autoscaling clusters.

    So karena pembahasannya ini akan lumayan panjang jadi kita akan bagi-bagi menjadi beberapa bagian diantaranya:

    1. Voluntary and involuntary disruptions
    2. Pod disruption budgets
    3. Pod disruption conditions

    Ok tanpa berlama-lama yuk lansung aja kita bahas materi yang pertama:


    Lanjut membaca...
  • postgresql Monday, 10/Oct/2022 Prepared Statement in SQL

    #rdbms
    #postgresql
    #sql
    #dml

    Hai semuanya, di materi kali ini kita akan membahas tentang Prepared Statement pada SQL, feature ini biasanya hanya bisa digunakan pada Bahasa Pemograman yang menggunakan API seperti JDBC di Java, pdo di PHP dan lain-lain, Nah tetapi di PostgreSQL Database kita bisa terapkan secara directly pada query SQL baik untuk select, insert, update dan delete. Perintah sqlnya seperti berikut:

    PREPARE name [ ( data_type [, ...] ) ] AS statement

    Dan untuk menjalankan perintanya kita bisa menggunakan perintah seperti berikut:

    EXPLAIN EXECUTE name(parameter_values);

    Jadi dengan kita mendefined prepared query tersebut, kita bisa meng-execute multiple times dengan parameter yang berbeda. Pada implemetasinya kita bisa gunakan untuk:

    1. Create a Prepared statement for INSERT, UPDATE, DELETE
    2. Show all prepared statement
    3. Remove prepared statement from a session.
    4. Create input parameterized with text editor (Jetbraints Database)

    Ok tanpa berlama-lama kita bahas kemateri yang pertama:


    Lanjut membaca...
  • postgresql Saturday, 8/Oct/2022 Deep dive into DELETE statement

    #rdbms
    #postgresql
    #sql
    #dml

    Hai semuanya, Setelah kita membahas tentang Update statement perintah selanjutnya yang kita perlu perlajari untuk menghapus data pada suatu tabel yaitu DELETE statement. Terkiat perintah delete yang temen-temen telah pelajari sebelumnya hanya sekilas saja sebetulnya secara mendetail perintah delete seperti berikut:

    [ WITH [ RECURSIVE ] with_query [, ...] ]
    DELETE FROM [ ONLY ] table_name [ * ] [ [ AS ] alias ]
        [ USING from_item [, ...] ]
        [ WHERE condition | WHERE CURRENT OF cursor_name ]
        [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]

    Jika temen-temen perhatikan ada beberapa feature dan yang kita bisa gunakan seperti:

    1. Delete with USING from_item clause
    2. Delete using RETURNING
    3. Delete using WITH queries

    Ok tanpa berlama-lama jadi lansung aja bahas materi yang pertama:


    Lanjut membaca...
  • postgresql Monday, 3/Oct/2022 Deep dive into UPDATE Statement

    #rdbms
    #postgresql
    #sql
    #dml

    Hai semuanya, setelah kita membahas Insert Statement perintah selanjutnya yang kita perlu perlajari adalah merubah data pada suatu tabel dengan menggunakan perintah UPDATE statement. Seperti yang temen-temen telah pelajari Perintah UPDATE statement yang telah bahas sebelumnya masih hal yang simple, sebetulnya secara syntax perintahnya seperti berikut:

    [ WITH [ RECURSIVE ] with_query [, ...] ]
    UPDATE [ ONLY ] table_name [ * ] [ [ AS ] alias ]
        SET { column_name = { expression | DEFAULT } |
              ( column_name [, ...] ) = [ ROW ] ( { expression | DEFAULT } [, ...] ) |
              ( column_name [, ...] ) = ( sub-SELECT )
            } [, ...]
        [ FROM from_item [, ...] ]
        [ WHERE condition | WHERE CURRENT OF cursor_name ]
        [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]

    Nah jadi jika kita perhatikan ada beberapa clause yang kita bisa digunakan diantaranya:

    1. UPDATE using DEFAULT value clause
    2. UPDATE using sub-SELECT clause
    3. UPDATE using column-list syntax
    4. UPDATE using WITH clause
    5. UPDATE using FROM clause
    6. UPDATE using RETURNING clause

    Nah jadi akan lebih enak jika kita break-down untuk pembahasanya masing-masing feature tersebut.


    Lanjut membaca...
  • docker Sunday, 11/Sep/2022 Getting started with Ansible role, tasks for docker

    #devops
    #docker

    Hai semuanya, setelah sebelumnya kita menyiapkan environment seperti Ansible Controller node dan Managed node dengan Virtual Machine sekarang kita akan membahas beberapa IT Automation dengan meggunakan Ansible khususnya terkait dengan Docker operation yaitu

    1. Install Docker engine with ansible role dimmaryanto93.docker
    2. Manage docker image using ansible docker_image module
    3. Running a container using ansible docker_container module
    4. Execute a container using ansible docker_container_exec module
    5. Manage multi-container Docker applications with Docker Compose using ansible docker_compose module

    Ok tanpa berlama-lama yuk lansung aja kita bahas materi yang pertama


    Lanjut membaca...
  • docker Sunday, 11/Sep/2022 Setup Ansible Control and Managed Nodes

    #devops
    #docker
    #ansible
    #study-cases

    Hai semuanya, sebelum kita mulai ada beberapa hal yang perlu kita siapkan yaitu Ansible CLI dan Text editor seperti VS Code, Vim dan Terminal. Adapun materi yang akan dibahas kali ini yaitu

    1. Install Ansible CLI for MacOs users
    2. Install Ansible CLI for Linux users
    3. Install Ansible CLI for Windows users
    4. Create Virtual machine for Managed node
    5. Create ansible inventory and testing using ad-hoc commanline

    Ok tanpa berlama-lama yukk langsung aja kita bahas materi yang pertama:


    Lanjut membaca...
  • docker Saturday, 10/Sep/2022 IT Automation Platform for Docker Operations

    #devops
    #docker

    Hai semuanya di materi kali ini kita akan membahas salah satu topic yang lumayan menarik dikalangan DevOps yaitu IT Automation khususnya untuk Docker Operation diantaranya:

    1. What is IT Automation?
    2. What IT automation is used for?
    3. What kind a tools for IT automation?
    4. What is RedHat Ansible?

    Ok langsung aja kita bahas materi yang pertama:


    Lanjut membaca...
  • docker Saturday, 10/Sep/2022 Overview Study cases: IT Automation Platform for Docker Operations

    #devops
    #docker
    #ansible
    #study-cases

    Hai semuanya, sebelumnya kita udah membahas tentang Multiple docker host di local menggunakan docker-machine. Seperti yang temen-temen ketahui docker-machine yang sudah deprecated dan juga biasanya hanya digunakan untuk Local Development. Sekarang kita akan meng-automate deployment Docker host di physical machine atau virtual machine menggunakan IT Automation Platform yaitu Red Hat Ansible.

    Ok materi yang akan kita bahas di section kali ini tidak akan terlalu men-detail mengenai RedHat Ansible melainkan penggunaannya terkait Docker operation ya, jika temen-temen tertarik lebih detail mengenai IT Automation dengan RedHat Ansible nanti saya akan buatkan kelas tersendiri :)

    Jadi materinya yang akan kita bahas yaitu


    Lanjut membaca...
  • postgresql Sunday, 4/Sep/2022 Deep dive into INSERT Statement

    #rdbms
    #postgresql
    #sql
    #dml

    Hai semuanya, pada materi sebelumnya kita sudah membahas sedikit tentang Data Manipulation language atau di singkat DML. Nah sekarang kita akan bahas lebih detail khususnya untuk perintah INSERT yang telah kita pelajari di materi sebelumnya hanyalah simple sebetulnya secara syntax perintahnya seperti berikut:

    [ WITH [ RECURSIVE ] with_query [, ...] ]
    INSERT INTO table_name [ AS alias ] [ ( column_name [, ...] ) ]
        [ OVERRIDING { SYSTEM | USER } VALUE ]
        { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }
        [ ON CONFLICT [ conflict_target ] conflict_action ]
        [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
    
    where conflict_target can be one of:
    
        ( { index_column_name | ( index_expression ) } [ COLLATE collation ] [ opclass ] [, ...] ) [ WHERE index_predicate ]
        ON CONSTRAINT constraint_name
    
    and conflict_action is one of:
    
        DO NOTHING
        DO UPDATE SET { column_name = { expression | DEFAULT } |
                        ( column_name [, ...] ) = [ ROW ] ( { expression | DEFAULT } [, ...] ) |
                        ( column_name [, ...] ) = ( sub-SELECT )
                      } [, ...]
                  [ WHERE condition ]

    Nah jadi jika kita perhatikan ada beberapa clause yang kita bisa gunakan diantaranya:

    1. Insert with specific columns and data type
    2. Insert with DEFAULT VALUE
    3. Insert single and multiple rows
    4. Insert with ON CONFLICT
    5. Insert with OVERRIDING keyword
    6. Using with query in INSERT statement
    7. Error message on insert statement

    Nah lumayan banyak dan panjang juga ya ternyata untuk perintah insert yang kita bisa gunakan, jadi kita akan coba break-down aja ya masing-masing feature:


    Lanjut membaca...
  • postgresql Monday, 15/Aug/2022 Basic Create, Update, Delete statement

    #rdbms
    #postgresql
    #sql
    #dml

    Hai semuanya di materi kali ini kita akan membahas basic dari Create, Update dan Delete statement di PostgreSQL. Adapun pembahasanya diantaranya:

    1. Insert statement
    2. Update statement
    3. Delete statement
    4. Returning data from modified rows

    Ok tanpa bercerita panjang lebar, lansung aja kita bahas materi yang pertama:


    Lanjut membaca...
  • postgresql Monday, 8/Aug/2022 Overview of Data Manipulation Language (DML)

    #rdbms
    #postgresql
    #sql
    #dml

    Hai semuanya, di materi kali ini kita akan membahas tentang Data Manipulation Language atau singkatannya DML. Untuk pembahasanya sendiri pada section ini diantaranya:

    1. Insert Data
    2. Update Data
    3. Delete Data
    4. Returning Data from modified Rows

    Lanjut membaca...
  • postgresql Monday, 8/Aug/2022 Time your practice (part 2)

    #rdbms
    #postgresql
    #sql
    #select

    Hai semuanya di materi sebelumnya kita sudah membahas beberapa hal basic sepert SQL Select statement, build-in Functions and Operators, WHERE clause, dan limit serta offset. Untuk memahami materi sebelumnya saatnya temen-temen untuk mencoba dengan mengerjakan soal seperti berikut:


    Lanjut membaca...
  • postgresql Monday, 8/Aug/2022 WITH Queries (Common Table Expressions)

    #rdbms
    #postgresql
    #sql
    #select

    Hai semuanya, di materi kali ini kita akan membahas tentang Common Table Expression yaitu menggunakan WITH Queries pada PostgreSQL. Karena pembahasan kali ini akan lumayan panjang jadi kita akan bagi-bagi menjadi beberapa bagian diataranya:

    1. Select in WITH
    2. More details using Select in WITH
    3. Recursive Queries
    4. Search order
    5. Cycle Detection

    Ok langsung aja kita bahas materi yang pertama


    Lanjut membaca...