๐Techie! ๐ Join me in exploring the latest trends, innovations, and advancement in the world of technology.๐ป๐ฑ#DevOps#TechEnthusiasts#CloudEngineering
Networking protocols you should know as a DevOps Engineer before attending an interview.
1. HTTP ๐
HTTP = HyperText Transfer Protocol.
Itโs used for communication between clients and web servers.
Where to use:
โ Websites
โ REST APIs
โ Microservices
โ Web applications
Example: GET /users โ Server returns user data.
------------------------------------------------------
2. HTTPS ๐
HTTPS = HTTP + SSL/TLS encryption.
It encrypts data between the client and server, preventing attackers from easily reading or modifying traffic.
Where to use:
โ Production websites
โ REST APIs
โ Login/payment systems
โ Any application handling sensitive data
Example: https://t.co/Kaiwzb0rPe
------------------------------------------------------
3. SSH ๐ฅ๏ธ
SSH = Secure Shell.
It provides encrypted remote access to servers and lets you securely execute commands.
Where to use:
โ Connecting to Linux servers
โ Server administration
โ Secure file transfers
โ Git operations
Example: ssh user@server
------------------------------------------------------
4. VPN ๐
VPN creates an encrypted tunnel between your device and another network over the internet.
Where to use:
โ Accessing private company networks
โ Connecting to private cloud resources
โ Secure remote access
โ Site-to-site connectivity
Example: Connecting to an internal AWS VPC from your laptop.
------------------------------------------------------
5. DNS ๐
DNS = Domain Name System.
It translates human-readable domain names into IP addresses.
Where to use:
โ Finding servers by domain name
โ Service discovery
โ Routing traffic to applications
โ Load balancing
Example:
https://t.co/OqCmrGL02y โ 10.20.30.40
------------------------------------------------------
6. SMTP ๐ง
SMTP = Simple Mail Transfer Protocol.
Itโs primarily used to send emails between mail clients and mail servers or between mail servers.
Where to use:
โ Sending emails
โ Application notifications
โ Password reset emails
โ Monitoring/alerting emails
Example: Your application sends an alert email when a production service goes down.
------------------------------------------------------
Save this if you're learning networking for DevOps/SRE.
CoreDNS in Kubernetes
Pods can get new IPs when they're created, deleted, or rescheduled. So you can't rely on hardcoding a Pod's IP.
So how does one Service find another inside a Kubernetes cluster?
That's where CoreDNS comes in.
CoreDNS is the default DNS server in Kubernetes. Its job is simple: translate a Service name into an IP address.
For example:
my-service.default.svc.cluster.local โ 10.96.x.x
That IP is the Service's ClusterIP. The Service then routes the traffic to the right Pod.
Kubernetes also automatically configures each Pod's /etc/resolv.conf to use the cluster DNS service, so DNS lookups from inside a Pod just work.
No hardcoded IPs. No manual updates when Pods move.
Just use the Service name, and Kubernetes handles the rest.
AWS is not about how many services you know.
Understanding IAM, networking, compute, storage, load balancing, monitoring, and security deeply will take you much further than knowing the definition of 50 AWS services.
๐Once the fundamentals are strong, learning a new AWS service becomes much easier.
โDonโt count AWS services.
โ Build AWS understanding.
CrashLoopBackOff and OOMKilled aren't the same problem and treating them the same wastes your time:
OOMKilled :
your container used more memory than its limit, kubernetes killed it. fix: raise the memory limit or find the leak.
CrashLoopBackOff :
this isn't the error, it's the SYMPTOM. it means your container keeps crashing and kubernetes keeps backing off before retrying.
the actual cause is buried in `kubectl describe pod` and `kubectl logs --previous`.
CrashLoopBackOff just means "something before this state failed repeatedly," go find what.
don't google "how to fix CrashLoopBackOff." google what's actually in your logs.
Readiness vs liveness probe in Kubernetes
the way i wish someone explained it to me on day one:
Liveness probe fails :
-- kubernetes thinks the container is dead
-- it restarts the pod
Readiness probe fails :
-- kubernetes thinks the container is alive but not ready
-- It pulls the pod OUT of the service, no restart
Mixing these up is how people accidentally restart-loop a pod that's just slow to warm up, instead of just... waiting for it to warm up.
How an application gets to production on AWS EKS:
๐จโ๐ป Developer โ Writes and commits code
๐ฟ Feature Branch โ Pushes changes for development
๐ Pull Request โ Opens the code for review
๐ Code Review โ Team reviews and approves changes
๐ Merge to Main โ Approved code is merged
๐ Webhook โ Automatically triggers CI/CD
โ๏ธ Build & Test โ Builds the app and runs unit tests
๐ก๏ธ Quality & Security โ SonarQube, OWASP & Trivy scan the code
๐ณ Docker + ECR โ Builds and pushes the container image
โ Helm / Argo CD โ Manages the Kubernetes deployment
โธ๏ธ AWS EKS โ Deploys the application to Kubernetes
๐ Rollout โ Rolling/Canary deployment gradually releases the new version
๐ Traffic โ Service โ Ingress โ AWS ALB routes traffic
๐งช Validation โ Smoke tests verify the deployment
๐ Monitoring โ Prometheus, Grafana & CloudWatch track application health
โ Production โ Application is stable and live
If you're integrating M-Pesa Daraja: build your callback handler to be idempotent from day one. Retries will duplicate events eventually.
Save yourself the debugging session.
Over the two days we hosted our Cursor Kenya events, I met some amazing people from this app who are building really cool stuff. Itโs always great seeing online connections turn into real conversations, collaborations and friendships. The builder community on X is unmatched.
Terraform drift isnโt always about changes to resources in the cloud.
A change to the Terraform state file can also create drift and in many cases, itโs even more challenging to detect and troubleshoot.
After completing @arpit_bhayaniโs Redis video series, I built FlashDB โ a lock-free, Redis-compatible database in Rust.
21.3M GET/s
15.7M SET/s
22.5M Pub/Sub/s
Single node Flash vs 6-node Redis Cluster.
๐ https://t.co/OcxYeFu9LQ
#Rust#Redis#Database#OpenSource
Networking 101: Port Forwarding ๐ ๏ธ
An ancient trick that can help you make a service available on a different port without a restart, or connect to an endpoint in a home network or a private or VPC subnet.
Practice forwarding ports using:
- socat https://t.co/BMJ4tflgpL
- netcat https://t.co/ANRAQITrvP
- ssh https://t.co/jlaEw8y7zy
- proxy-less https://t.co/GphEAaEHxS
So far, Iโve helped 4 software engineers (Junior, Mid, Senior) land roles.
Mock interviews, teaching concepts, helping them prepare.
Makes me genuinely happy.
But todayโs student made me the proudest.
Got a better paying offerโ