GitHub Actions and Why It's Gaining Popularity over Jenkins as Default CI/CD Tool

The Current CI/CD tooling for our company is moving away from Jenkins and towards GitHub Actions. Learn some basics about GitHub Actions as a reulst. What’s Git Actions According to Github: GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline. You can create workflows that run tests whenever you push a change to your repository, or that deploy merged pull requests to production. ...

October 19, 2024 · 3 min · 444 words · Justin Hu

Terraform and Infrastructure as Code

Infrastructure as Code Challenge of Provisioning Cloud Resources Manual Provisioning of infrastructure at scale is slow and cumbersome. Provisioning infrastructure through point-and-click GUIs is error-prone, inefficient, and doesn’t scale. The cloud was built for automation, but writing custom scripts for every service and every use case is time-consuming and costly for development teams. Solution Infrastructure as Code(IaC) to automate infrastructure provisioning on any cloud. Multi-cloud provisioning should be automated with declarative infrastructure as code. There should be a simple, easy to learn configuration language to allow people to define infrastructure resources such that infrastructure can be codified, shared, versioned, and executed with a consistent workflow across all environments. ...

August 10, 2024 · 9 min · 1908 words · Justin Hu

How to Create Self-Signed SSL Certificates

SSL Certificate Securing your website or application has become increasingly crucial in today’s digital landscape where cyber crimes become ever more pervasive. One common way to achieve security is through encryption. Symmetric and asymmetric encryption have been heavily studied in the field of Cryptograph and are widely used in the industry to help secure digital systems. SSL certificates, which build on top of asymmetric encryption, are often used to secure websites by ensuring data in transit between clients and web server are encrypted, thus private and secure. ...

January 26, 2024 · 3 min · 541 words · Justin Hu

FastAPI 101

What is FastAPI? According to its official website, FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.8+ based on standard Python type hints. Hello World with FastAPI Installation Requirements Python3.8+ Install FastAPI 1 pip install fastapi Install ASGI Server 1 pip install "uvicorn[standard]" Define a FastAPI app Create a file main.py with: 1 2 3 4 5 from typing import Union from fastapi import FastAPI app = FastAPI() Create API Endpoints In main.py add the following 2 endpoints implementation ...

December 1, 2023 · 2 min · 415 words · Justin Hu

Apache Kafka and A Comparison with RabbitMQ

Kafka Introduction Apache Kafka is heavily used in my work now. Therefore, I thought it would be useful and helpful to write a post about it. Kafka is an event streaming platform. Apache Kafka defines event streaming as the following: Technically speaking, event streaming is the practice of capturing data in real-time from event sources like databases, sensors, mobile devices, cloud services, and software applications in the form of streams of events; storing these event streams durably for later retrieval; manipulating, processing, and reacting to the event streams in real-time as well as retrospectively; and routing the event streams to different destination technologies as needed. Event streaming thus ensures a continuous flow and interpretation of data so that the right information is at the right place, at the right time. ...

December 23, 2022 · 4 min · 696 words · Justin Hu