Pelatihan .NET Microservices

Pada tanggal 14 – 17 Maret 2023 telah diadakan pelatihan dengan topik .NET Microservices. Peserta dari pelatihan ini adalah tim pengembang dari PT Sanghiang Perkasa (KALBE Nutritionals). Pelatihan ini dilaksanakan secara online via Microsoft Teams.

Microservices adalah architecture yang saat ini populer digunakan sebagai model dalam pembuatan aplikasi cloud yang modern. Di dalam microservices setiap aplikasi di bangun sebagai sekumpulan service dan setiap layanan berjalan dalam prosesnya sendiri. Masing-masing dari aplikasi tersebut, harus autonom dan mampu untuk saling berkomunikasi satu dengan yang lain melalui kontrak yang disepakati bersama (RESTful API, gRPC). Manfaat utama dalam mempergunakan microservices adalah agar team developer mampu mengembangkan aplikasi secara cepat dan terukur dengan membuat komponen-komponen dari aplikasi berjalan secara independen sehingga dapat memenuhi kebutuhan bisnis yang terus menerus berubah.

Pelatihan ini akan memberikan pemahaman tentang bagaimana membangun layanan microservices menggunakan .NET Core 6/7. Adapun materi yang dibahas pada pelatihan ini meliputi:

  • Introduction to Microservices Architecture
  • Limitation to monoliths
  • Challenges of Microservices
  • Architecting Microservices
  • First API with ASP.NET Core 6
  • Entity Framework Core
  • Entity Framework Migrations
  • DTO with AutoMapper
  • Data Layer & API Controllers
  • What is Container & Docker?
  • Dockerize your apps
  • Publish app to Docker Hub
  • Running your services on docker
  • Kubernetes Architecture
  • Kubernetes topics (deployment, NodePort, ClusterIP)
  • Communicating between Microservices
  • Synchronous Communication (HttpClient)
  • Resilient Communication Pattern
  • Implement retries with back-off
  • Circuit breaker
  • API Gateway / nGinx Ingress Controller
  • SQL Server Deployment (Database per Services).
  • Persistance Volume Claim, & Kubernetes Secret
  • Asynchronous Communication
  • What is Message Broker?
  • RabbitMQ Exchange, Queue, Routing Key, & Binding
  • Reactive Microservices with RabbitMQ and ASP Core
  • Reactive Microservices using MassTransit
  • Distributed Transaction & Saga Pattern
  • Delivering Microservices

Pelatihan RESTful API with ASP.NET Core 6

Pada tanggal 6-9 Maret 2023 telah diadakan pelatihan dengan topik RESTful API with ASP.NET Core 6. Peserta dari pelatihan ini adalah tim pengembang dari PT AJ Central Asia Raya (CAR Life). Pelatihan ini dilaksaksanakan secara inhouse di Wisma Car Life, Jakarta Barat.

Pelatihan ini bertujuan untuk memberikan konsep dan pengetahuan praktis tentang perancangan dan pengembangan RESTful services dengan teknologi ASP.NET Core 6. ASP.NET Core 6 sendiri adalah framework yang mendukung pengembangan aplikasi backend (RESTful) web services yang modern dari Microsoft. ASP.NET Core 6 didesain untuk kebutuhan aplikasi backend yang membutuhkan performa tinggi dan bisa digunakan diberbagai platform (Linux, Windows, Container, etc). ASP.NET Core Web API juga sangat cocok untuk berjalan pada environment cloud. ASP.NET Core Web API juga memudahkan pengembang untuk membuat aplikasi backend yang dapat digunakan untuk berbagai macam aplikasi client seperti aplikasi web (ASP MVC, React, Blazor)  dan aplikasi mobile (Android, Ios, Xamarin Cross Platform).

Adapun materi yang disampaikan pada pelatihan ini adalah sebagai berikut:

  • Introduction to .NET 6 & ASP.NET Core 6
  • MVC Pattern
  • Designing RESTful API
  • Creating the API and Returning Resources
  • Manipulating Resources and Validating Input
  • Working with Services and Dependency Injection
  • HTTP Status Code
  • Outer Facing vs Entity Model
  • DTO & Automapper
  • Filtering & Searching
  • Micro ORM with Dapper
  • Entity Framework Core
  • EF Migrations
  • Validating Data & Reporting Error
  • ASP.NET Security (ASP.NET Identity)
  • Authentication & Authorization
  • JWT (JSON Web Token)
  • JWT and ASP.NET Identity Integration
  • Claim based auth
  • Deployment to Cloud Services
  • Deploy API on container
  • Consuming RESTful API

Pelatihan Sharepoint Online & Microsoft Power Platform

