---
title: "Blog Posts"
description: "Explore articles on AWS, DevOps, Infrastructure as Code, Lambda observability, managing dotfiles with Git, and configuring Git SSH keys for GitHub, GitLab, and Bitbucket. Enhance your developer workflows and productivity."
author: "Mohammad Abu Mattar"
canonical: https://mkabumattar.com/blog
---

# Blog Posts

108 entries.

- [Testing Terraform: Static Analysis, Native Tests, and Terratest](https://mkabumattar.com/blog/post/terraform-testing-terratest-native-tests) — A practical testing strategy for Terraform modules: the testing pyramid, tflint static analysis, native terraform test with provider mocking, Terratest integration tests in Go, safe teardown, and a GitHub Actions pipeline with OIDC.
- [tRPC: End-to-End Type-Safe APIs in TypeScript Without Codegen](https://mkabumattar.com/blog/post/trpc-end-to-end-typesafe-apis) — How tRPC gives full-stack TypeScript teams end-to-end type safety with no code generation: routers, Zod validation, React Query, auth middleware, the v11 features (FormData, SSE, streaming), and when to pick it over REST or GraphQL.
- [FinOps in Practice: How to Build a Cloud Cost Accountability Culture on AWS](https://mkabumattar.com/blog/post/finops-cloud-cost-accountability-aws) — How to run FinOps as a real practice on AWS: a lean tagging taxonomy enforced with Terraform and Organizations, automated budgets and anomaly detection, showback vs chargeback, and matching Savings Plans to your architecture roadmap.
- [QuenchWorks: A Zero-CVE, Built-From-Source Replacement for the Bitnami Catalog](https://mkabumattar.com/blog/post/quenchworks-zero-cve-bitnami-alternative-wolfi) — When Broadcom moved the free Bitnami catalog to a legacy tier, thousands of teams lost their supply of maintained, hardened container images overnight. QuenchWorks is my answer: over 150 container images and 120 Helm charts, rebuilt from source on Wolfi, scanned to zero fixable CVEs, cosign-signed, and pinned by digest. Here is why I built it and how it actually works.
- [GitHub Actions Reusable Workflows: Build a Shared CI Library Across All Your Repos](https://mkabumattar.com/blog/post/github-actions-reusable-workflows-shared-ci-library) — Learn how to simplify and secure your CI/CD at scale using GitHub Actions reusable workflows. This practical guide walks you through the differences between reusable workflows and composite actions, OIDC keyless authentication, and versioning strategies. You will also learn advanced testing methods, like "Patch-on-Test," to build a secure, fast, and centralized pipeline library your developers will love.
- [Kubernetes Networking Demystified: CNI Plugins, Network Policies, and Pod-to-Pod Communication](https://mkabumattar.com/blog/post/kubernetes-networking-cni-plugins-policies-guide) — A friendly, technical guide to Kubernetes networking. We cover how CNI plugins like Calico and Cilium work, how to write Network Policies, and how to debug those annoying connectivity issues.
- [Service Mesh Deep Dive: Istio vs. Linkerd](https://mkabumattar.com/blog/post/service-mesh-istio-vs-linkerd) — Trying to figure out service mesh? This article compares Istio and Linkerd on Kubernetes, looking at how they handle traffic, security, and more. Find out which one might be the best fit for you.
- [GitOps vs. Traditional IaC for Kubernetes: A Comparative Analysis](https://mkabumattar.com/blog/post/gitops-vs-traditional-iac-kubernetes-deployment) — Explore GitOps vs. Traditional IaC for Kubernetes. This report compares pull-based GitOps (ArgoCD, Flux) with push-based IaC (Terraform), covering workflows, drift detection, security, and rollbacks. Understand how these approaches manage Kubernetes infrastructure and application configurations for enhanced consistency and reliability.
- [Serverless Observability: A Comprehensive Guide to AWS Lambda Monitoring](https://mkabumattar.com/blog/post/aws-lambda-observability-guide) — Master AWS Lambda monitoring with this comprehensive guide to serverless observability. Learn how CloudWatch, X-Ray, and Datadog help you track performance, troubleshoot issues, and optimize costs for your serverless applications. Get practical tips and best practices for building resilient Lambda functions.
- [Designing SLOs and Error Budgets: Your Blueprint for Sustainable Reliability](https://mkabumattar.com/blog/post/designing-slos-error-budgets-reliability-blueprint) — Learn how to design effective SLOs and error budgets to balance innovation with reliability. This comprehensive guide covers SLIs, monitoring, business goals, and best practices for sustained service health.
- [Edge Computing: AWS Lambda@Edge vs. Cloudflare Workers. A Practical Guide](https://mkabumattar.com/blog/post/edge-computing-aws-lambda-at-edge-vs-cloudflare-workers-practical-guide) — Dive into edge computing with our practical guide comparing AWS Lambda@Edge and Cloudflare Workers. Discover their strengths, weaknesses, and ideal use cases for serverless, low-latency applications. Learn how these CDN-integrated platforms optimize performance for web apps and IoT, helping you choose the right solution.
- [Navigating the Future of Cloud with Multi-Cloud IaC: Pulumi and Crossplane](https://mkabumattar.com/blog/post/multi-cloud-iac-pulumi-crossplane-future-cloud) — Explore multi-cloud Infrastructure as Code with Pulumi and Crossplane. Learn how these tools enhance agility, reduce vendor lock-in, and shape the future of cloud management.
- [Building Resilient Systems: Immutable Infrastructure with Packer and Terraform](https://mkabumattar.com/blog/post/immutable-infrastructure-packer-terraform-guide) — Discover how immutable infrastructure, powered by Packer and Terraform, transforms IT. Learn to build resilient, secure, and scalable systems by replacing, not updating, your infrastructure. This guide covers core concepts, hands-on workflows, and best practices for modern DevOps.
- [Unlocking Scalability: A Comprehensive Guide to Modular Terraform for IaC](https://mkabumattar.com/blog/post/modular-terraform-scalable-iac-guide) — Master scalable Infrastructure as Code with modular Terraform. Learn best practices for design, versioning, testing, and state management to build robust, consistent, and automated cloud infrastructure.
- [Unmasking Hidden Costs: Your Guide to AWS Cost Optimization Cleanup Strategies](https://mkabumattar.com/blog/post/aws-cost-optimization-cleanup-strategies) — Unlock significant savings in AWS by implementing effective cleanup strategies. This guide covers identifying hidden costs, practical cleanup actions for EC2, EBS, S3, RDS, and more, and how to leverage automation with Cost Explorer, Cloud Custodian, and spot instances for continuous optimization. Learn to reduce waste and maximize your AWS investment.
- [Chaos Engineering: Testing Resiliency with Chaos Monkey and Gremlin](https://mkabumattar.com/blog/post/chaos-engineering-resiliency-testing-monkey-gremlin) — Master Chaos Engineering to build resilient systems. Explore how Chaos Monkey and Gremlin inject faults in AWS and Kubernetes, turning potential outages into proactive learning. Discover best practices, experiment types, and frequently asked questions for robust software testing.
- [What's the Deal with Shift-Left Security, and Why Should You Care?](https://mkabumattar.com/blog/post/shift-left-security-sast-dast-sca-cicd) — Learn how to implement shift-left security by integrating SAST, DAST, and SCA into your CI/CD pipeline. Enhance application security, reduce costs, and accelerate development with practical guidance and tool examples like SonarQube, Trivy, and OWASP ZAP.
- [Container Image Signing with Cosign: A Hands-On Guide to Secure Your Supply Chain](https://mkabumattar.com/blog/post/container-image-signing-cosign-guide) — Secure your software supply chain with Cosign. This hands-on guide covers container image signing, keyless and KMS methods, CI/CD automation, Kubernetes deployment verification, and advanced security best practices.
- [GraphRAG Explained: Building Knowledge-Grounded LLM Systems](https://mkabumattar.com/blog/post/graphrag-explained-building-knowledge-grounded-llm-systems) — Think of GraphRAG as the "detective" upgrade for AI. Learn how using Knowledge Graphs helps LLMs connect distant dots, stop hallucinations, and reason through complex data in ways standard RAG just can't.

- [The Resilience of Timbernetes: A Comprehensive Analysis of In-Place Pod Vertical Scaling in Kubernetes 1.35](https://mkabumattar.com/blog/post/kubernetes-1-35-in-place-pod-vertical-scaling-guide) — Discover how Kubernetes 1.35 "Timbernetes" revolutionizes resource management with In-Place Pod Vertical Scaling. This expert report explores the shift from "restart-to-scale" to a dynamic update model, focusing on benefits for JVM and stateful services. Learn how the kubelet, VPA, and cgroups v2 work together to enable zero-downtime scaling, improve node utilization, and manage memory shrink hazards. Essential reading for DevOps and platform engineers looking to optimize Kubernetes workloads.

- [Taming the Chaos: Let's Sort Out Those Flaky CI/CD Pipelines](https://mkabumattar.com/blog/post/troubleshooting-flaky-ci-cd-pipelines) — Learn practical strategies for troubleshooting and preventing flaky CI/CD pipelines. Identify common causes, use debugging tools like GitHub Actions and act, and implement best practices for a more stable development workflow.
- [The Democratization of Container Security: Docker Hardened Images](https://mkabumattar.com/blog/post/democratization-docker-hardened-images-container-security) — Explore how Docker democratized container security by open-sourcing 1,000+ Hardened Images under Apache 2.0. Learn about distroless containers, 95% smaller attack surfaces, SBOM/VEX integration, and how to migrate to secure-by-default images using multi-stage builds.
- [Database DevOps: Making PostgreSQL and MongoDB CI/CD Feel Natural](https://mkabumattar.com/blog/post/database-devops-ci-cd-postgresql-mongodb) — Ready to ditch manual database updates? Learn how Database DevOps and CI/CD can transform PostgreSQL and MongoDB management for faster, more reliable releases.
- [Microsoft’s Prompt Orchestration Markup Language (POML): Structuring the Future of AI Interaction](https://mkabumattar.com/blog/post/microsoft-poml-orchestrating-ai-prompts-for-llms) — Ready to ditch manual database updates? Learn how Database DevOps and CI/CD can transform PostgreSQL and MongoDB management for faster, more reliable releases.
- [Compliance as Code: Making Security Easier with Terraform and InSpec](https://mkabumattar.com/blog/post/compliance-as-code-nist-iso-27001-gdpr-terraform-inspec) — Learn how to use Compliance as Code with Terraform and InSpec to automatically follow NIST, ISO 27001, and GDPR. Understand the benefits, challenges, and real-world uses of this modern way to handle security and regulatory compliance.
- [Low-Code vs. Custom Code: Let's Talk About Speed and Tech Debt](https://mkabumattar.com/blog/post/low-code-vs-custom-code-speed-tech-debt) — Explore the crucial balance between development speed and technical debt when choosing between low-code and custom code. Learn when each approach shines, especially for internal tools like Retool.
- [AIOps: Making DevOps Even Better with Smart AI Tools](https://mkabumattar.com/blog/post/aiops-enhancing-devops-with-ai) — Learn how AIOps is transforming DevOps with AI-driven automation, predictive analytics, and intelligent incident management. Explore key tools, benefits, and practical guidance for modern IT operations.
- [Centralized Logging with Loki, Grafana, and Fluent Bit: Making Sense of Your Systems](https://mkabumattar.com/blog/post/centralized-logging-loki-grafana-fluent-bit) — Learn how to set up centralized logging with Loki, Grafana, and Fluent Bit for Kubernetes and microservices. This comprehensive guide covers deployment, configuration, and troubleshooting for a robust observability solution.
- [Karpenter vs. Cluster Autoscaler on AWS: Picking the Right Tool for Your Kubernetes Scaling](https://mkabumattar.com/blog/post/karpenter-vs-cluster-autoscaler-aws-kubernetes-scaling) — Compare Karpenter and Cluster Autoscaler on AWS for Kubernetes scaling. Understand their architecture, performance, cost efficiency, and choose the right tool for your needs.
- [Unlocking the Secrets: HashiCorp Vault vs. AWS Secrets Manager vs. SOPS - Which Reigns Supreme](https://mkabumattar.com/blog/post/secrets-management-vault-secrets-manager-sops) — Compare HashiCorp Vault, AWS Secrets Manager, and SOPS for secrets management. Understand their features, security, automation, and best practices to choose the right tool.
- [The AI Revolution in DevOps: How Smart Tech is Changing Incident Response](https://mkabumattar.com/blog/post/ai-powered-devops-incident-response-llms) — Explore how AI and Large Language Models (LLMs) are revolutionizing DevOps incident response. Learn about practical applications, benefits, challenges, and future trends. Includes FAQs.
- [Platform Engineering: Building Internal Developer Platforms (IDPs)](https://mkabumattar.com/blog/post/platform-engineering-building-internal-developer-platforms) — Learn how platform engineering and Internal Developer Platforms (IDPs) are revolutionizing software development. Discover benefits, challenges, best practices, and the Spotify case study. Simplify complexity and boost developer productivity!
- [The Real Talk on Microservices vs. Monoliths](https://mkabumattar.com/blog/post/0076-the-dark-side-of-microservices-when-to-avoid-them) — Microservices aren't always the answer. Discover the hidden complexities, challenges faced by Amazon Prime Video, and when sticking with monoliths might be the smarter architectural choice. Learn about trade-offs and avoid tech debt.
- [GitHub Actions vs. GitLab CI for Monorepos: Which One Wins?](https://mkabumattar.com/blog/post/github-actions-vs-gitlab-ci-for-monorepos) — Comparing GitHub Actions and GitLab CI for monorepo management. Analyze features, CI/CD pipelines, parallel jobs, caching, secrets management, and real-world experiences to choose the best platform.
- [Full-Stack Observability with OpenTelemetry: Getting a Clear View of Your Systems](https://mkabumattar.com/blog/post/full-stack-observability-opentelemetry) — Learn how to get a full view of your complex systems using OpenTelemetry. This guide covers the basics, benefits, using it with Prometheus and Grafana, and answers common questions.
- [Navigating Growth: Building a Secure and Scalable AWS Environment with a Multi-Account Architecture and Control Tower](https://mkabumattar.com/blog/post/multi-account-aws-control-tower) — Learn how to leverage a multi-account AWS architecture with AWS Control Tower for enhanced security, compliance, and streamlined management. Discover best practices and FAQs.
- [Policy as Code with Open Policy Agent: A Technical and Governance Perspective](https://mkabumattar.com/blog/post/policy-as-code-opa-guide) — Learn how to use Policy as Code with Open Policy Agent (OPA) to boost your cloud governance, security, and compliance. This guide covers the basics, benefits, how to integrate with Terraform and Kubernetes, common challenges, and real-world examples.
- [Zero Trust Architecture in DevOps Pipelines: Secure Your CI/CD Workflows](https://mkabumattar.com/blog/post/zero-trust-devops-pipelines-securing-ci-cd) — Learn how to integrate Zero Trust Architecture into DevOps CI/CD pipelines using AWS, IAM, and micro-segmentation. Secure deployments without slowing innovation. Perfect for teams prioritizing speed and security.
- [10+ Secret Git Commands That Will Save Hours Every Week](https://mkabumattar.com/blog/post/10-secret-git-commands-to-save-time) — Discover 10+ secret Git commands that will save hours every week! Learn advanced Git techniques for undoing mistakes, managing commits, automating workflows, and optimizing repositories. Perfect for DevOps and GitHub users.
- [Streamlining GitHub Organization Management with Terraform](https://mkabumattar.com/blog/post/streamlining-github-organization-management-with-terraform) — Learn how to manage a large GitHub organization efficiently using Terraform. Discover key Terraform resources for automating user access, team structures, and repository configurations.
- [Getting Addicted to Coding: Why We Love Programming More Than Sleep](https://mkabumattar.com/blog/post/getting-addicted-to-coding) — Discover why programming is so addicting and how to maintain a healthy balance while pursuing your passion for coding. Learn about the thrill of problem-solving, instant feedback, and tips to avoid burnout.
- [Deploying Infrastructure with Terraform in CI/CD Pipelines](https://mkabumattar.com/blog/post/deploying-infrastructure-with-terraform-in-ci-cd-pipelines) — Learn how to deploy infrastructure using Terraform in a CI/CD pipeline. Discover how Terraform fits into DevOps workflows and how to create a CI/CD pipeline with GitHub Actions for Terraform automation.
- [AI is Not Real: A Software Engineering Perspective](https://mkabumattar.com/blog/post/ai-is-not-real) — Modern AI is not intelligent in the human sense. It is large-scale statistical pattern matching and mathematical optimization. Here is what that means for the systems we build, why probabilistic chains fail, and how hybrid architectures make them reliable.
- [When to Use Serverless?](https://mkabumattar.com/blog/post/when-to-use-serverless) — Discover when to use serverless architecture in your projects. Learn about its advantages, real-world success stories, and scenarios where serverless is the best fit. Explore the pros and cons to make informed decisions.
- [Why You Should Not Use Else Statements in Your Code](https://mkabumattar.com/blog/post/why-you-should-not-use-else-statements) — Discover why avoiding else statements can lead to cleaner, more maintainable code. Learn about guard clauses, establishing contracts, and handling new conditions efficiently. Explore practical examples and best practices in software engineering.
- [How to Avoid Over-Engineering Your Code?](https://mkabumattar.com/blog/post/how-to-avoid-over-engineering-your-code) — Learn how to avoid over-engineering your code in software development. Discover the causes, symptoms, and practical strategies to maintain simplicity and align with business needs. Stay focused on creating efficient, maintainable software.
- [Software Engineering Principles Every Developer Should Know](https://mkabumattar.com/blog/post/software-engineering-principles-every-developer-should-know) — Explore essential software engineering principles every developer should know, including DRY, KISS, and YAGNI. Learn how these principles promote code reusability, simplicity, and focus on essential functionality. Plus, discover code examples in Python to illustrate these principles in action.
- [Phases of the Modernization Process](https://mkabumattar.com/blog/post/phases-of-the-modernization-process) — Discover the key phases of the modernization process. Learn how to align with business goals, understand dependencies, involve customers, and future-proof your IT infrastructure.
- [Unlocking the Power of React Context API: Demystifying State Management](https://mkabumattar.com/blog/post/react-context-api-state-management) — Explore the world of React Context API and gain insights into its use for state management. Learn how to use it to build a simple state management system.
- [Becoming an AWS Pro: A Deep Dive into Amazon Elastic Container Service](https://mkabumattar.com/blog/post/aws-ecs-deep-dive) — Ready to elevate your AWS DevOps skills with Amazon Elastic Container Service? Explore ECS versus EC2, discover its versatile use cases, and embark on a journey from traditional on-premises servers to EC2 instances, and finally to the seamless world of ECS Fargate.
- [Building a Code Generative AI Model: Empowering Code Writing with AI](https://mkabumattar.com/blog/post/building-a-code-generative-ai-model-empowering-code-writing-with-ai) — Explore the process of building a Code Generative AI model as a software engineer. Understand how AI can write code, follow step-by-step instructions to create your AI, and find answers to common queries about AI-generated code.
- [Understanding Generative AI in Depth](https://mkabumattar.com/blog/post/understanding-generative-ai-in-depth) — Discover the captivating realm of Generative AI in this comprehensive guide designed for seasoned software engineers. Delve into the nuances of Generative AI, differentiate it from conventional AI and machine learning, explore practical use cases, and find answers to frequently asked questions.
- [The ORM Dilemma: To Use or Not to Use](https://mkabumattar.com/blog/post/why-not-to-use-orm-in-nodejs) — Explore the intricacies of utilizing Object-Relational Mapping (ORM) in Node.js, TypeScript, and Express. Seasoned software engineers dissect the pros and cons, offering invaluable insights into when and why you should consider alternatives to ORM for your database operations.
- [Mastering Caching Strategies with Redis Cache: Boosting Performance in Node.js and TypeScript](https://mkabumattar.com/blog/post/mastering-caching-strategies-redis-nodejs-typescript) — Explore the world of caching in Redis and supercharge your Node.js and TypeScript applications with advanced caching strategies. Learn about Cache-Aside, Read-Through, Write-Through, and Write-Behind patterns, as well as the Redis cache key strategy. Discover the power of Redis caching for turbocharging your applications.
- [Scaling Up, Staying Strong: Hands-On AWS CloudFormation Techniques for Building Resilient and Scalable Systems](https://mkabumattar.com/blog/post/scaling-up-staying-strong-hands-on-aws-cloudformation-techniques-for-building-resilient-and-scalable-systems) — In today's rapidly evolving digital landscape, building resilient and scalable systems is crucial for businesses to meet growing demands and maintain high availability. Cloud native architecture, combined with the powerful capabilities of Amazon Web Services (AWS), offers an ideal solution for achieving these objectives. In this article, we will explore how AWS CloudFormation, a powerful infrastructure as code tool, enables organizations to build resilient and scalable systems through a hands-on approach.
- [Unleashing the Magic: Best Practices for Infrastructure Automation in a Cloud Native AWS Environment](https://mkabumattar.com/blog/post/unleashing-the-magic-best-practices-for-infrastructure-automation-in-a-cloud-native-aws-environment) — In the realm of Cloud Native AWS environments, mastering infrastructure automation is essential to unlock the full potential of your magical kingdom. From security spells to optimizing performance, this section will reveal the best practices and secret enchantments for achieving seamless infrastructure automation. Join us on this enchanting journey as we explore the spells and rituals that will transform your Cloud Native AWS environment into a well-oiled, high-performing realm.
- [Orchestrating Infrastructure with Terraform: Unleashing the Magic of Infrastructure Provisioning](https://mkabumattar.com/blog/post/orchestrating-infrastructure-with-terraform-unleashing-the-magic-of-infrastructure-provisioning) — In the realm of infrastructure orchestration, Terraform emerges as a versatile sorcerer's apprentice, allowing you to create and manage your infrastructure across multiple cloud providers. With Terraform, you can wave your magical wand and provision resources on AWS by writing infrastructure configurations in a declarative language. Join us on a journey through the enchanting world of Terraform and witness the power of infrastructure provisioning magic.
- [Simplifying Application Deployment with AWS SAM: Unleashing the Power of Serverless Magic](https://mkabumattar.com/blog/post/simplifying-application-deployment-with-aws-sam-unleashing-the-power-of-serverless-magic) — When it comes to deploying serverless applications, AWS SAM (Serverless Application Model) emerges as your trusty sidekick, simplifying the process and harnessing the full power of serverless architecture. SAM templates enable you to define and deploy your serverless functions, APIs, and event sources with ease, turning your serverless wishes into reality.
- [Leveraging AWS CloudFormation for Infrastructure as Code (IaC): The Mighty Sword of Automation](https://mkabumattar.com/blog/post/leveraging-aws-cloudformation-for-infrastructure-as-code-iac-the-mighty-sword-of-automation) — In the realm of cloud computing, Cloud Native Infrastructure stands tall as a modern sorcery, empowering developers to design and deploy applications tailored explicitly for the cloud. By harnessing the full potential of AWS services, Cloud Native Infrastructure enables the creation of highly scalable, resilient, and efficient applications. It's like building castles in the sky, aided by an army of cloud-based minions ready to fulfill your every command!
- [Unleashing the Power of Cloud Native Infrastructure on AWS: Building Castles in the Sky](https://mkabumattar.com/blog/post/unleashing-the-power-of-cloud-native-infrastructure-on-aws-building-castles-in-the-sky) — In the realm of cloud computing, Cloud Native Infrastructure stands tall as a modern sorcery, empowering developers to design and deploy applications tailored explicitly for the cloud. By harnessing the full potential of AWS services, Cloud Native Infrastructure enables the creation of highly scalable, resilient, and efficient applications. It's like building castles in the sky, aided by an army of cloud-based minions ready to fulfill your every command!
- [Understanding Infrastructure as Code (IaC): Unleashing the Magic of Code-Driven Infrastructure Management](https://mkabumattar.com/blog/post/understanding-infrastructure-as-code-iac-unleashing-the-magic-of-code-driven-infrastructure-management) — In the realm of modern technology, infrastructure management has undergone a revolutionary transformation with the emergence of Infrastructure as Code (IaC). Imagine having the power to conjure and control your entire infrastructure using the magic of code. Welcome to the enchanting world of IaC, where manual configurations and tedious clicking are replaced with the elegance and efficiency of code-driven infrastructure management.
- [Mastering Infrastructure Automation: Harnessing the Power of IaC in a Cloud Native AWS Environment](https://mkabumattar.com/blog/post/mastering-infrastructure-automation-harnessing-the-power-of-iac-in-a-cloud-native-aws-environment) — In today's fast-paced digital landscape, building scalable and resilient systems is crucial for businesses to meet growing demands and maintain high availability. Cloud native infrastructure, combined with the powerful capabilities of Amazon Web Services (AWS), offers an ideal solution for achieving these objectives.
- [Decoding REST API Architecture: A Comprehensive Guide for Developers](https://mkabumattar.com/blog/post/decoding-rest-api-architecture-a-comprehensive-guide-for-developers) — Hey there, fellow developers! Buckle up because we're about to dive into the crazy world of REST API architecture.
- [TypeScript vs. JSDoc: Exploring the Pros and Cons of Static Type Checking in JavaScript](https://mkabumattar.com/blog/post/typescript-vs-jsdoc-exploring-the-pros-and-cons-of-static-type-checking-in-javascript) — Static type checking has become an essential aspect of modern JavaScript development, ensuring code reliability, catching errors early, and improving overall code quality.
- [RESTful API vs. GraphQL: Which API is the Right Choice for Your Project?](https://mkabumattar.com/blog/post/restful-api-vs-graphql-which-api-is-the-right-choice-for-your-project) — Consider yourself a software engineer working on a brand-new customer project. Your customer has requested you to develop an application that has to analyze and show a lot of data in real-time. You've made the decision to create an API to manage the data, but you're unsure of the best kind to utilize. Which API should you use the tried-and-true RESTful API or the more recent, customized GraphQL API?
- [Mastering AWS Architecture: A Comprehensive Guide to the Well-Architected Framework](https://mkabumattar.com/blog/post/mastering-aws-architecture-a-comprehensive-guide-to-the-well-architected-framework) — This article provides an overview of the AWS Well-Architected Framework, a set of best practices for designing and operating reliable, efficient, secure, and sustainable systems on AWS. The framework consists of five pillars: Operational Excellence, Security, Reliability, Performance Efficiency, and Cost Optimization, with Sustainability being the sixth pillar. The article explores each pillar and explains how organizations can apply the framework to optimize their AWS infrastructure. It also provides examples of how AWS services can be used to improve the efficiency, security, reliability, cost-effectiveness, and sustainability of cloud systems.
- [Get Started with Building ReactJS and Docker: A Complete Guide](https://mkabumattar.com/blog/post/get-started-with-building-reactjs-and-docker-a-complete-guide) — This article is a complete guide for building and deploying a React JS application with Docker, including prerequisites, environment setup, building, containerizing, deployment, and best practices. It also includes an example of running a React JS application with Docker Compose.
- [Building a Customizable Image Slider in React Using Hooks, SCSS, and TypeScript](https://mkabumattar.com/blog/post/building-a-customizable-image-slider-in-react-using-hooks-scss-and-typescript) — This article will guide you through the process of creating a React slider component using Hooks, SCSS, and TypeScript. By the end of this tutorial, you will have a functional and customizable slider that can be easily integrated into your project.
- [How To Run MySQL in a Docker Container: A Step-by-Step Guide with Customization Tips](https://mkabumattar.com/blog/post/how-to-run-mysql-in-a-docker-container-a-step-by-step-guide-with-customization-tips) — Learn how to run a MySQL database in a Docker container with this step-by-step guide. The article covers starting a container, connecting to it, customizing its configuration, and using volumes for data persistence. Get tips for optimizing and customizing your setup. Ideal for developers, sysadmins and database administrators.
- [How To Install Docker On Linux In 4 Easy Steps!](https://mkabumattar.com/blog/post/how-to-install-docker-on-linux-in-4-easy-steps) — This article guides you through the simple process of installing Docker on Linux in 4 easy steps. From updating the package index to running your first Docker container, you'll learn everything you need to get started with this powerful platform. By the end, you'll be able to take advantage of all the benefits Docker has to offer.
- [How to Avoid Common Cloud Services Mistakes](https://mkabumattar.com/blog/post/how-to-avoid-common-cloud-services-mistakes) — This article will cover common mistakes made when implementing cloud services and offer solutions to avoid them. The introduction will explain the importance of avoiding these mistakes. The article will then discuss specific mistakes such as not fully understanding the service, not securing resources, lack of monitoring, no disaster recovery plan, vendor lock-in and lack of compliance, outdated software, scalability issues, cost concerns, lack of exit strategy, migration and backup/recovery plan. The conclusion will summarize key points and provide additional resources.
- [How to Deploy a Spring Boot Application to AWS CloudFormation](https://mkabumattar.com/blog/post/how-to-deploy-a-spring-boot-application-to-aws-cloudformation) — This article will guide you on how to deploy a Spring Boot application to AWS CloudFormation. It covers steps from creating a CloudFormation template, packaging the application into a deployable artifact, updating the stack with the new version of the application and discussing about continuous deployment for automatic updates. This guide is intended for developers who have an existing Spring Boot application and want to deploy it on AWS.
- [Introduction to Spring Boot Framework](https://mkabumattar.com/blog/post/introduction-to-spring-boot-framework) — For creating web apps and microservices, many developers utilize the Spring Boot framework. The fact that it is built on top of the Spring Framework and offers a number of advantages makes it a desirable option for developers. You will learn about Spring Boot in this blog article, as well as why it is such a great tool for creating web apps and how to create a basic Spring Boot application.
- [How To Setup Bastion Host on AWS using CloudFormation Template](https://mkabumattar.com/blog/post/how-to-setup-bastion-host-on-aws-using-cloudformation-template) — Learn how to set up a secure Bastion Host on AWS using CloudFormation templates. This tutorial covers all the steps needed to create a VPC, subnets, security groups, and instances, and test the Internet connectivity. Detailed instructions and sample code are included.
- [How To Setup Bastion Host on AWS using AWS CLI](https://mkabumattar.com/blog/post/how-to-setup-bastion-host-on-aws-using-aws-cli) — In this post, we will learn the best practices of setting up a Bastion Host on AWS using the AWS CLI for secure and remote access to EC2 instances within a Virtual Private Cloud (VPC). We will guide you through creating a VPC, subnets, internet gateway, and configuring the Bastion Host with the appropriate permissions. This post is intended for those who are familiar with AWS and have some basic knowledge of networking and SSH.
- [How to Setup Jenkins on AWS Using CloudFormation](https://mkabumattar.com/blog/post/how-to-setup-jenkins-on-aws-using-cloudformation) — We will be using CloudFormation to setup Jenkins on AWS. CloudFormation is a service that helps you model and set up your AWS resources so that you can spend less time managing those resources and more time focusing on your applications that run in AWS.
- [How to CI/CD AWS With Github using Jenkins](https://mkabumattar.com/blog/post/how-to-ci-cd-aws-with-github-using-jenkins) — In this post, I will show you how to setup a CI/CD pipeline using Jenkins and Github to deploy a simple PHP application to Devlopment and Production environments on AWS. With this setup, you can deploy your application to AWS with a single click.
- [How to Install Jenkins on AWS EC2 Instance](https://mkabumattar.com/blog/post/install-jenkins-on-aws-ec2-instance) — In this post, I will show you how to Create an EC2 Instance on AWS and install Jenkins on it.
- [Run TypeScript Without Compiling](https://mkabumattar.com/blog/post/run-typescript-without-compiling) — We can run TypeScript without compiling it to JavaScript. This is useful for debugging and testing. In this post, I will show you how to do it.
- [React With Redux Toolkit](https://mkabumattar.com/blog/post/react-with-redux-toolkit) — In this post, we will learn how to use Redux Toolkit to manage the state of our React application.
- [What is DevOps?](https://mkabumattar.com/blog/post/what-is-devops) — DevOps is a set of practices that combines software development (Dev) and information technology operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality.
- [How To Connect A EBS Volume To An Windows EC2 Instance Using Powershell/GUI](https://mkabumattar.com/blog/post/how-to-connect-a-ebs-volume-to-an-windows-ec2-instance-using-powershell-gui) — In this post, we will learn how to connect a EBS volume to an Windows EC2 instance using Powershell/GUI
- [How To Connect A Two EC2 Instances Database and Files Transfer Using AWS CLI](https://mkabumattar.com/blog/post/how-to-connect-a-two-ec2-instances-database-and-files-transfer-using-aws-cli) — In this post, I will show you how to connect a two EC2 instances database and files transfer using AWS CLI. I will use AWS CLI to create a VPC, EC2 instances, EBS, EFS, and security groups. I will use the EC2 instances to connect to the database and files transfer.
- [Understanding Software Versioning: A Comprehensive Guide](https://mkabumattar.com/blog/post/how-version-number-software-works) — Explore the essentials of software versioning, including semantic versioning, rules, formats, and tools to manage dependencies and releases effectively.
- [How To Connect A Two EC2 Instances Data Transfer Using AWS CLI Without AWS EFS](https://mkabumattar.com/blog/post/how-to-connect-a-two-ec2-instances-data-transfer-using-aws-cli-without-aws-efs) — In this post, I will show you how to connect a two EC2 instances data transfer using AWS CLI without AWS EFS.
- [How To Create a AWS S3 Bucket Using AWS CLI](https://mkabumattar.com/blog/post/how-to-create-a-aws-s3-bucket-using-aws-cli) — In this post, I will show you how to create a AWS S3 bucket using AWS CLI.
- [How To Create a DynamoDB Table Using AWS CLI](https://mkabumattar.com/blog/post/how-to-create-a-dynamodb-table-using-aws-cli) — In this article, we will learn how to create a DynamoDB table using AWS CLI. We will also learn how to add items to the table and how to query the table.
- [What is a CI/CD?](https://mkabumattar.com/blog/post/what-is-a-ci-cd) — Continuous Integration and Continuous Delivery are two of the most important concepts in DevOps. In this article, we will discuss what is a CI/CD and how it can help you to improve your software development process.
- [Setup Nextjs Tailwind CSS Styled Components with TypeScript](https://mkabumattar.com/blog/post/setup-nextjs-tailwind-css-styled-components-with-typescript) — In this post, we will setup Nextjs Tailwind CSS Styled Components with TypeScript.
- [How to Connect to AWS RDS MySQL Database to EC2 Instance With PHP By Using PDO](https://mkabumattar.com/blog/post/how-to-connect-to-aws-rds-mysql-database-to-ec2-instance-with-php-by-using-pdo) — In this post, we will learn how to connect to AWS RDS MySQL Database to EC2 Instance With PHP By Using PDO.
- [How to Install and Configure Node.js on EC2 Instance Amazon Linux 2](https://mkabumattar.com/blog/post/how-to-install-and-configure-nodejs-on-ec2-instance-amazon-linux-2) — Node.js does not exist in the default Amazon Linux 2 repository. So, we need to add the Node.js repository to the system. In this post, we will learn how to install and configure Node.js on EC2 Instance Amazon Linux 2.
- [How to Create a AWS RDS MySQL Database and Connect to it using MySQL Workbench](https://mkabumattar.com/blog/post/how-to-create-a-aws-rds-mysql-database-and-connect-to-it-using-mysql-workbench) — RDS is a managed service that makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while automating time-consuming administration tasks such as hardware provisioning, database setup, patching and backups. It frees you to focus on your applications so you can give them the fast performance, high availability, security, and compatibility they need.
- [How to Run an Apache Web Server Using Docker on an AWS EC2 Instance](https://mkabumattar.com/blog/post/how-to-run-an-apache-web-server-using-docker-on-an-aws-ec2-instance) — We will learn how to create an AWS EC2 instance using AWS CLI in this tutorial. We will also discover how to set up an AWS EC2 instance so that it functions with the Apache web server. We will also discover how to set up an AWS EC2 instance so that it functions with WordPress.
- [How To Create An AWS EC2 Instance Using AWS CLI](https://mkabumattar.com/blog/post/how-to-create-an-aws-ec2-instance-using-aws-cli) — We will learn how to create an AWS EC2 instance using AWS CLI in this tutorial. We will also discover how to set up an AWS EC2 instance so that it functions with the Apache web server. We will also discover how to set up an AWS EC2 instance so that it functions with WordPress.
- [How to Install WordPress on Amazon Linux 2](https://mkabumattar.com/blog/post/how-to-install-wordpress-on-amazon-linux-2) — We will learn how to install WordPress on Amazon Linux 2 in this tutorial. We will also discover how to set up WordPress so that it functions with the Apache web server. We will also discover how to set up WordPress so that it functions with PHP and MariaDB.
- [How to Install PHP and MariaDB on Amazon Linux 2](https://mkabumattar.com/blog/post/how-to-install-php-and-mariadb-on-amazon-linux-2) — We will learn how to set up PHP and MariaDB on Amazon Linux 2 in this tutorial. We will also discover how to set up PHP so that it functions with the Apache web server. We will also discover how to set up MariaDB so that it functions with PHP.
- [How to Install Apache Web Server on Amazon Linux 2](https://mkabumattar.com/blog/post/how-to-install-apache-web-server-on-amazon-linux-2) — We will learn how to install and setup FireWall on Amazon Linux 2 in this tutorial. We will also discover how to set up FireWall so that it functions with the Amazon Linux 2.
- [How to Install and Setup FireWall on Amazon Linux 2](https://mkabumattar.com/blog/post/how-to-install-and-setup-firewall-on-amazon-linux-2) — We will learn how to install and setup FireWall on Amazon Linux 2 in this tutorial. We will also discover how to set up FireWall so that it functions with the Amazon Linux 2.
- [Git SSH Keys for GitHub, GitLab, and Bitbucket on Windows](https://mkabumattar.com/blog/post/git-ssh-keys-for-github-gitlab-and-bitbucket-on-windows) — Git connects to remotes by default via HTTPS, which requires you to enter your login and password every time you run a command like Git pull or git push, using the SSH protocol. You may connect to servers and authenticate to access their services. The three services listed allow Git to connect through SSH rather than HTTPS. Using public-key encryption eliminates the need to type a login and password for each Git command.
- [Customization Windows Terminal With Starship](https://mkabumattar.com/blog/post/customization-windows-terminal-with-starship) — Customization Windows Terminal With Starship, Windows Terminal is a new, modern, fast, efficient, powerful, and productive terminal application for users of command-line tools and shells like Command Prompt, PowerShell, and WSL.
- [VIM Cheat Sheet](https://mkabumattar.com/blog/post/vim-cheat-sheet) — VIM is a highly configurable, powerful text editor available on most Linux distributions. Ideal for editing files via the command line, its modal design offers distinct modes for various tasks. This cheat sheet provides a quick reference for VIM’s essential commands and features.
- [Introduction to Linux CLI](https://mkabumattar.com/blog/post/introduction-to-linux-cli) — Introduction to Linux command-line interface CLI, Linux is a Unix-like computer operating system assembled under the model of free and open-source software development and distribution.
- [How To Create A Custom VPC Using AWS CLI](https://mkabumattar.com/blog/post/how-to-create-a-custom-vpc-using-aws-cli) — In the sample that follows, an IPv4 CIDR block, a public subnet, and a private subnet are all created using AWS CLI instructions. You can run an instance in the public subnet and connect to it once the VPC and subnets have been configured. Additionally, you may start an instance on the private subnet and link to it from the instance on the public network.
- [Setting up JWT Authentication in TypeScript with Express, MongoDB, Babel, Prettier, ESLint, and Husky - Part 2](https://mkabumattar.com/blog/post/setting-up-jwt-authentication-in-typescript-with-express-mongodb-babel-prettier-eslint-and-husky-part-2) — Setting up JWT Authentication in Typescript with Express, MongoDB, Babel, Prettier, ESLint, and Husky: Part 2.
- [Setting up Node.js, Express, Prettier, ESLint, and Husky application with Babel and TypeScript - Part 1](https://mkabumattar.com/blog/post/setting-up-node-js-express-prettier-eslint-and-husky-application-with-babel-and-typescript-part-1) — Setting up Node JS, Express,  Prettier, ESLint and Husky Application with Babel and Typescript: Part 1.
- [Setting up Node JS, Express, MongoDB, Prettier, ESLint and Husky Application with Babel and authentication as an example](https://mkabumattar.com/blog/post/setting-up-node-js-express-mongodb-prettier-eslint-and-husky-application-with-babel-and-authentication-as-an-example) — Setting up Node JS, Express, MongoDB, Prettier, ESLint and Husky Application with Babel and authentication as an example.
- [Dotfiles: A Git-Based Strategy for Configuration Management](https://mkabumattar.com/blog/post/dotfiles) — Discover the ultimate strategy for managing your dotfiles using a bare Git repository, simplifying the process of keeping your configuration files synchronized and secure across multiple machines.
- [Git SSH Keys for GitHub, GitLab, and Bitbucket on Linux](https://mkabumattar.com/blog/post/git-ssh-keys-for-github-gitlab-and-bitbucket-on-linux) — Git connects to remotes by default via HTTPS, which requires you to enter your login and password every time you run a command like Git pull or git push, using the SSH protocol. You may connect to servers and authenticate to access their services. The three services listed allow Git to connect through SSH rather than HTTPS. Using public-key encryption eliminates the need to type a login and password for each Git command.
