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....

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....

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