Pada tanggal 19-21 Desember 2023 telah diadakan pelatihan dengan topik SharePoint Online & MS Power Platform. Peserta dari pelatihan ini adalah power user dari department Information System (ISD), PT EPSON Batam.

Pada pelatihan ini peserta akan mempelajari konsep basic dan intermediate dari SharePoint Online. Pertama peserta akan mempelajari basic navigation dari SharePoint Site, kemudian dilanjutkan dengan eksplorasi penggunaan fitur News, Post, Libraries, List, dan Quick Link agar dapat melakukan pengaturan task dan kolaborasi informasi. Selain itu peserta juga diajak untuk mempelajari lebih dalam terkait dengan fitur yang lebih advanced dari SharePoint Online seperti konfigurasi SharePoint Site, user permission, content types dan retention policies. Di akhir pembelajaran peserta juga mempelajari cara integrasi dengan layanan lain yang ada di Office 365 seperti Microsoft Teams, dan Microsoft Power Platforms (Power Apps, dan Power Automate). Power Automate digunakan untuk membuat automasi proses bisnis, sedangkan Power Apps digunakan untuk membuat aplikasi web & mobile secara mudah dengan menggunakan kode yang sangat minimal (low code).

Pelatihan REST API Security (PT Pamapersada)

Pada tanggal 29 November -1 December 2022 telah dilaksanakan pelatihan dengan topik REST API Security. Peserta dari pelatihan ini adalah software architect dari department Strategic Information System, PT Pamapersada Nusantara. Pelatihan ini dilangsungkan di Actual Training, Yogyakarta.

Dengan semakin popular nya aplikasi mobile, backend services, dan penerapan arsitektur microservices maka pengetahuan tentang bagaimana cara mengamankan aplikasi khususnya REST API semakin dibutuhkan, sehingga dapat meminimalkan serangan yang mungkin terjadi pada aplikasi backend yang kita kembangkan.

Tujuan dari pelatihan ini adalah membahas berbagai macam serangan dan ancaman keamanan pada aplikasi backend berbasis REST API.

Adapun materi yang disampaikan pada pelatihan REST API Security ini adalah sebagai berikut:

  • The Age of the API
  • The Hidden Nature of API Security
  • What Exactly Is an API?
  • What’s the Scope of This Course?
  • Introducing Supercar Showdown
  • Introducing the Vulnerable Mobile App
  • Discovering Device Communication With APIs
  • Who Are We Protecting Our APIs From?
  • Proxying Device Traffic Through Fiddler
  • Interpreting Captured Data in Fiddler
  • Intercepting Mobile App Data in Fiddler
  • Discovering More About Mobile Apps via Fiddler
  • Filtering Traffic in Fiddler
  • Alternate Traffic
  • Interception Mechanisms
  • Discovering Leaky APIs
  • Securing a Leaky API
  • Discovering Hidden APIs via Documentation Pages
  • Discovering Hidden APIs via robots.txt
  • Discovering Hidden APIs via Google
  • Securing Hidden API
  • Defining Untrusted Data
  • Modifying Web Traffic in Fiddler
  • Manipulating App Logic by Request Tampering
  • Response Tampering
  • API Authentication and Authorization Vulnerabilities
  • Introduction
  • Identifying Authentication Persistence
  • The Role of Tokens
  • An Auth Token in Practice
  • An Overview of Authorization Controls
  • Identifying Client Controls vs. Server Controls
  • Circumventing Client Authorization Controls
  • Testing for Insufficient Authorization
  • Testing for Brute Force Protection
  • OWASP API Security Top 10 goals
  • Broken Object Level Authorization
  • Broken User Authentication
  • Excessive Data Exposure
  • Lack of Resources and Rate Limiting
  • Broken Function Level Authorization
  • Mass Assignment
  • Security Misconfiguration
  • Injection Module Watched
  • Improper Assets Management
  • Insufficient Logging and Monitoring
  • Secure Coding with OWASP Resources
  • OWASP ASVS
  • Authentication
  • Session Management
  • Access Control
  • Securely Handling Input and Output Data
  • Protecting Sensitive Data
  • Secure Error Handling and Logging
  • Managing Vulnerable Dependencies
  • Protecting the Business Logic
  • Handling Untrusted Files
  • Hardening Configuration

Pelatihan Microservices Architecture with .NET Core

Pada tanggal 5 – 8 September 2022 telah diadakan pelatihan dengan judul Microservices Architecture with .NET Core. Peserta dari pelatihan ini adalah tim IT dari PT Pertamina Hulu RokanPekanbaru, Riau.

