Terraform — how I split my monolithic state
https://medium.com/@adrianarba/terraform-how-i-split-my-monolithic-state-490916343dba
https://medium.com/@adrianarba/terraform-how-i-split-my-monolithic-state-490916343dba
BPFAgent: eBPF for Monitoring at DoorDash
https://doordash.engineering/2023/08/15/bpfagent-ebpf-for-monitoring-at-doordash
As DoorDash experienced rapid growth over the last few years, we began to see the limits of our traditional methods of monitoring. Metrics, logs, and traces provide vital information about our service ecosystem. But these signals almost entirely rely on application-level instrumentation, which can leave gaps or conflicting semantics across different systems. We decided to seek potential solutions that could provide a more complete and unified picture of our networking topology.
One of these solutions has been monitoring with eBPF, which allows developers to write programs that are injected directly into the kernel and can trace kernel operations. These programs, designed to provide lightweight access to most components of the kernel, are sandboxed and validated for safety by the kernel before execution. DoorDash was particularly interested in tracing network traffic via hooks called kprobes (kernel dynamic tracing) and tracepoints. With these hooks, we can intercept and understand TCP and UDP connections across our multiple Kubernetes clusters.
By building at the kernel level, we can monitor network traffic at the infrastructure level, which gives us new insights into DoorDash’s backend ecosystem that’s independent of the service workflow.
To run these eBPF probes, we have developed a Golang application called BPFAgent, which we run as a daemonset in all of our Kubernetes clusters. Here we will take a look at how we built BPFAgent, the process of building and maintaining its probes, and how various DoorDash teams have used the data collected.
https://doordash.engineering/2023/08/15/bpfagent-ebpf-for-monitoring-at-doordash
Terraform - Understanding Count and For_Each Loops
https://dev.to/pwd9000/terraform-understanding-count-and-foreach-loops-c6i
https://dev.to/pwd9000/terraform-understanding-count-and-foreach-loops-c6i
symphony
https://github.com/microsoft/symphony
Symphony is a framework and set of patterns and best practices for developing, testing, and deploying infrastructure on Azure using Infrastructure as Code (IAC.) It includes modern DevOps practices for IAC such as Main and Pull Request workflows, IaC Code Validation & Linting, Automated Testing, Security Scanning, Multi-environment deployments, modules dependencies and more.
https://github.com/microsoft/symphony
mlinfra
https://github.com/mlinfra-io/mlinfra
mlinfra is the swiss army knife for deploying scalable MLOps infrastructure. It aims to make MLOps infrastructure deployment easy and accessible to all ML teams by liberating IaC logic for creating MLOps stacks which is usually tied to other frameworks.
https://github.com/mlinfra-io/mlinfra
Presenting to Engineering Leadership
https://hross.substack.com/p/presenting-to-engineering-leadership
A 5 slide formula with some advice.
https://hross.substack.com/p/presenting-to-engineering-leadership
When Kubernetes and Go don't work well together
https://lalatron.hashnode.dev/when-kubernetes-and-go-dont-work-well-together
Go is not aware of the limits set for its container, causing some issues not easy to track. This is a story about how I stumbled into one of them.
https://lalatron.hashnode.dev/when-kubernetes-and-go-dont-work-well-together
asdf
https://github.com/asdf-vm/asdf
asdf is a CLI tool that can manage multiple language runtime versions on a per-project basis. It is like gvm, nvm, rbenv & pyenv (and more) all in one! Simply install your language's plugin!
https://github.com/asdf-vm/asdf
openpanel
https://github.com/Openpanel-dev/openpanel
Openpanel is a simple analytics tool for logging events on web, apps and backend.
https://github.com/Openpanel-dev/openpanel
reverst
https://github.com/flipt-io/reverst
Reverst is a (load-balanced) reverse-tunnel server and Go server-client library built on QUIC and HTTP/3.
https://github.com/flipt-io/reverst
Kubernetes EOL: Understanding the K8s Release Cycle and How to Prepare for EOL
https://komodor.com/learn/kubernetes-eol-understanding-the-k8s-release-cycle-and-how-to-prepare-for-eol
https://komodor.com/learn/kubernetes-eol-understanding-the-k8s-release-cycle-and-how-to-prepare-for-eol
Running JVM Applications on Kubernetes: Beyond java -jar
https://medium.com/codex/running-jvm-applications-on-kubernetes-beyond-java-jar-a095949f3e34
Discover some important tips about running JVM applications in containerized environments orchestrated by Kubernetes
https://medium.com/codex/running-jvm-applications-on-kubernetes-beyond-java-jar-a095949f3e34
Troubleshooting containers
https://ikouchiha47.github.io/2024/02/05/how-containers-work.html
understanding containers inside out
https://ikouchiha47.github.io/2024/02/05/how-containers-work.html
ikouchiha47.github.io
Troubleshooting containers
Containers, processes, namespaces, security, troubleshooting
Faster startup times for Kubernetes workloads with Kube Startup CPU Boost
https://cloud.google.com/blog/products/containers-kubernetes/understanding-kubernetes-dynamic-resource-scaling-and-cpu-boost
https://cloud.google.com/blog/products/containers-kubernetes/understanding-kubernetes-dynamic-resource-scaling-and-cpu-boost
A Tale of Two VLANS
https://blog.miraco.la/a-tale-of-two-vlans
Splitting service traffic on-prem with MetalLB
https://blog.miraco.la/a-tale-of-two-vlans
Progressive Delivery for Stateful Services Using Argo Rollouts
https://codefresh.io/blog/progressive-delivery-for-stateful-services-using-argo-rollouts
https://codefresh.io/blog/progressive-delivery-for-stateful-services-using-argo-rollouts
Forwarded from AWS Notes
Terraform best practices from AWS
https://docs.aws.amazon.com/prenoscriptive-guidance/latest/terraform-aws-provider-best-practices/introduction.html
Backend
▫️ Use S3 for remote storage
▫️ Facilitate team collaboration
▫️ Separate the backends for each environment
▫️ Actively monitor remote state activity
Code
▫️ Implement a standard repository structure
▫️ Structure for modularity
▫️ Follow naming conventions
▫️ Use attachment resources
▫️ Use default tags
▫️ Meet Terraform Registry requirements
▫️ Use recommended module sources
▫️ Follow coding standards
Versions
▫️ Use the TFLint
▫️ Monitor new releases
Modules
▫️ Use variables for customization
▫️ Understand dependencies
▫️ Use trusted sources
#Terraform
https://docs.aws.amazon.com/prenoscriptive-guidance/latest/terraform-aws-provider-best-practices/introduction.html
Backend
▫️ Use S3 for remote storage
▫️ Facilitate team collaboration
▫️ Separate the backends for each environment
▫️ Actively monitor remote state activity
Code
▫️ Implement a standard repository structure
▫️ Structure for modularity
▫️ Follow naming conventions
▫️ Use attachment resources
▫️ Use default tags
▫️ Meet Terraform Registry requirements
▫️ Use recommended module sources
▫️ Follow coding standards
Versions
▫️ Use the TFLint
▫️ Monitor new releases
Modules
▫️ Use variables for customization
▫️ Understand dependencies
▫️ Use trusted sources
#Terraform
Optimize Java Performance On Kubernetes
https://lalitchaturveditech.medium.com/optimize-java-performance-on-kubernetes-5f055d406ecf
https://lalitchaturveditech.medium.com/optimize-java-performance-on-kubernetes-5f055d406ecf