DevOps vs Programming 🤔

DevOps Engineer āĻšāϤ⧇ āϗ⧇āϞ⧇ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻŋāĻ‚/āϕ⧋āĻĄāĻŋāĻ‚ āϜāĻžāύāĻž āϞāĻžāϗ⧇? 🇧🇩

“DevOps Engineer āĻšāϤ⧇ āϗ⧇āϞ⧇ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻŋāĻ‚/āϕ⧋āĻĄāĻŋāĻ‚ āϜāĻžāύāĻž āϞāĻžāϗ⧇ āύāĻžāĨ¤â€ āĻāχ āϧāĻžāϰāĻŖāĻžāϟāĻž āχāĻĻāĻžāύ⧀āĻ‚ āĻļ⧁āύāϤ⧇ āĻĒāĻžāĻšā§āĻ›āĻŋ āĻŽāĻžāĻā§‡ āĻŽāĻžāĻā§‡āĨ¤ āĻļ⧇āώ āĻ—āϤ āϏāĻĒā§āϤāĻžāĻšā§‡āĻ“ āϏāϰāĻžāϏāϰāĻŋ āφāĻŦāĻžāϰ āĻāĻ•āϟāĻž āĻĒā§āϰāĻļā§āύ āĻĒ⧇āϞāĻžāĻŽ āĻāϰāĻ•āĻŽ, “āĻ­āĻžāχ āφāĻŽāĻžāϰ āϕ⧋āĻĄāĻŋāĻ‚/āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻŋāĻ‚ āĻ•āϰāϤ⧇ āĻ­āĻžāϞ āϞāĻžāϗ⧇ āύāĻžāĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻļ⧁āύ⧇āĻ›āĻŋ DevOps āĻšāϤ⧇ āϗ⧇āϞ⧇ āĻāχāϏāĻŦ āĻ•āĻŋāϛ⧁ āϞāĻžāϗ⧇ āύāĻžāĨ¤ āφāĻŽāĻžāϕ⧇ āϏāĻžāĻœā§‡āĻļāύ āĻĻ⧇āύ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ DevOps Engineer āĻšāϤ⧇ āĻĒāĻžāϰāĻŦāĨ¤â€ āϤāĻžāϰ āĻĒā§āϰāϤāĻŋ āφāĻŽāĻžāϰ āĻĒā§āϰāĻĨāĻŽ āϏāĻžāĻœā§‡āĻļāύ āĻ›āĻŋāϞ, “āϝ⧇ āϕ⧋āύ āĻāĻ•āϟāĻž āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻŋāĻ‚ āĻ˛ā§āϝāĻžāĻ™ā§āϗ⧁āϝāĻŧ⧇āϜ āĻŦā§āϝāĻžāϏāĻŋāĻ• āĻļāĻŋāϖ⧇ āφāϏ⧇āύ, āϤāĻžāϰāĻĒāϰ āĻŦāĻžāĻ•āĻŋ āϏāĻžāĻœā§‡āĻļāύ āĻĻāĻŋāĻŦāĨ¤â€ :) āĻĒā§āϰāĻĨāĻŽā§‡āχ āĻŦāϞ⧇ āύ⧇āχ, “DevOps” āĻļāĻŦā§āĻĻāϟāĻž āĻ—āϤ āĻāĻ•-āĻĻ⧇āĻĄāĻŧ āĻĻāĻļāϕ⧇āϰ āĻ…āύ⧇āĻ• āĻŸā§āϰ⧇āĻ¨ā§āĻĄāĻŋ āĻ“ āĻŽāϤāϭ⧇āĻĻ⧇ āϖ⧁āĻŦ ‘āĻ•ā§āϝ⧁āĻ˛â€™ āĻāĻ•āϟāĻž āĻŦāĻŋāώāϝāĻŧāĨ¤ āĻāĻŦāĻ‚ āφāĻŽāĻžāϰ āĻ•āĻžāϛ⧇ āĻŽāύ⧇ āĻšāϝāĻŧ āĻŦāĻŋāĻ—āϤ āĻ•āϝāĻŧ⧇āĻ• āĻŦāĻ›āϰ⧇ āĻŸā§‡āĻ• āϜāĻ—āϤ⧇ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻŦ⧇āĻļā§€ āϭ⧁āϞ āϧāĻžāϰāĻŖāĻžāϰ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰ āĻšāϝāĻŧ⧇āϛ⧇ āĻāĻŽāύ āĻ•āϝāĻŧ⧇āĻ•āϟāĻž āĻŦāĻŋāώāϝāĻŧ⧇āϰ āĻŽāĻ§ā§āϝ⧇ DevOps āϖ⧁āĻŦāχ āωāĻĒāϰ⧇āϰ āϏāĻžāϰāĻŋāϰ āĻāĻ•āϟāĻž āϟāĻĒāĻŋāĻ•āĨ¤ āĻ…āύ⧇āĻ•āĻĻāĻŋāύ āχāĻ¨ā§āĻĄāĻžāĻ¸ā§āĻŸā§āϰāĻŋāϤ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇āĻ“ āĻ…āύ⧇āĻ• āϰāĻ•āĻŽā§‡āϰ āĻŦāĻŋāϤāĻ°ā§āĻ•āĻŋāϤ āϧāĻžāϰāĻŖāĻž āĻĒā§‹āώāĻŖ āĻ•āϰāĻž āϏāĻŽā§āĻ­āĻŦāĨ¤ āĻāχ āϝ⧇āĻŽāύ āĻ…āύ⧇āϕ⧇āχ āĻŽāύ⧇ āĻ•āϰ⧇āύ, “DevOps Engineer āϕ⧋āύ āϜāĻŦ āϰ⧋āϞ/āϟāĻžāχāĻŸā§‡āϞ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻžâ€āĨ¤ āϝ⧇āϟāĻž āφāĻŽāĻŋ āĻŦā§āϝāĻ•ā§āϤāĻŋāĻ—āϤāĻ­āĻžāĻŦ⧇ āĻŽā§‹āϟāĻžāĻŽā§‹āϟāĻŋ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰāĻŋāĨ¤ āĻ•āĻžāϰāĻŖ DevOps āĻšāĻšā§āϛ⧇ āĻāĻ• āϧāϰāύ⧇āϰ āĻŽāĻžāχāĻ¨ā§āĻĄāϏ⧇āϟ āĻŦāĻž āĻ•āĻžāϞāϚāĻžāϰāĨ¤ āĻ•āĻžāϞāϚāĻžāϰ āύāĻŋāϝāĻŧ⧇ āχāĻžā§āϜāĻŋāύāĻŋāϝāĻŧāĻžāϰāĻŋāĻ‚ āĻ•āϰāĻžāϰ āĻ•āĻŋāϛ⧁ āύ⧇āχāĨ¤ āĻāϟāĻž āĻ…āύ⧁āĻļā§€āϞāύ āĻ•āϰāϤ⧇ āĻšāϞ⧇ āĻ…āĻ¨ā§āϝ āĻ•āĻŋāϛ⧁ āχāĻžā§āϜāĻŋāύāĻŋāϝāĻŧāĻžāϰāĻŋāĻ‚ āĻĒā§āĻ°ā§āϝāĻžāĻ•āϟāĻŋāϏ āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇, āϏāĻĢāϟāĻ“āϝāĻŧā§āϝāĻžāϰ āχāĻžā§āϜāĻŋāύāĻŋāϝāĻŧāĻžāϰāĻŋāĻ‚ āĻĒā§āĻ°ā§āϝāĻžāĻ•āϟāĻŋāϏ āĻ…āύ⧇āĻ•āϗ⧁āϞ⧋ āĻĒā§āĻ°ā§āϝāĻžāĻ•āϟāĻŋāϏ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻžāĨ¤ āϤāĻŦ⧇ āĻĻāĻŋāύ āĻļ⧇āώ⧇ āϏ⧇āχ āĻŽāĻžāχāĻ¨ā§āĻĄāϏ⧇āĻŸā§‡ āĻ•āĻžāϜ āĻ āĻŋāĻ•āĻ āĻžāĻ• āĻ­āĻžāĻŦ⧇ āĻšāϞ⧇ āϰ⧋āϞ āύāĻŋāϝāĻŧ⧇ āϤ⧇āĻŽāύ āĻŽāĻžāϤāĻžāĻŽāĻžāϤāĻŋ āĻ•āϰāĻžāϰ āĻ•āĻŋāϛ⧁ āύāĻžāχ āĻŦāϞ⧇āĻ“ āφāĻŽāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻ•āϰāĻŋāĨ¤ āϝāĻžāχ āĻšā§‹āĻ•, āĻāχ āϧāĻžāϰāĻŖāĻž āύāĻŋāϝāĻŧ⧇ āĻ…āύ⧇āĻ• āĻŦāĻŋāϤāĻ°ā§āĻ• āφāϛ⧇ āĻāĻŦāĻ‚ āφāϞ⧋āϚāύāĻž āĻ•āϰāϤ⧇ āϗ⧇āϞ⧇ āĻ…āύ⧇āĻ• āĻŦāĻĄāĻŧ āĻĒā§‹āĻ¸ā§āϟ āϞ⧇āĻ–āĻž āϝāĻžāĻŦ⧇āĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁â€Ļ “DevOps Engineer āĻšāϤ⧇ āϗ⧇āϞ⧇ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻŋāĻ‚/āϕ⧋āĻĄāĻŋāĻ‚ āϜāĻžāύāĻž āϞāĻžāϗ⧇ āύāĻžâ€ āĻāχ āϧāĻžāϰāĻŖāĻž āĻ…āύ⧇āĻ• āĻŦāĻĄāĻŧ āϭ⧁āϞ āĻŦāϞ⧇ āφāĻŽāĻŋ āĻŽāύ⧇ āĻ•āϰāĻŋāĨ¤ āϝ⧇āϟāĻž āχāĻĻāĻžāύ⧀āĻ‚āĻ•āĻžāϞ⧇ āĻ…āύ⧇āĻ• āĻ­āĻžāĻ°ā§āϏāĻŋāϟāĻŋ āĻĒāĻĄāĻŧ⧁āϝāĻŧāĻž āϤāϰ⧁āĻŖāĻĻ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻŦāĻŋāϰāĻžāϜ āĻ•āϰāϛ⧇āĨ¤ āϕ⧇āω āϝāĻžāϤ⧇ āĻļ⧁āϰ⧁āϰ āĻĻāĻŋāϕ⧇āχ āĻĒāĻĨāĻ­ā§āϰāĻˇā§āϟ āύāĻž āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧ, āϏ⧇āϟāĻž āϚāĻŋāĻ¨ā§āϤāĻž āĻ•āϰ⧇ āĻ­āĻžāĻŦāϞāĻžāĻŽ DevOps āύāĻŋāϝāĻŧ⧇ āχāĻ¨ā§āĻĄāĻžāĻ¸ā§āĻŸā§āϰāĻŋāϤ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ āφāĻŽāĻžāϰ āϝāϤāϟ⧁āϕ⧁ āϧāĻžāϰāĻŖāĻž āĻšāϝāĻŧ⧇āϛ⧇ āϏ⧇āχāϟāĻž āϏāĻŦāĻžāϰ āϏāĻžāĻĨ⧇ āĻļ⧇āϝāĻŧāĻžāϰ āĻ•āϰāĻŋāĨ¤ ...