Microservices adalah suatu architecture yang dipakai sebagai model dalam pembuatan aplikasi cloud yang modern. Di dalam microservices setiap aplikasi di bangun sebagai sekumpulan service dan setiap layanan berjalan dalam processnya sendiri. Masing-masing dari aplikasi tersebut saling berkomunikasi melalu API (Application Programing Interface). Manfaat utama dalam mempergunakan microservices adalah agar team developer mampu mengembangkan aplikasi secara cepat dengan membuat komponen-komponen dari aplikasi berjalan secara independen sehingga dapat memenuhi kebutuhan bisnis yang terus menerus berubah.

Apa yang membedakan Architecture Microservices dengan pendekatan yang lebih tradisional seperti Monolithic Architecture adalah bagaimana framework ini memecah aplikasi menjadi fungsi intinya. Setiap fungsi ini disebut sebagai service, dapat dibangun dan dijalankan secara independen, yang berarti service tersebut dapat berfungsi (dan gagal) tanpa berdampak negatif pada fungsi-fungsi yang lain.

Pelatihan ini akan memberikan pemahaman tentang bagaimana membangun layanan microservices menggunakan .NET Core 6. Adapun materi yang dibahas pada pelatihan ini meliputi:

  • RESTful Web API dengan ASP.NET Core 6
  • Entity Framework Core
  • DTO with AutoMapper
  • Data Layer & API Controllers
  • Docker & ASP.NET Core 6 Image
  • Publishing to Docker Hub
  • Container Network & Linking
  • Kubernetes Architecture
  • Kubernetes (yaml, NodePort, ClusterIP)
  • Synchronous Communication between services
  • API Gateway with nGinx Ingress Controller
  • SQL Server, Persistance Volume Claim, & Kubernetes Secret
  • Asynchronous Communication with Message Bus (RabbitMQ)
  • Study Case

Pelatihan Implementing DevOps Solution with Azure DevOps

Pada tanggal 29 Agustus-1 September 2022 telah diadakan pelatihan dengan topik DevOps Solution with Azure DevOps. Peserta dari pelatihan ini adalah developer dari PT Pertamina Trans Kontinental, Jakarta.

DevOps bukan merupakan framework atau workflow. DevOps adalah budaya/culture yang modern pada dunia bisnis. DevOps memastikan kolaborasi dan komunikasi antar software engineer / developer (Dev) dan IT operations (Ops) berjalan dengan baik. Dengan DevOps perubahan membuat proses produksi lebih cepat, sumber daya lebih mudah untuk dibagikan, dan sistem berskala besar lebih mudah untuk dikelola dan dimaintain.
Pada pelatihan ini akan dibahas beberapa metodologi dan fitur yang ada pada Azure DevOps seperti Azure Boards, Azure Repository, Azure Pipeline, dan Azure Artifacts yang dapat diadopsi oleh organisasi untuk bertransformasi ke DevOps. Pada pelatihan ini juga dibahas beberapa DevOps practice seperti Continuous Integration, Continuous Delivery, Infrastructure as Code, Secure DevOps, dan Continuous Monitoring.

Adapun materi yang dibahas pada pelatihan ini adalah sebagai berikut:

  • Introduction to DevOps
  • Choose the right Project
  • Describe team structures
  • Migrate to DevOps
  • Introduction to Source Control
  • Work with Azure Repo and Github
  • Manage Git branches
  • Collaboration with pull requests in Azure Repos
  • Explore Git Hooks
  • Manage git repository
  • Identify technical debt
  • Explore Azure Pipelines
  • Manage Azure Pipeline agents and pools
  • Explore continuous integration
  • Implement a pipeline strategy
  • Integrate with Azure Pipeline
  • Design container build strategy
  • Introduction to continuous delivery
  • Create release pipeline
  • Explore release strategy recommendation
  • Provision and test environment
  • Manage and modularize task and template
  • Multi-stage YAML
  • Automate inspection of health
  • Introduction to deployment patterns
  • Implement blue-green deployment and feature toggles
  • Implement canary release and dark launching
  • Explore infrastructure as code and configuration management
  • Create Azure resource Azure Resource Manager templates
  • Create Azure resource by using Azure CLI
  • Introduction to Secure DevOps
  • Implement open source software
  • Static Analyzer
  • OWASP and Dynamic Analyzers
  • Implement tools to track usage and flow
  • Develop monitor and status dashboard

Pelatihan Data Analysis using Tableau

Pada tanggal 8-10 Agustus 2022 telah diadakan pelatihan dengan topik Data Analysis with Tableau. Peserta dari pelatihan ini adalah data analyst dari department Information System, PT EPSON Batam.

Trainer yang menyampaikan materi ini adalah Bapak Irya (Lecturer & Data Analyst Consultant), dan Ibu Tantiny Tanjung (Trainer & Data Analyst Consultant).

