✔️ مفهوم DevOps
با ایجاد فضاهای ابری، بسیاری از تیم های توسعه نرم افزار به سراغ آنها رفتند. این فضاها امکان توسعه چابک نرم افزارها را به کاربران می دهد و در نتیجه امکان تعامل کاربران با سیستم های مدیریت بسیار بهتر و سریعتر شد. ولی مشکلی که وجود داشت هماهنگی تیم های کیفیت، روابط عمومی و تحقیق و توسعه بود. فضاهای ابری سرعت ها را زیاد و فاصله ها را کم کرد، در نتیجه تعارض هایی که تا قبل به مرور قابل حل بودند، اکنون به شدت رخ می نمودند و مشتریان ناراضی و فشارهای توسعه و عیب یابی سبب شد که مدیران به خلق مفهوم جدیدی به نام دواپس اقدام کنند.
در مفهوم DevOps سعی بر این است که تیم ها به همدیگر نزدیکتر شوند، تعاملات بیشتری با هم داشتن باشند و تا حد بسیار زیادی روال های تکراری حذف شود. با انجام اینکار تحویل ارزش به مشتری با شتاب بیشتری انجام می شد و توقف ها بسیار کمتر می گردید.
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
با ایجاد فضاهای ابری، بسیاری از تیم های توسعه نرم افزار به سراغ آنها رفتند. این فضاها امکان توسعه چابک نرم افزارها را به کاربران می دهد و در نتیجه امکان تعامل کاربران با سیستم های مدیریت بسیار بهتر و سریعتر شد. ولی مشکلی که وجود داشت هماهنگی تیم های کیفیت، روابط عمومی و تحقیق و توسعه بود. فضاهای ابری سرعت ها را زیاد و فاصله ها را کم کرد، در نتیجه تعارض هایی که تا قبل به مرور قابل حل بودند، اکنون به شدت رخ می نمودند و مشتریان ناراضی و فشارهای توسعه و عیب یابی سبب شد که مدیران به خلق مفهوم جدیدی به نام دواپس اقدام کنند.
در مفهوم DevOps سعی بر این است که تیم ها به همدیگر نزدیکتر شوند، تعاملات بیشتری با هم داشتن باشند و تا حد بسیار زیادی روال های تکراری حذف شود. با انجام اینکار تحویل ارزش به مشتری با شتاب بیشتری انجام می شد و توقف ها بسیار کمتر می گردید.
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
👍1
✔️ ابزارهای دوآپس به نقل از آقای بستان دوست
واقعا خیلی سخت میشه گفت چه ابزارهایی میشن ابزارهای DevOps چون ابزار لازم برای هر پروژه میتونه متفاوت باشه. این لیستی که براتون نوشتم بعضی از ابزارهایی هست که من استفاده میکنم یا تو رفرنس های مختلف پیشنهاد شده و نیاز هم نیست همرو بلد باشید.
1- مدیریت چرخه توسعه: Kanboard, Wekan
2- ارتباط جمعی و اشتراک منابع: Rocket.chat, Nextcloud
3- اشتراک دانش: readthedocs.io
4- مدیریت/کنترل ورژن و سورس: Gitlab, Redmine, Trac, Gerrit
5- مدیریت باگ: همون ابزارهای بالایی
6- ادغام خودکار (CI): Jenkins, Travis CI, Zuul CI, Buildbot
7- تولید(Build): Docker, Make
8- تست: pytest, Selenium
9- گزارش: pylint, Cobertura
10- کانفیگ و استقرار: Juju, Ansible
11- راه اندازی(Provisioning): Vagrant, Spacewalk, MAAS
12- مدیریت ایمیج و بسته: Docker Hub, Docker Registry, pip, npm
13- کلود: OpenStack, OpenShift, AWS, Heroku
14- ارکستریشن: Kubernetes, Docker Swarm, Mesos, Mesosphere
15- مانیتورینگ: Zabbix, Prometheus, Nagios
16- جمع آوری لاگ: ELK, Graylog, rsyslog, LOGalyze
17- مصورسازی: Grafana, Kibana, Netdata
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
واقعا خیلی سخت میشه گفت چه ابزارهایی میشن ابزارهای DevOps چون ابزار لازم برای هر پروژه میتونه متفاوت باشه. این لیستی که براتون نوشتم بعضی از ابزارهایی هست که من استفاده میکنم یا تو رفرنس های مختلف پیشنهاد شده و نیاز هم نیست همرو بلد باشید.
1- مدیریت چرخه توسعه: Kanboard, Wekan
2- ارتباط جمعی و اشتراک منابع: Rocket.chat, Nextcloud
3- اشتراک دانش: readthedocs.io
4- مدیریت/کنترل ورژن و سورس: Gitlab, Redmine, Trac, Gerrit
5- مدیریت باگ: همون ابزارهای بالایی
6- ادغام خودکار (CI): Jenkins, Travis CI, Zuul CI, Buildbot
7- تولید(Build): Docker, Make
8- تست: pytest, Selenium
9- گزارش: pylint, Cobertura
10- کانفیگ و استقرار: Juju, Ansible
11- راه اندازی(Provisioning): Vagrant, Spacewalk, MAAS
12- مدیریت ایمیج و بسته: Docker Hub, Docker Registry, pip, npm
13- کلود: OpenStack, OpenShift, AWS, Heroku
14- ارکستریشن: Kubernetes, Docker Swarm, Mesos, Mesosphere
15- مانیتورینگ: Zabbix, Prometheus, Nagios
16- جمع آوری لاگ: ELK, Graylog, rsyslog, LOGalyze
17- مصورسازی: Grafana, Kibana, Netdata
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
✔️ تصورات اشتباه درباره DevOps
شاید بهدلیل جدید بودن و چند بعدی بودن واژه دوآپس است که کژفهمیها و تصورات اشتباهی از آن وجود دارد:
آیا دوآپس یک ابزار است؟
آیا دوآپس یک تکنولوژی است؟
آیا دوآپس یک تیم است؟
آیا دوآپس فقط یک فرهنگ است؟
آیا دوآپس فقط Automation است؟
آیا دوآپس فقط یک عنوان شغلی است؟
آیا دوآپس فقط یک سبک تفکر است؟
آیا دوآپس فقط Continuous Delivery است؟
آیا دوآپس بهمعنی حذف Operation است؟
آیا دوآپس فقط به توسعه و عملیات (Dev و Ops) محدود میشود؟
آیا دوآپس به همهچیز در همهجا مربوط میشود؟
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
شاید بهدلیل جدید بودن و چند بعدی بودن واژه دوآپس است که کژفهمیها و تصورات اشتباهی از آن وجود دارد:
آیا دوآپس یک ابزار است؟
آیا دوآپس یک تکنولوژی است؟
آیا دوآپس یک تیم است؟
آیا دوآپس فقط یک فرهنگ است؟
آیا دوآپس فقط Automation است؟
آیا دوآپس فقط یک عنوان شغلی است؟
آیا دوآپس فقط یک سبک تفکر است؟
آیا دوآپس فقط Continuous Delivery است؟
آیا دوآپس بهمعنی حذف Operation است؟
آیا دوآپس فقط به توسعه و عملیات (Dev و Ops) محدود میشود؟
آیا دوآپس به همهچیز در همهجا مربوط میشود؟
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
✔️ آشنایی با Kubernetes
در حال حاضر کانتینرها زیرساخت بسیاری از شرکتهای نرمافزاری هستند، زیرا آنها قابلیتهایی همچون جابجایی، توسعه سریع نرم افزار و استقلال بیشتر توسعه دهندگان جهت توسعه یک نرم افزار را فراهم میکنند. هنگامی که ما از کانتینرها در مقیاس بزرگ استفاده میکنیم، نیازمند راهی برای راه اندازی، تحلیل و مدیریت "هزاران" یا "میلیونها" کانتینر به صورت خودکار میباشیم. این در واقع کاری است که Kubernetes انجام میدهد.
#Kubernetes
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
در حال حاضر کانتینرها زیرساخت بسیاری از شرکتهای نرمافزاری هستند، زیرا آنها قابلیتهایی همچون جابجایی، توسعه سریع نرم افزار و استقلال بیشتر توسعه دهندگان جهت توسعه یک نرم افزار را فراهم میکنند. هنگامی که ما از کانتینرها در مقیاس بزرگ استفاده میکنیم، نیازمند راهی برای راه اندازی، تحلیل و مدیریت "هزاران" یا "میلیونها" کانتینر به صورت خودکار میباشیم. این در واقع کاری است که Kubernetes انجام میدهد.
#Kubernetes
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
✔️ کانتینرها تنها برای یک کار ساخته شدهاند.
🔶 بهترین روش برای کاهش دغدغههای نگهداری کانتینرها این است که کانتینرهای داکر را تنها با یک process ایجاد کنید و از ایجاد چندین process در یک کانتینر خودداری کنید.
❌ ایجاد چندین process در درون یک کانتینر، گاها Anti Pattern نیز درنظر گرفته میشود مگر اینکه دلایل قانع کنندهای وجود داشته باشد.
این مورد نه تنها در Docker، بلکه در Kubernetes نیز صادق است و بهتر است کانتینرهای درون یک Pod کوبرنتیز نیز تنها یک کار را انجام دهند.
✅ اصل Separatation Of Concern یک اصل مهم برای نگهداری راحتتر زیرساخت های کانتینر بیس است.
A container shouldn’t run multiple processes. A pod shouldn’t contain multiple containers if they don’t need to run on the same machine.
#Docker #Kubernetes
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
🔶 بهترین روش برای کاهش دغدغههای نگهداری کانتینرها این است که کانتینرهای داکر را تنها با یک process ایجاد کنید و از ایجاد چندین process در یک کانتینر خودداری کنید.
❌ ایجاد چندین process در درون یک کانتینر، گاها Anti Pattern نیز درنظر گرفته میشود مگر اینکه دلایل قانع کنندهای وجود داشته باشد.
این مورد نه تنها در Docker، بلکه در Kubernetes نیز صادق است و بهتر است کانتینرهای درون یک Pod کوبرنتیز نیز تنها یک کار را انجام دهند.
✅ اصل Separatation Of Concern یک اصل مهم برای نگهداری راحتتر زیرساخت های کانتینر بیس است.
A container shouldn’t run multiple processes. A pod shouldn’t contain multiple containers if they don’t need to run on the same machine.
#Docker #Kubernetes
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
👍2
✔️ آشنایی با Jenkins قدرتمند
🔶 امروزه با توجه به محیط رقابتی شرکت ها در تولید نرم افزار، نیاز است تولید، ویرایش و انتشار ورژن های مختلف نرم افزار با بالاترین کیفیت و در کمترین زمان ممکن انجام شود. یکی از راهکارهای حوزه DevOps برای پوشش این نیازمندی نرم افزار Jenkins جهت اجرای روال CI/CD می باشد. Jenkins یکی از محبوبترین ابزارهای این حوزه جهت یکپارچه سازی این روندها می باشد.
#Jenkins
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
🔶 امروزه با توجه به محیط رقابتی شرکت ها در تولید نرم افزار، نیاز است تولید، ویرایش و انتشار ورژن های مختلف نرم افزار با بالاترین کیفیت و در کمترین زمان ممکن انجام شود. یکی از راهکارهای حوزه DevOps برای پوشش این نیازمندی نرم افزار Jenkins جهت اجرای روال CI/CD می باشد. Jenkins یکی از محبوبترین ابزارهای این حوزه جهت یکپارچه سازی این روندها می باشد.
#Jenkins
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
👍1
✔️ مانیتورینگ با Grafana
مانیتورینگ یکی از بحثهای شیرین حوزه DevOps هست و زنده بودن اپلیکیشن رو روی نمودارهای مختلف نشون میده. 😊
گرافانا یکی از ابزارهای قدرتمند مانیتورینگ و در عین حال ساده هست، به صورتی که با چند کلیک میتونید یک سیستم مانیتورینگ پیشفرض برای اپلیکیشنتون راه اندازی کنید و یک داشبورد زیبا و کاربردی بسازید.
#Grafana #Monitoring
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
مانیتورینگ یکی از بحثهای شیرین حوزه DevOps هست و زنده بودن اپلیکیشن رو روی نمودارهای مختلف نشون میده. 😊
گرافانا یکی از ابزارهای قدرتمند مانیتورینگ و در عین حال ساده هست، به صورتی که با چند کلیک میتونید یک سیستم مانیتورینگ پیشفرض برای اپلیکیشنتون راه اندازی کنید و یک داشبورد زیبا و کاربردی بسازید.
#Grafana #Monitoring
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
👍1
🛑 فوری / مسدود شدن اکانتهای ایرانی گیتلب
سرویس Gitlab.com پس از تحریم IP Address های ایرانی، بدون اخطار قبلی شروع به مسدود کردن اکانتهای ایرانی کرده.
👈 هرچه سریعتر قبل از مسدود شدن اکانتتون، از پروژهها و سورسهاتون بک آپ بگیرید.
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
سرویس Gitlab.com پس از تحریم IP Address های ایرانی، بدون اخطار قبلی شروع به مسدود کردن اکانتهای ایرانی کرده.
👈 هرچه سریعتر قبل از مسدود شدن اکانتتون، از پروژهها و سورسهاتون بک آپ بگیرید.
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
✔️ کتاب Effective DevOps
کتاب Effective DevOps از کتابهای خوب انشارات O'Reilly برای یادگیری فرهنگهای دوآپس هست. این کتاب رو میتونید به راحتی پیدا کنید و مطالعه کنید.
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
کتاب Effective DevOps از کتابهای خوب انشارات O'Reilly برای یادگیری فرهنگهای دوآپس هست. این کتاب رو میتونید به راحتی پیدا کنید و مطالعه کنید.
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
👍2
✔️گروه پرسش و پاسخ DevOps
گروه پرسش و پاسخ DevOps Expert راه اندازی شد. حضور شما به منظور اشتراک دانش مباحث حوزه DevOps باعث غنیتر شدن کامیونیتی فارسی زبانان DevOps است. 🙂
👉 link: https://t.iss.one/DevOpsExpertGroup
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
گروه پرسش و پاسخ DevOps Expert راه اندازی شد. حضور شما به منظور اشتراک دانش مباحث حوزه DevOps باعث غنیتر شدن کامیونیتی فارسی زبانان DevOps است. 🙂
👉 link: https://t.iss.one/DevOpsExpertGroup
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
👍1
✔️ پادهای سازمندهی نشده Kubernetes
اولین قدم در راه اندازی میکروسرویسها روی بستر Kubernetes، اجرای Pod های کوبرنتیز هست (هر Pod شامل یک یا چند کانتینر داکر است). اگر پادهای کوبرنتیز در یک ساختار میکروسرویس بدون label و سازماندهی باشند، در انتهای معماری به اسپاگتی عکسی که میبینید خواهیم رسید! که مدیریت کلاستر را به مراتب سختتر خواهد کرد.
#Kubernetes
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
اولین قدم در راه اندازی میکروسرویسها روی بستر Kubernetes، اجرای Pod های کوبرنتیز هست (هر Pod شامل یک یا چند کانتینر داکر است). اگر پادهای کوبرنتیز در یک ساختار میکروسرویس بدون label و سازماندهی باشند، در انتهای معماری به اسپاگتی عکسی که میبینید خواهیم رسید! که مدیریت کلاستر را به مراتب سختتر خواهد کرد.
#Kubernetes
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
👍1
✔️ پادهای سازماندهی شده Kubernetes
با استفاده از label های کوبرنتیز، میتونیم مشکل سازمندهی پادها رو حل کنیم و زندگی رو برای خودمون و دیگران، راحتتر کنیم.
#Kubernetes
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
با استفاده از label های کوبرنتیز، میتونیم مشکل سازمندهی پادها رو حل کنیم و زندگی رو برای خودمون و دیگران، راحتتر کنیم.
#Kubernetes
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
👍1
✔معرفی پادکست کامپایل
در این پادکست به مباحث مربوط به نرم افزار و دنیای کامپیوتر پرداخته میشه اما علت معرفی به دوستان اینکه در سه قسمت خلاصه کتاب مربوط به DevOps پرداخته میشه برای دوستانی که اطلاعی از چیستی دواپس ندارن پیشنهاد میکنم حتما این سه قسمت رو گوش کنند
لینک اشتراکی کست باکس برای عزیزان قرار داده میشه از پادگیرهای دیگ هم میتونید این پادکست خوب رو دنبال کنید
👉🏻link: https://castbox.fm/va/2002857
#پادکست
#معرفی
〰〰〰〰〰〰
©@DevOpsEx
در این پادکست به مباحث مربوط به نرم افزار و دنیای کامپیوتر پرداخته میشه اما علت معرفی به دوستان اینکه در سه قسمت خلاصه کتاب مربوط به DevOps پرداخته میشه برای دوستانی که اطلاعی از چیستی دواپس ندارن پیشنهاد میکنم حتما این سه قسمت رو گوش کنند
لینک اشتراکی کست باکس برای عزیزان قرار داده میشه از پادگیرهای دیگ هم میتونید این پادکست خوب رو دنبال کنید
👉🏻link: https://castbox.fm/va/2002857
#پادکست
#معرفی
〰〰〰〰〰〰
©@DevOpsEx
Castbox
Compile Podcast / پادکست کامپایل | Listen Free on Castbox.
پادکستی از طرف یه برنامه نویس برای برنامه نویس ها.<br /><br />دنیای برنامه نویسی یه دنیاییه که هر کد نویسی یه سفر متفاوتی توش تجربه میکنه ، پر از جذابیت...
✔️ Google Cloud Anthos
امیدوارم یه روزی توی ایران همچین سرویسهایی رو داشته باشیم و بتونیم با قابلیت اطمینان بالا ازشون استفاده کنیم.
🔶 Modernize existing applications and build cloud-native apps anywhere to promote agility and cost savings.
✅ Enterprise-grade container orchestration and management service
✅ Automate policy and security at scale
✅ Fully managed service mesh with built-in visibility
✅ Modernizing your security for hybrid and multi-cloud deployments
#معرفی #Anthos #GCP
https://cloud.google.com/anthos
〰️〰️〰️〰️〰️
© @DevOpsEx
امیدوارم یه روزی توی ایران همچین سرویسهایی رو داشته باشیم و بتونیم با قابلیت اطمینان بالا ازشون استفاده کنیم.
🔶 Modernize existing applications and build cloud-native apps anywhere to promote agility and cost savings.
✅ Enterprise-grade container orchestration and management service
✅ Automate policy and security at scale
✅ Fully managed service mesh with built-in visibility
✅ Modernizing your security for hybrid and multi-cloud deployments
#معرفی #Anthos #GCP
https://cloud.google.com/anthos
〰️〰️〰️〰️〰️
© @DevOpsEx
Google Cloud
Anthos Powers Enterprise Container Platforms
Anthos is the core enterprise technology that empowers Google Kubernetes Engine (GKE) and Google Distributed Cloud (GDC).