September 24, 2022 Âˇ 7 min Âˇ Anis Khan

OOP āĻĨ⧇āϕ⧇ āĻ•āĻŋ āĻļāĻŋāĻ–āϞāĻžāĻŽ? đŸŽ¯

You might think the world is object-oriented. But it's not! 🇧🇩

A sample program of mine, but not directly related to OOP or SOLID āφāĻŽāϰāĻž āϝāĻžāϰāĻž āĻ­āĻžāĻ°ā§āϏāĻŋāϟāĻŋāϤ⧇ āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ āϏāĻžā§Ÿā§‡āĻ¨ā§āϏ āĻŦāĻž āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āχāĻžā§āϜāĻŋāύāĻŋ⧟āĻžāϰāĻŋāĻ‚ āĻŦāĻŋāĻˇā§Ÿā§‡ āĻĒ⧜āĻžāĻļ⧁āύāĻž āĻ•āϰ⧇ āĻāϏ⧇āĻ›āĻŋ āĻŦāĻž āĻāĻ–āύ⧋ āĻ•āϰāĻ›āĻŋ, āĻŽā§‹āϟāĻžāĻŽā§āϟāĻŋ āϏāĻŦāĻžāϰāχ Object Oriented Programming āĻŦāĻž OOP āĻļāĻŋāĻ–āϤ⧇ āĻšā§Ÿā§‡āϛ⧇āĨ¤ āϝ⧇āĻ–āĻžāύ⧇ Encapsulation, Inheritence, Polymorphism āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āĻŦāĻŋāώ⧟āϗ⧁āϞ⧋ āĻĨāĻžāϕ⧇āĨ¤ āĻāĻŦāĻ‚ āĻĒā§āϰāĻžā§Ÿ āϏāĻŽā§Ÿāχ OOP āĻŦā§‹āĻāĻžāϰ āϜāĻ¨ā§āϝ āĻ•āĻŋāϛ⧁ āϏāĻžāϧāĻžāϰāĻŖ āωāĻĻāĻžāĻšāϰāĻŖ āφāĻŽāϰāĻž āĻĻ⧇āϖ⧇ āĻāϏ⧇āĻ›āĻŋ.. āϝ⧇āĻŽāύ Vehicle āύāĻžāĻŽā§‡ āĻāĻ•āϟāĻž class. āĻāĻ–āĻžāύ āĻĨ⧇āϕ⧇ āĻ•āĻŽāύ āϜāĻŋāύāĻŋāϏāϗ⧁āϞ⧋ āϝ⧇āĻŽāύ āϚāĻžāĻ•āĻž, āĻŦāĻĄāĻŋ, āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āύāĻŋā§Ÿā§‡ āĻ—āĻžā§œāĻŋ, āĻŦāĻžāϏ, āĻŸā§āϰāĻžāĻ• āχāĻ¤ā§āϝāĻžāĻĻāĻŋ object āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ—āĻžā§œāĻŋāϰ āĻ•ā§āϞāĻžāϏ āĻĨ⧇āϕ⧇ āφāĻŦāĻžāϰ āĻ•āĻŋāϛ⧁ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āϰāĻ‚ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧇ āϞāĻžāϞ āĻ—āĻžā§œāĻŋ, āύ⧀āϞ āĻ—āĻžā§œāĻŋ, āϏāĻŦ⧁āϜ āĻ—āĻžā§œāĻŋ āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ…āύ⧇āϕ⧇ āĻĒāϰāĻŋāĻŦāĻžāϰ⧇āϰ āϏāĻŽā§āĻĒāĻ°ā§āĻ• āĻĻāĻŋā§Ÿā§‡ āĻŦā§‹āĻāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧇.. āϝ⧇āĻŽāύ āĻĻāĻžāĻĻāĻž āĻĨ⧇āϕ⧇ āĻŦāĻžāĻŦāĻž, āĻŦāĻžāĻŦāĻž āĻĨ⧇āϕ⧇ āϤ⧁āĻŽāĻŋ, āĻĨāĻžāĻ• āĻ“āχāĻĻāĻŋāϕ⧇ āφāϰ āύāĻž āϗ⧇āϞāĻžāĻŽāĨ¤ ...

