DevOps vs Programming 🤔

“DevOps Engineer āĻšāĻ¤ā§‡ āĻ—ā§‡āĻ˛ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚/āĻ•ā§‹āĻĄāĻŋāĻ‚ āĻœāĻžāĻ¨āĻž āĻ˛āĻžāĻ—ā§‡ āĻ¨āĻžāĨ¤â€ āĻāĻ‡ āĻ§āĻžāĻ°āĻŖāĻžāĻŸāĻž āĻ‡āĻĻāĻžāĻ¨ā§€āĻ‚ āĻļā§āĻ¨āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›āĻŋ āĻŽāĻžāĻā§‡ āĻŽāĻžāĻā§‡āĨ¤ āĻļā§‡āĻˇ āĻ—āĻ¤ āĻ¸āĻĒā§āĻ¤āĻžāĻšā§‡āĻ“ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ†āĻŦāĻžāĻ° āĻāĻ•āĻŸāĻž āĻĒā§āĻ°āĻļā§āĻ¨ āĻĒā§‡āĻ˛āĻžāĻŽ āĻāĻ°āĻ•āĻŽ, “āĻ­āĻžāĻ‡ āĻ†āĻŽāĻžāĻ° āĻ•ā§‹āĻĄāĻŋāĻ‚/āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ•āĻ°āĻ¤ā§‡ āĻ­āĻžāĻ˛ āĻ˛āĻžāĻ—ā§‡ āĻ¨āĻžāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻļā§āĻ¨ā§‡āĻ›āĻŋ DevOps āĻšāĻ¤ā§‡ āĻ—ā§‡āĻ˛ā§‡ āĻāĻ‡āĻ¸āĻŦ āĻ•āĻŋāĻ›ā§ āĻ˛āĻžāĻ—ā§‡ āĻ¨āĻžāĨ¤ āĻ†āĻŽāĻžāĻ•ā§‡ āĻ¸āĻžāĻœā§‡āĻļāĻ¨ āĻĻā§‡āĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ DevOps Engineer āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦāĨ¤â€ āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋ āĻ†āĻŽāĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ¸āĻžāĻœā§‡āĻļāĻ¨ āĻ›āĻŋāĻ˛, “āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻāĻ•āĻŸāĻž āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ˛ā§āĻ¯āĻžāĻ™ā§āĻ—ā§āĻ¯āĻŧā§‡āĻœ āĻŦā§āĻ¯āĻžāĻ¸āĻŋāĻ• āĻļāĻŋāĻ–ā§‡ āĻ†āĻ¸ā§‡āĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ° āĻŦāĻžāĻ•āĻŋ āĻ¸āĻžāĻœā§‡āĻļāĻ¨ āĻĻāĻŋāĻŦāĨ¤â€ :) āĻĒā§āĻ°āĻĨāĻŽā§‡āĻ‡ āĻŦāĻ˛ā§‡ āĻ¨ā§‡āĻ‡, “DevOps” āĻļāĻŦā§āĻĻāĻŸāĻž āĻ—āĻ¤ āĻāĻ•-āĻĻā§‡āĻĄāĻŧ āĻĻāĻļāĻ•ā§‡āĻ° āĻ…āĻ¨ā§‡āĻ• āĻŸā§āĻ°ā§‡āĻ¨ā§āĻĄāĻŋ āĻ“ āĻŽāĻ¤āĻ­ā§‡āĻĻā§‡ āĻ–ā§āĻŦ ‘āĻ•ā§āĻ¯ā§āĻ˛â€™ āĻāĻ•āĻŸāĻž āĻŦāĻŋāĻˇāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧ āĻŦāĻŋāĻ—āĻ¤ āĻ•āĻ¯āĻŧā§‡āĻ• āĻŦāĻ›āĻ°ā§‡ āĻŸā§‡āĻ• āĻœāĻ—āĻ¤ā§‡ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļā§€ āĻ­ā§āĻ˛ āĻ§āĻžāĻ°āĻŖāĻžāĻ° āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ° āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŽāĻ¨ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻž āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ DevOps āĻ–ā§āĻŦāĻ‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻ°āĻŋāĻ° āĻāĻ•āĻŸāĻž āĻŸāĻĒāĻŋāĻ•āĨ¤ āĻ…āĻ¨ā§‡āĻ•āĻĻāĻŋāĻ¨ āĻ‡āĻ¨ā§āĻĄāĻžāĻ¸ā§āĻŸā§āĻ°āĻŋāĻ¤ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ“ āĻ…āĻ¨ā§‡āĻ• āĻ°āĻ•āĻŽā§‡āĻ° āĻŦāĻŋāĻ¤āĻ°ā§āĻ•āĻŋāĻ¤ āĻ§āĻžāĻ°āĻŖāĻž āĻĒā§‹āĻˇāĻŖ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦāĨ¤ āĻāĻ‡ āĻ¯ā§‡āĻŽāĻ¨ āĻ…āĻ¨ā§‡āĻ•ā§‡āĻ‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§‡āĻ¨, “DevOps Engineer āĻ•ā§‹āĻ¨ āĻœāĻŦ āĻ°ā§‹āĻ˛/āĻŸāĻžāĻ‡āĻŸā§‡āĻ˛ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžâ€āĨ¤ āĻ¯ā§‡āĻŸāĻž āĻ†āĻŽāĻŋ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻŽā§‹āĻŸāĻžāĻŽā§‹āĻŸāĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°āĻŋāĨ¤ āĻ•āĻžāĻ°āĻŖ DevOps āĻšāĻšā§āĻ›ā§‡ āĻāĻ• āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŽāĻžāĻ‡āĻ¨ā§āĻĄāĻ¸ā§‡āĻŸ āĻŦāĻž āĻ•āĻžāĻ˛āĻšāĻžāĻ°āĨ¤ āĻ•āĻžāĻ˛āĻšāĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ‡āĻžā§āĻœāĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ°āĻŋāĻ‚ āĻ•āĻ°āĻžāĻ° āĻ•āĻŋāĻ›ā§ āĻ¨ā§‡āĻ‡āĨ¤ āĻāĻŸāĻž āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ˛ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ‡āĻžā§āĻœāĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ°āĻŋāĻ‚ āĻĒā§āĻ°ā§āĻ¯āĻžāĻ•āĻŸāĻŋāĻ¸ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¸āĻĢāĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ‡āĻžā§āĻœāĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ°āĻŋāĻ‚ āĻĒā§āĻ°ā§āĻ¯āĻžāĻ•āĻŸāĻŋāĻ¸ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛ā§‹ āĻĒā§āĻ°ā§āĻ¯āĻžāĻ•āĻŸāĻŋāĻ¸ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻžāĨ¤ āĻ¤āĻŦā§‡ āĻĻāĻŋāĻ¨ āĻļā§‡āĻˇā§‡ āĻ¸ā§‡āĻ‡ āĻŽāĻžāĻ‡āĻ¨ā§āĻĄāĻ¸ā§‡āĻŸā§‡ āĻ•āĻžāĻœ āĻ āĻŋāĻ•āĻ āĻžāĻ• āĻ­āĻžāĻŦā§‡ āĻšāĻ˛ā§‡ āĻ°ā§‹āĻ˛ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¤ā§‡āĻŽāĻ¨ āĻŽāĻžāĻ¤āĻžāĻŽāĻžāĻ¤āĻŋ āĻ•āĻ°āĻžāĻ° āĻ•āĻŋāĻ›ā§ āĻ¨āĻžāĻ‡ āĻŦāĻ˛ā§‡āĻ“ āĻ†āĻŽāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°āĻŋāĨ¤ āĻ¯āĻžāĻ‡ āĻšā§‹āĻ•, āĻāĻ‡ āĻ§āĻžāĻ°āĻŖāĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ…āĻ¨ā§‡āĻ• āĻŦāĻŋāĻ¤āĻ°ā§āĻ• āĻ†āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻ—ā§‡āĻ˛ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻŦāĻĄāĻŧ āĻĒā§‹āĻ¸ā§āĻŸ āĻ˛ā§‡āĻ–āĻž āĻ¯āĻžāĻŦā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§â€Ļ “DevOps Engineer āĻšāĻ¤ā§‡ āĻ—ā§‡āĻ˛ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚/āĻ•ā§‹āĻĄāĻŋāĻ‚ āĻœāĻžāĻ¨āĻž āĻ˛āĻžāĻ—ā§‡ āĻ¨āĻžâ€ āĻāĻ‡ āĻ§āĻžāĻ°āĻŖāĻž āĻ…āĻ¨ā§‡āĻ• āĻŦāĻĄāĻŧ āĻ­ā§āĻ˛ āĻŦāĻ˛ā§‡ āĻ†āĻŽāĻŋ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋāĨ¤ āĻ¯ā§‡āĻŸāĻž āĻ‡āĻĻāĻžāĻ¨ā§€āĻ‚āĻ•āĻžāĻ˛ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ­āĻžāĻ°ā§āĻ¸āĻŋāĻŸāĻŋ āĻĒāĻĄāĻŧā§āĻ¯āĻŧāĻž āĻ¤āĻ°ā§āĻŖāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻŋāĻ°āĻžāĻœ āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻ•ā§‡āĻ‰ āĻ¯āĻžāĻ¤ā§‡ āĻļā§āĻ°ā§āĻ° āĻĻāĻŋāĻ•ā§‡āĻ‡ āĻĒāĻĨāĻ­ā§āĻ°āĻˇā§āĻŸ āĻ¨āĻž āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻ¸ā§‡āĻŸāĻž āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°ā§‡ āĻ­āĻžāĻŦāĻ˛āĻžāĻŽ DevOps āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ‡āĻ¨ā§āĻĄāĻžāĻ¸ā§āĻŸā§āĻ°āĻŋāĻ¤ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ†āĻŽāĻžāĻ° āĻ¯āĻ¤āĻŸā§āĻ•ā§ āĻ§āĻžāĻ°āĻŖāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¸ā§‡āĻ‡āĻŸāĻž āĻ¸āĻŦāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻļā§‡āĻ¯āĻŧāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤ ...

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

OOP āĻĨā§‡āĻ•ā§‡ āĻ•āĻŋ āĻļāĻŋāĻ–āĻ˛āĻžāĻŽ? đŸŽ¯

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 đŸĒĩ

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