Tujuan dari pelatihan ini peserta mampu membuat visualisasi data untuk laporan Business Intelligence dengan contoh dari real life industri yang dapat digunakan pengambil keputusan untuk analisis data baik deskriptif, diagnostik, dan prediktif. Adapun materi yang dibahas pada pelatihan ini adalah sebagai berikut:

Modul 1: Pengantar

  • Komponen dan objek pada Tableau
  • Koneksi ke Excel File
  • Koneksi ke Text File
  • Koneksi ke MS SQL Server
  • Koneksi ke MS Analysis Services
  • Menggabungkan (Join)  Tabel
  • Data Blending

Modul 2: Report Standar Tableau

  • Parameter
  • Grouping
  • Set/Combined Set
  • Data Labels
  • Sorting
  • Menambahkan Total/Sub Totals/Grand Totals ke Report

Modul 3: Chart pada Tableau

  • Area Chart
  • Bar Chart
  • Box Plot
  • Bubble Chart
  • Bump Chart
  • Bullet Graph
  • Circle Views
  • Dual Combination Chart
  • Dual Lines Chart
  • Funnel Chart
  • Traditional Funnel Charts
  • Gantt Chart
  • Heatmap
  • Highlight Table
  • Histogram
  • Cumulative Histogram
  • Line Chart
  • Lollipop Chart
  • Pareto Chart
  • Pie Chart
  • Scatter Plot
  • Stacked Bar Chart
  • Text Label
  • Tree Map
  • Waterfall Chart
  • Geographic map
  • Filled map
  • Crosstab
  • Combines axis
  • Motion chart
  • Reference lines
  • Word Cloud
  • Waterfall Chart
  • Geographic map
  • Filled map
  • Crosstab
  • Combines axis
  • Motion chart
  • Reference lines

Modul 4: Tableau Advanced Report

  • Dual Axis Reports
  • Blended Axis
  • Individual Axis
  • Add Reference Lines
  • Reference Bands
  • Reference Distributions
  • Basic Maps
  • Symbol Map
  • Use Google Maps

Modul 5: Kalkulasi dan Filter pada Tableau

  • Calculated Fields
  • Basic Approach to Calculate Rank
  • Advanced Approach to Calculate Rank
  • Calculating Running Total
  • Filters Introduction
  • Quick Filters
  • Filters on Dimensions
  • Conditional Filters
  • Top and Bottom Filters
  • Filters on Measures
  • Context Filters
  • Slicing Filters
  • Data Source Filters
  • Extract Filters

Modul 6: Dashboard dengan Tableau

  • Create a Dashboard
  • Format Dashboard Layout
  • Create a Device Preview of a Dashboard

Pelatihan .NET Core Microservices

Pada tanggal 18-21 Juli 2022 telah diadakan pelatihan onsite dengan topik .NET Microservices. Peserta dari pelatihan ini adalah developer dari PT Focus Inti Solusi, Jakarta Selatan.

Microservices adalah suatu architecture yang dipakai sebagai model dalam pembuatan aplikasi cloud yang modern. Di dalam microservices setiap aplikasi di bangun sebagai sekumpulan service dan setiap layanan berjalan dalam processnya sendiri. Masing-masing dari aplikasi tersebut saling berkomunikasi melalu API (Application Programing Interface). Manfaat utama dalam mempergunakan microservices adalah agar team developer mampu mengembangkan aplikasi secara cepat dan mudah untuk di scale dengan membuat komponen-komponen dari aplikasi berjalan secara independen sehingga dapat memenuhi kebutuhan bisnis yang terus menerus berubah.
Apa yang membedakan Architecture Microservices dengan pendekatan yang lebih tradisional seperti Monolithic Architecture adalah bagaimana framework ini memecah aplikasi menjadi fungsi intinya. Setiap fungsi ini disebut sebagai service, dapat dibangun dan dijalankan secara independen, yang berarti service tersebut dapat berfungsi (dan gagal) tanpa berdampak negatif pada fungsi-fungsi yang lain.
Pelatihan ini akan memberikan pemahaman tentang bagaimana membangun layanan microservices menggunakan .NET Core 6. Adapun materi yang dibahas pada pelatihan ini meliputi:

  • RESTful Web API dengan ASP.NET Core 6
  • Entity Framework Core
  • DTO with AutoMapper
  • Data Layer & API Controllers
  • Docker & ASP.NET Core 6 Image
  • Publishing to Docker Hub
  • Container Network & Linking
  • Kubernetes Architecture
  • Kubernetes (yaml, NodePort, ClusterIP)
  • Synchronous Communication between services
  • API Gateway with nGinx Ingress Controller
  • SQL Server, Persistance Volume Claim, & Kubernetes Secret
  • Asynchronous Communication with Message Bus (RabbitMQ)
  • Study Case