May 9, 2020 Âˇ 4 min Âˇ Anis Khan

Logging with Fluent Bit & InfluxDB đŸĒĩ

Minimal Logging Architecture in Kubernetes with Grafana

Motivation For a small Kubernetes cluster, I needed a minimal dashboard where logs from all the running applications in the Kubernetes environment can be viewed or grepped from one place. I thought about ELK (Elastic + Logstash + Kibana) first, but then I realized my small cluster has a config of only 2 nodes with a total 2 vCPU and 4GB RAM, which wouldn’t be a wise option for Elastic to run since it requires more resources to run smoothly. I wanted to use as few resources as possible to have the logging architecture setup. ...

April 15, 2020 Âˇ 5 min Âˇ Anis Khan

Speed up Docker build in CI environment 🏎

"If you’re building Docker images on your laptop for tagging release, be in shame, and then change your behavior" - Kelsey Hightower, 2018 That’s right! If you are building Docker images in your local machine, you are doing it wrong. We don’t want to build anything on our laptop. When we are tagging a new release for production, staging, or even for a dev environment, the build should trigger automatically to save time and avoid the hassle. But Docker builds in a CI environment might not be faster than our local machine if we don’t configure it properly. In this write-up, I’ll try to share my experience on how I achieved more speed building Docker images in a CI environment. ...

January 14, 2020 Âˇ 5 min Âˇ Anis Khan

Easy Continuous Delivery for Meteor app with GitLab + Heroku

Motivation 🌌 🌠 Recently I worked on a MeteorJS project. The live version of the app is hosted on Galaxy and there was no staging environment for this one. So we needed to deploy another instance of this app in a staging environment. The codebase was hosted on GitLab and we have a shared cluster of MongoDB in mLab. While we wanted to run the staging environment efficiently, we also wanted to make sure the deployment is as cost-effective as we can. ...

July 30, 2018 Âˇ 3 min Âˇ Anis Khan