ডেভঅপস (DevOps) | Ahsan Tech Tips
ডেভঅপস (DevOps)
বর্তমান টেক দুনিয়ায় DevOps (Development and Operations) একটি জনপ্রিয় প্রফেশান হিসেবে গড়ে উঠেছে। DevOps মূলত একটি প্রসেস যা সফটওয়্যার ডেভেলপমেন্ট এবং আইটি অপারেশনস টিমের মধ্যে কম্বাইন করে, যার ফলে ফাস্ট, রিলায়েবল এবং ইফেক্টিভ সফটওয়্যার ডেলিভারি এনশিউর হয়। DevOps-এ ডেভেলপ মানে কেবল টেকনিক্যাল স্কিল নয়, বরং টিম কোলাবোরেশন, কালচারাল চেঞ্জ এবং ডেভেলপ প্রসেসের ইউজের স্কিলও এতে ইনক্লুডেট।
ইতিহাস
২০১০ সালে জিন কিম "দ্য আইডিয়াল ডিওঅপস প্রসেস" শিরোনামে একটি ব্লগ পোস্ট লেখার পরে DevOps শব্দটি চালু করেছিলেন।
DevOps কিভাবে কাজ করে?
Development এবং operation টিমগুলি একটি DevOps মডেলের অধীনে একসাথে কাজ করে। উভয় দলের engineer রা development এবং testing থেকে শুরু করে deployment এবং operation পর্যন্ত সমগ্র application lifecycle জুড়ে একত্রিত হয়ে কাজ করবে। DevOps এর কাজ হচ্ছে সম্পূর্ণ application process এর উভয় প্রান্তের skill গুলোকে একত্রিত করা এবং এর যথাযত প্রয়োগ করা।
DevOps workflow
DevOps workflow একটি পুনরাবৃত্তিমূলক, এটি ৮ টি ধাপে বিভক্ত:
১। Plan (পরিকল্পনা): এই পর্যায়ে, টীম টি ব্যবসার প্রয়োজনীয়তা চিহ্নিত করে এবং একটি রোডম্যাপ তৈরি করে যা প্রোডাক্টের business value কে সর্বোচ্চ করে।
২। Code: এটি সেই পর্যায় যেখানে Software এর প্রকৃত development এর কাজ করা হয়।
৩। Build: এই পর্যায়ে একবার ডেভেলপমেন্ট কাজগুলি সম্পন্ন হলে, কোডটি শেয়ার করা রিপোজিটরিতে commit করা হয়।
৪। Test: বিল্ডটি testing environment এ স্থাপন করা হয়, এবং পরীক্ষাগুলি চালানো হয়। এর মধ্যে সাধারণত unit testing, integration testing, UI automation testing অন্তর্ভুক্ত থাকে, সেইসাথে manual test যেমন user acceptance test পরীক্ষাও অন্তর্ভুক্ত থাকে।
৫। Release: এই পর্যায়ে একবার testing phase শেষ হয়ে গেলে, DevOps ইঞ্জিনিয়ারদের দ্বারা build টি প্রস্তুত করা হয় উৎপাদন পরিবেশে মোতায়েন করার জন্য।
৬। Deploy: এই পর্যায়ে, build টি ইনস্টল করা হয়, পরীক্ষা করা হয় এবং production এ implement করা হয় এবং end-user কারীদের কাছে উম্মুক্ত করা হয়।
৭। Operate: এই পর্যায়ে, শুরু থেকে শেষ পর্যন্ত ক্লায়েন্টদের কাছে তাদের IT service গুলোকে delivery করার ব্যবস্থা করা হয়। অর্থাৎ একটি প্রতিষ্ঠানের service গুলিকে সমর্থন করে এমন IT পরিকাঠামো যেমন designing, implementing, configuring, deploying এবং maintaining করার পদ্ধতিগুলিকে delivery করার ব্যবস্থা করা হয়।
৮। Monitor: প্রতিটি release এ DevOps টিম দ্বারা evaluate বা মূল্যায়ন করা হয়, এবং ভবিষ্যতের সফ্টওয়্যার রিলিজ উন্নত করার জন্য রিপোর্ট প্রদান করে। যেন টীম গুলি তাদের process গুলি ভবিষ্যতে অপ্টিমাইজ করতে পারে এছাড়াও DevOps টিম ক্রমাগত সফটওয়্যার এর ব্যাপারে feedback সংগ্রহ করতে থাকে যেন পরবর্তী রিলিজে ভোক্তার চাহিদা অনুযায়ী সফ্টওয়ার কে আরো উন্নত করা যায়।
DevOps এর সুবিধা
একটি DevOps পদ্ধতির প্রধান সুবিধাগুলো হল নিম্নরূপ:
১। দ্রুত সফ্টওয়্যার ডেলিভারি: CI/CD পাইপলাইনের সাথে, deployment দ্রুত হয় । বিদ্যমান service গুলি আপডেট করতে, নতুন সিস্টেম ডেপ্লয় করতে, features বা bug ফিক্স করতে কম সময় লাগে৷ এটি একটি গুরুত্বপূর্ণ প্রতিযোগিতামূলক সুবিধা আনতে পারে এবং একটি ভাল user experience প্রদান করতে পারে।
২। সহযোগিতাকে উন্নতি করে: DevOps পদ্ধতি practice করলে, developer রা এবং operations team গুলি ঘনিষ্ঠভাবে কাজ করে, এবং তাদের responsibility গুলো একে অন্যের সাথে শেয়ার করে, যা কাজের visibility বাড়ায়। team গুলি আরও সংযুক্ত এবং তারা সবাই একই লক্ষ্য ও উদ্দেশ্যের দিকে কাজ করে।
৩। প্রোডাক্টিভিটি বৃদ্ধি করে: DevOps পদ্ধতি ব্যবহারের ফলে কাজকে আর আলাদা করা প্রয়োজন হয় না, এবং টীম গুলোর সাথে উন্নত যোগাযোগ ব্যবস্থার দরুন, কাজের মধ্যে আরও বেশি স্বচ্ছতা থাকে, যা টীম গুলিকে আরও দক্ষতার সাথে কাজ করতে সাহায্য করে। যার ফলে কোম্পানির প্রোডাক্টিভিটি বৃদ্ধি পায়।
৪। পুনরাবৃত্তিমূলক কাজগুলিকে স্বয়ংক্রিয় করে: এই কাজগুলি ম্যানুয়ালি না করার দুর্দান্ত সুবিধা ছাড়াও, এটি প্রজেক্টের উদ্ভাবনগুলিতে কাজ করার জন্য দলকে আরও সময় দেয়।
৫। গুণগতমান এবং নির্ভরযোগ্যতা বর্ধিত করে: ক্রমাগত integration এবং delivery practice গুলি নিশ্চিত করে যে পরিবর্তনগুলি কার্যকরী এবং স্থিতিশীল, একটি সফ্টওয়্যার পণ্যের গুণমান উন্নত করে। মনিটরিং টীম গুলিকে real-time কর্মক্ষমতা সম্পর্কে আপ টু ডেট থাকতে দেয়।
৬। উন্নত নিরাপত্তা: নিয়মিত ইন্টিগ্রেশন, নিয়মিত ডেলিভারি, এবং ক্রমাগত ডিপ্লয়মেন্ট পাইপলাইনে নিরাপত্তা পরীক্ষার সমন্বয় করে DevOps-এ নিরাপত্তা আরও উন্নত করে।
৭। আরও ঘন ঘন releases: DevOps ব্যবহারের ফলে গ্রাহকরা প্রায়শই আপডেট এবং বাগ ফিক্স পেতে পারেন-এটি আরও ভাল গ্রাহক সন্তুষ্টির দিকে পরিচালিত করবে।
DevOps অভিজ্ঞতা মডেলের পর্যায়
১। Initial: একটি ট্রাডিশনাল মডেল, যেখানে development team এবং operations team সম্পূর্ণ আলাদা থাকে।
২। Managed: যখন DevOps-এর দিকে প্রাথমিক শিফট হয়, এবং Ops process গুলি automated হতে শুরু করে। তখন Dev এবং Ops মধ্যে সহযোগিতা বৃদ্ধি পেতে থাকে, কারণ team গুলি আর আলাদা হয় না। এটা একটা proof-of-concept স্টেজ।
৩। Defined: সমস্ত practice গুলোর জন্য অটোমেশন প্রক্রিয়াগুলি (development এবং testing) সংজ্ঞায়িত করা হয় এবং একটা জায়গায় রাখা হয়। এবং পরিবর্তনগুলি সাংগঠনিক পর্যায়ে প্রয়োগ করা হয়।
৪। Measured: team গুলি তাদের নোলেজকে একে অন্যের সাথে শেয়ার করে নেয় এবং Process এবং Tool গুলির অনুশীলনগুলিকে মানিয়ে নেয়৷ Automation এবং Tool গুলোর যোগাযোগ উন্নত হয়, এবং স্ট্যান্ডার্ড নীতিগুলি মান প্রয়োগ করতে ব্যবহৃত হয়।
৫। Optimized: ক্রমাগত উন্নতির জন্য ফলাফল দেখা যেতে শুরু করে৷ DevOps একাধিক টুল সেট বা পদ্ধতিতে পরিণত হতে পারে। উদাহরণ স্বরূপ, গ্রাহক-মুখী অ্যাপগুলি (যারা সাধারণত B2C অ্যাপস) আরও ঘন ঘন নতুন ভার্সন নিয়ে আসে, যখন FinTech অ্যাপগুলি DevSecOps নীতিগুলি বেশি মেনে চলে।
DevOps Tools
1. Planning Tools
2. Version Control Tools
3. Continuous Integration Tools
4. Configuration Management Tools
5. Continuous Operations Tools
1.png)
কোন মন্তব্য নেই