TGViewer
مهندسی و علم داده مهندسی و علم داده @bimining · 3.98K subscribers
Post #1020 2.21K
منظور از DevOps (دوآپس) چیست؟ @BIMining
اگر شما هم در زمینهٔ توسعهٔ نرم‌افزار فعالیت داشته باشید، ممکن است آگهی‌های استخدام مهندس DevOps نظر شما را به خود جلب نموده یا حداقل سبب شده باشند تا از خود یا اطرافیان بپرسید که دوآپس چیست و یک متخصص این حوزه چه مسئولیت‌هایی دارا است و این همان چیزی است که در این این مقاله قصد داریم به بررسی‌اش بپردازیم.

برای درک بهتر این موضوع که مهندسان DevOps دقیقاً چه کاری انجام می‌دهند، بهتر است به چرخهٔ تولید نرم‌افزار نگاهی داشته باشیم اما پیش از آن، نیم‌نگاهی به تعریف این اصطلاح از ویکی‌پدیا خواهیم داشت:

در واقع DevOps یک فرایند تولید نرم‌افزار است که بر مبنای ارتباط و همکاری هرچه بیشتر میان تیم‌های تولید و توسعهٔ نرم‌افزار و تیم‌های اجرایی بنا شده است که در طی این فرآیند عملیاتی مانند Integration ،Testing و Deployment و همچنین اِعمال تغییرات زیرساختی به‌ صورت خودکار درمی‌آیند و در کل هدف از چنین فرایندی ایجاد فرهنگی است که در آن تولید، تست و انتشار نرم‌افزار به شیوه‌ای سریع، مداوم و مطمئن انجام شود.

حال بپردازیم به بررسی فرایند توسعهٔ نرم‌افزار به‌ طوری که این فرایند را می‌توان به پنج مرحلهٔ‌ اصلی تقسیم کرد که عبارتند از Planning ،Development ،Testing ،Deployment و Maintenance که در این میان، دو مرحلهٔ Planning و Maintenance بیشترین زمان مهندسین دوآپس را به خود اختصاص می‌دهند.

📌 طرح ریزی یا Planing
در این مرحله از کار، تیمی متشکل از دولوپرها، مدیران تولید و … اهداف پروژه را تعریف و ترسیم نموده و ساختار کلی نرم‌افزار را تعیین می‌کنند و در این مرحله مهندس دوآپس باید از دانش فنی اعضای تیم و تسلط آن‌ها بر پلتفرم‌های مورد استفاده بهره برده و بررسی نماید که چگونه می‌توان در قالب یک سیستم جامع و یکپارچه به تمام اهداف مورد نظر تیم جامهٔ عمل پوشاند (در کل، این مرحله از کار یکی از مراحل زمان‌بر است.)

پس از اینکه شِمای کلی سیستم اولیه پیاده‌سازی و اجرا شد، مهم‌ترین مسئله هدایت تیم در جهت نحوهٔ‌ افزودن قابلیت‌ها و تکنولوژی‌های از قبل تولیدشده به این سیستم است. در واقع، مهندس دوآپس همواره باید به‌ دنبال راه‌کار‌هایی برای انجام خودکار فرآیندهای مختلف باشد تا بار انجام این کارها تا حد امکان از دوش اعضای تیم برداشته شود. در این مرحله، مهندس دوآپس باید پاسخ سؤالات زیر را بیابد:

- دو سرویس مختلف چگونه می‌توانند با هم در تعامل باشند؟
- برای مرتبط کردن این دو سرویس، از چه پروتکلی باید استفاده نمود؟
- آیا سخت‌افزاری که در اختیار ما قرار دارد پاسخگوی نیاز ما هست؟
- برای اینکه بتوانم در امر تولید به مهندسان کمک کنم، نیاز به چه چیزهایی دارم؟
- آیا سرویس مذکور به‌ اصطلاح Production-Ready خواهد بود؟
- آیا تمام دیپندنسی‌های مورد استفاده در نرم‌افزار برای ما ملموس هستند؟
- چه چیزی را لازم است بسازیم و چه چیزی را باید خریداری کنیم؟
- آیا یک تَسک خاص را می‌توان به‌ صورت خودکار انجام داد؟
- چه‌طور می‌توان در آینده از این نرم‌افزار پشتیبانی نمود؟

📌 توسعه یا Development
در این مرحله، ترکیب‌بندی کلی کار مشخص شده و دیگر نوبت دولوپرها است که کد بزنند و قابلیت‌های پیش‌بینی شده را برای نرم‌افزار ایجاد کنند و هدف عمدهٔ‌ مهندس دوآپس در این مرحله این است که به دنبال راه‌هایی برای سریع‌تر انجام شدن کارها باشد. به عبارتی، وی باید راهی پیش پای دولوپرها بگذارد تا بتوانند بهترین کار را در کمترین زمان ممکن انجام دهند و این دقیقاً با هدف نهایی کار، یعنی تولید نرم‌افزار، هماهنگ و سازگار است. @BIMining

در حقیقت، در این پروسه مهندس دوآپس به دولوپرها می‌گوید که از چه ابزاری استفاده کنند و همچنین ابزارهای جدید را در اختیار آن‌ها قرار می‌دهد تا کارشان تسهیل گردد. همچنین این مهندس دوآپس است که باید بخش‌های مختلف کدهایی که توسط دولوپرها و در محیط توسعه نوشته شده‌اند را مانند قطعات پازل در کنار هم قرار داده و آن‌ها را با محیط نهایی نرم‌افزار هماهنگ کند و این کاری است که هر دولوپری از عهدهٔ آن بر نمی‌آید و شاید اگر مهندس دوآپس نمی‌بود، بسیاری از نرم‌افزارها قدرت، جلوه و شکوه امروزی خود نداشتند! سؤالاتی که یک مهندس دوآپس در این مرحله ممکن است با آن مواجه شود عبارتند از:

- چگونه می‌توانم دولوپرها را در فضایی مشابه فضای محصول نهایی نگاه دارم؟
- چه‌طور به دولوپرها اجازه دهم تا از ابزارهای مورد علاقهٔ‌ خود استفاده کنند؟
- چگونه می‌توانم بهره‌وری و کارایی دولوپرها را افزایش دهم؟
- چه‌طور باید برای دولوپرها توضیح دهم که محیط نهایی نرم‌افزار چگونه خواهد بود؟ @BIMining
More from @bimining
  1. Oct 1, 2026نکته مهم همین‌جاست: 100M Records ≠ 100M Records Read به همین دلیل: • Partitioning • ORDER…
  2. Oct 1, 2026چطور ClickHouse روی 100 میلیون رکورد Query اجرا می‌کند، بدون اینکه 100 میلیون رکورد را بخو…
  3. Sep 4, 2026قراردادی برای اینکه داده، قابل اعتماد بماند؛ Data Contract. در یک سیستم داده، ممکن است یک…
  4. Aug 16, 2026۵ الگوی معماری داده برای ۲۰۲۶ بحث ابزار نیست، بحث الگوست. الگوی غلط = خط لولهٔ مرده. ۱. لا…
  5. Jul 18, 2026ابزار dbt (Data Build Tool) در حال تسخیر دنیای مهندسی داده است. در ادامه لینک قیلمهای آموز…
  6. Jul 11, 2026معماری مدالیون(Medallion Architecture)، سیر تحول داده‌ها را از حالت خام اولیه تا نسخه‌ای ک…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →