Skip to content

Instantly share code, notes, and snippets.

View ejlp12's full-sized avatar

EJLP ejlp12

  • Indonesia
View GitHub Profile
@ejlp12
ejlp12 / aws-workshop.md
Last active March 8, 2024 12:29
AWS Workshop
@ejlp12
ejlp12 / header_filter_by_lua_example.md
Last active February 10, 2024 11:03
nginx, openresty, transform/modify response body, header_filter_by_lua
@ejlp12
ejlp12 / eks_best_practice.md
Last active February 8, 2024 18:42
EKS Best Practice

Please check https://aws.github.io/aws-eks-best-practices/ for more comprehensive EKS best practice!

Architecture

  • Think about multi-tenancy, isolation for different environment or different workload
    • Isolation at account level using AWS organization
    • Isolation at the network layer ie. different VPC & different cluster
    • Use different Nodes Group (Node pool) for different purpose/category e.g. create dedicated node groups for Operational tools such as CI/CD tool, Monitoring tool, Centralize logging system.
    • Separate namespace for different workload

Reliability | Principles

@ejlp12
ejlp12 / gist:059373f1785c52114d778a4ee7277ccb
Created October 25, 2017 01:45
upgrade vagrant on mac os-x
brew cask reinstall vagrant
# this might take a long time
vagrant plugin update
@ejlp12
ejlp12 / dont_use_cap_categorization.md
Last active November 9, 2023 04:11
CAP theorem, microservice database system,

Arsitektur microservices memberikan kita fleksibilitas untuk menggunakan jenis database yang berbeda. Anda tidak harus menggunakan tradisional relational database (RDBMS) tapi Anda juga bisa menggunakan beberapa jenis database lain yang berbeda misalnya database yang biasa dikategorikan sebagai NoSQL (non-relational). Lalu bagaimana kita memilih database yang cocok untuk microservice yang akan kita bangun?

Salah satu cara memilih jenis database adalah dengan melihat karakteristiknya berdasarkan teorema CAP (Consistency, Availability, Partition-tolerance).

Selain berdasarkan teorema CAP, orang sering memilih jenis database dari karakteristik bagaimana data disimpan dan berelasi (data model). Ada beberapa katergori database berdasarkan karakteristik ini yaitu:

  • Tabular (column-oriented) database
  • Document oriented database
  • Graph database
  • Multi-model database
@ejlp12
ejlp12 / AWSDevOpsStudyNotes
Created October 3, 2019 00:09
AWS DevOps Engineer Professional Study Notes
CI & CD:
========
2 core software development processes
CI process of automating regular code commits followed by an automated build and test process designed to highlight intergration issues early.
Additional tooling and functionality provided by Bamboo, CruiseControl, Jenkins, Go and TeamCity etc.
workflow based
CD takes the form of a workflow based process which accepts a tested software build payload from a CI server. Automates the deployment into a working QA, Pre-prod or Prod environment.
AWS CodeDeploy and CodePipeline provide CI/CD services
Elasticbeanstalk and CFN provide functionality which can be utilized by CI/CD servers.
@ejlp12
ejlp12 / fargate-vs-ec2.md
Last active September 29, 2023 15:29 — forked from ross-humphrey/fargate-vs-ec2.md
👩‍🌾 Fargate Vs EC2

Comparing different launch types of EKS/ECS: Fargate vs EC2

Fargate vs EC2

  • Fargate runs docker containers serverless. Fargate utilizes Docker containers and runs them virtually.
  • Fargate allows you to run containers without having to manage servers or clusters.
  • No need to scale, provision or configure clusters of virtual machines to run containers.
  • No need to choose server types and how they communicate
@ejlp12
ejlp12 / 1_ecs_note.md
Last active September 21, 2023 20:25
ECS Best Practices Notes
@ejlp12
ejlp12 / install_openresty_in_mac.md
Last active May 29, 2023 01:59
Install openresty in Mac OS-X

Install 3scale self managed API gateway (openresty) in Mac OS-X

brew update
brew install pcre openssl

wget http://openresty.org/download/ngx_openresty-1.9.7.2.tar.gz
tar xzvf ngx_openresty-1.9.7.2.tar.gz
cd ngx_openresty-1.9.7.2
@ejlp12
ejlp12 / tunneling_to_localhost.md
Last active May 12, 2023 06:40
Tunneling, netcat, nc, simple web server for test, ngrok

Create a simple web server for testing

while true; do { echo -e 'HTTP/1.1 200 OK\r\n'; cat index.html; } | nc -l 80; done

Create tunneling so that the web server can be accessible from Internet

Download ngrok from https://ngrok.com/download