Forwarded from Gopher Academy
🔵 عنوان مقاله
celebrates its tenth anniversary with a look
🟢 خلاصه مقاله:
این مقاله دهمین سالگرد یک ابزار زیرساختی متنباز مبتنی بر Go را جشن میگیرد و نشان میدهد چگونه از یک ابزار کوچک به مولفهای بالغ و شناختهشده در تیمهای DevOps و SRE تبدیل شده است؛ با بهبودهای کارایی و پایداری، معماری افزونهپذیر، API/CLI پایدار و تمرکز جدی بر امنیت و زنجیره تأمین. اکوسیستم آن با جامعهای پویا، مستندات بهتر، نسخهبندی معنادار، سازگاری عقبرو و یکپارچگی گسترده با فضای ابری، CI/CD و ابزارهای مشاهدهپذیری رشد کرده است. در ادامه، نقشهراه بر بهبود تجربه کاربری، غنیتر شدن API/SDK، تقویت policy-as-code، مدیریت بهتر وضعیت و دریفت، و اتوماسیون ایمنتر در مقیاس تأکید میکند.
#Go #Infrastructure #DevOps #OpenSource #Cloud #Automation #Security #Observability
🟣لینک مقاله:
https://golangweekly.com/link/175053/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
celebrates its tenth anniversary with a look
🟢 خلاصه مقاله:
این مقاله دهمین سالگرد یک ابزار زیرساختی متنباز مبتنی بر Go را جشن میگیرد و نشان میدهد چگونه از یک ابزار کوچک به مولفهای بالغ و شناختهشده در تیمهای DevOps و SRE تبدیل شده است؛ با بهبودهای کارایی و پایداری، معماری افزونهپذیر، API/CLI پایدار و تمرکز جدی بر امنیت و زنجیره تأمین. اکوسیستم آن با جامعهای پویا، مستندات بهتر، نسخهبندی معنادار، سازگاری عقبرو و یکپارچگی گسترده با فضای ابری، CI/CD و ابزارهای مشاهدهپذیری رشد کرده است. در ادامه، نقشهراه بر بهبود تجربه کاربری، غنیتر شدن API/SDK، تقویت policy-as-code، مدیریت بهتر وضعیت و دریفت، و اتوماسیون ایمنتر در مقیاس تأکید میکند.
#Go #Infrastructure #DevOps #OpenSource #Cloud #Automation #Security #Observability
🟣لینک مقاله:
https://golangweekly.com/link/175053/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Traefik Labs
Traefik's 10-Year Anniversary: A Community's Journey
10 years ago, I made a small reverse proxy project public. Fast forward to today and Traefik has 3.4B downloads and 56k GitHub stars. See how it unfolded.
Forwarded from Ninja Learn | نینجا لرن
تا حالا کلی مطالب خفن و کاربردی تو کانال NinjaLearn براتون آماده کردیم و الان صدها مطلب مختلف و جذاب داریم.
این شما و این لیست دستهبندیهای کانال🔻:
هر کدوم از این هشتگها برای یه موضوع خاص طراحی شده تا شما به راحتی بتونید محتوای مورد نظرتون رو پیدا کنید. دیگه لازم نیست کلی تو کانال بگردید 😊
راستی میتونید بنر کانال رو برای دوستاتون هم بفرستید تا اونا هم به جمع ما بپیوندن و از این مطالب مفید استفاده کنن 😉
➖➖➖➖➖➖➖➖➖
از اونجایی که مطالب کانال خیلی متنوع و زیاد شده، تصمیم گرفتیم یه دستهبندی مرتب و منظم برای همهی پستها داشته باشیم تا شما عزیزان راحتتر بتونید محتوای مورد نظرتون رو پیدا کنید
این شما و این لیست دستهبندیهای کانال🔻:
🦫 #go: آموزشها و نکات کاربردی زبان گو
💻 #programming: مطالب برنامه نویسی
🐍 #python: ترفندها و نکات پایتونی
🦄 #django: مطالب فریمورک جنگو
⚡️ #fastapi: مطالب فریم ورک فست
🌐 #web: مطالب مرتبط به وب
📡 #network: مطالب مرتبط به شبکه
🗂️ #db: معرفی و نکات دیتابیس
🔖 #reference: معرفی مقاله و ویدیو
📢 #notif: اطلاع رسانی ها
❓ #question: سوالات جالب در برنامه نویسی
🎊 #event: رویداد هایی که معرفی کردیم
🎬 #movie: معرفی فیلم و سریال
📚 #book: معرفی کتابهای تخصصی
🤖 #AI: مطالب مرتبط به هوش مصنوعی
📊 #ml: مطالب مرتبط به یادگیری ماشین
🛠️ #backend: آموزشها و ترفندهای بکاند
🔒 #security: نکات امنیتی
⚙ #devops: مطالب مرتبط به دواپس
📺 #YouTube: ویدیوهای چنل یوتیوب ما
🌏 #geo: تکنولوژی های جغرافیایی
هر کدوم از این هشتگها برای یه موضوع خاص طراحی شده تا شما به راحتی بتونید محتوای مورد نظرتون رو پیدا کنید. دیگه لازم نیست کلی تو کانال بگردید 😊
اگه موضوع جدیدی به مطالب کانال اضافه بشه، حتماً تو این لیست قرار میگیره ✅
راستی میتونید بنر کانال رو برای دوستاتون هم بفرستید تا اونا هم به جمع ما بپیوندن و از این مطالب مفید استفاده کنن 😉
NinjaLearn Banner 🥷🤝
#category
➖➖➖➖➖➖➖➖➖
🔆 CHANNEL | GROUP
Forwarded from Gopher Academy
🔵 عنوان مقاله
PG Back Web 0.5: A Postgres Backup System with Web Interface
🟢 خلاصه مقاله:
** PG Back Web 0.5 یک ابزار مبتنی بر Go برای مدیریت پشتیبانگیریهای Postgres از طریق یک رابط وب ساده و کاربرپسند است. این برنامه امکان زمانبندی پشتیبانها، پایش وضعیت و مشاهده تاریخچه را فراهم میکند و با webhooks میتواند اعلانها را به سامانههای بیرونی ارسال کند. استقرار آن بهصورت Docker image بسیار ساده است و در نسخه 0.5 پشتیبانی از Postgres 18 نیز اضافه شده تا با آخرین نسخه Postgres سازگار باشد.
#Postgres #Backup #Go #Docker #Database #DevOps #Webhooks #Monitoring
🟣لینک مقاله:
https://golangweekly.com/link/175372/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
PG Back Web 0.5: A Postgres Backup System with Web Interface
🟢 خلاصه مقاله:
** PG Back Web 0.5 یک ابزار مبتنی بر Go برای مدیریت پشتیبانگیریهای Postgres از طریق یک رابط وب ساده و کاربرپسند است. این برنامه امکان زمانبندی پشتیبانها، پایش وضعیت و مشاهده تاریخچه را فراهم میکند و با webhooks میتواند اعلانها را به سامانههای بیرونی ارسال کند. استقرار آن بهصورت Docker image بسیار ساده است و در نسخه 0.5 پشتیبانی از Postgres 18 نیز اضافه شده تا با آخرین نسخه Postgres سازگار باشد.
#Postgres #Backup #Go #Docker #Database #DevOps #Webhooks #Monitoring
🟣لینک مقاله:
https://golangweekly.com/link/175372/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - eduardolat/pgbackweb: 🐘 Effortless PostgreSQL backups with a user-friendly web interface! 🌐💾
🐘 Effortless PostgreSQL backups with a user-friendly web interface! 🌐💾 - eduardolat/pgbackweb
Forwarded from Gopher Academy
🔵 عنوان مقاله
Terminating Elegantly: A Guide to Graceful Shutdowns
🟢 خلاصه مقاله:
ترک شایسته در سرویسها یعنی برنامه بتواند با دریافت SIGTERM، بدون از دست دادن داده یا خراب کردن وضعیت، درخواستهای جاری را تمام کند و منابع را درست آزاد کند. در این ارائه، Alex Pliutau با تمرکز بر Go در Kubernetes، چرخه کامل خاتمه را توضیح میدهد: از دریافت سیگنال و قطعکردن ترافیک تا ضربالاجل SIGKILL.
نکتههای کلیدی شامل اینهاست: استفاده از signal.NotifyContext و context برای لغو هماهنگ، مدیریت goroutineها با sync.WaitGroup، فراخوانی http.Server.Shutdown یا معادل gRPC برای تخلیه امن اتصالها، و توقف گرفتن کار جدید در Workerها درحالیکه کارهای درحال اجرا بهصورت زماندار تمام میشوند. در Kubernetes باید readiness زودتر غیرفعال شود تا Pod از مسیر ترافیک خارج شود، از preStop برای تأخیر یا Drain سفارشی کمک بگیرید، و terminationGracePeriodSeconds را درست تنظیم کنید. پایش و آزمون نیز ضروری است: لاگ شروع/پایان Shutdown، سنجههایی مثل تعداد درخواستهای درحال پردازش و زمان خاتمه، و تست SIGTERM تحت بار. رعایت این الگوهای ساده، خاتمهای قابل اعتماد و بدون اختلال در Go روی Kubernetes فراهم میکند.
#Go #Kubernetes #GracefulShutdown #CloudNative #Microservices #DevOps #Reliability #ProductionOps
🟣لینک مقاله:
https://golangweekly.com/link/175363/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Terminating Elegantly: A Guide to Graceful Shutdowns
🟢 خلاصه مقاله:
ترک شایسته در سرویسها یعنی برنامه بتواند با دریافت SIGTERM، بدون از دست دادن داده یا خراب کردن وضعیت، درخواستهای جاری را تمام کند و منابع را درست آزاد کند. در این ارائه، Alex Pliutau با تمرکز بر Go در Kubernetes، چرخه کامل خاتمه را توضیح میدهد: از دریافت سیگنال و قطعکردن ترافیک تا ضربالاجل SIGKILL.
نکتههای کلیدی شامل اینهاست: استفاده از signal.NotifyContext و context برای لغو هماهنگ، مدیریت goroutineها با sync.WaitGroup، فراخوانی http.Server.Shutdown یا معادل gRPC برای تخلیه امن اتصالها، و توقف گرفتن کار جدید در Workerها درحالیکه کارهای درحال اجرا بهصورت زماندار تمام میشوند. در Kubernetes باید readiness زودتر غیرفعال شود تا Pod از مسیر ترافیک خارج شود، از preStop برای تأخیر یا Drain سفارشی کمک بگیرید، و terminationGracePeriodSeconds را درست تنظیم کنید. پایش و آزمون نیز ضروری است: لاگ شروع/پایان Shutdown، سنجههایی مثل تعداد درخواستهای درحال پردازش و زمان خاتمه، و تست SIGTERM تحت بار. رعایت این الگوهای ساده، خاتمهای قابل اعتماد و بدون اختلال در Go روی Kubernetes فراهم میکند.
#Go #Kubernetes #GracefulShutdown #CloudNative #Microservices #DevOps #Reliability #ProductionOps
🟣لینک مقاله:
https://golangweekly.com/link/175363/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
YouTube
Terminating elegantly: a guide to graceful shutdowns - Alex Pliutau
Did you ever unplug your computer because you were frustrated? In the world of software, a similar concept exists: the hard shutdown.
This abrupt termination can cause problems like data loss or system instability.
Thankfully, there's a better way: the…
This abrupt termination can cause problems like data loss or system instability.
Thankfully, there's a better way: the…
Forwarded from Gopher Academy
🔵 عنوان مقاله
Go v1.25.2 and v1.24.8 have been released
🟢 خلاصه مقاله:
بهروزرسانیهای Go در نسخههای v1.25.2 و v1.24.8 منتشر شدهاند که مجموعهای از اصلاحات امنیتی را در بستههای مختلف ارائه میکند. این نسخهها از نوع وصلهای و سازگار به عقب هستند و بدون تغییر در رفتار زبان، امنیت و پایداری ابزارها و کتابخانهها را بهبود میدهند. توصیه میشود هرچه سریعتر به آخرین وصله در شاخه فعلیتان ارتقا دهید (برای v1.25 به v1.25.2 و برای v1.24 به v1.24.8)، یادداشتهای انتشار و هر CVE مرتبط را بررسی کنید، باینریها را مجدداً بسازید و ابزارهایی مانند govulncheck را برای شناسایی وابستگیهای آسیبپذیر اجرا کنید.
#Go #Golang #Security #Update #PatchRelease #CVE #DevOps #SoftwareMaintenance
🟣لینک مقاله:
https://golangweekly.com/link/175354/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Go v1.25.2 and v1.24.8 have been released
🟢 خلاصه مقاله:
بهروزرسانیهای Go در نسخههای v1.25.2 و v1.24.8 منتشر شدهاند که مجموعهای از اصلاحات امنیتی را در بستههای مختلف ارائه میکند. این نسخهها از نوع وصلهای و سازگار به عقب هستند و بدون تغییر در رفتار زبان، امنیت و پایداری ابزارها و کتابخانهها را بهبود میدهند. توصیه میشود هرچه سریعتر به آخرین وصله در شاخه فعلیتان ارتقا دهید (برای v1.25 به v1.25.2 و برای v1.24 به v1.24.8)، یادداشتهای انتشار و هر CVE مرتبط را بررسی کنید، باینریها را مجدداً بسازید و ابزارهایی مانند govulncheck را برای شناسایی وابستگیهای آسیبپذیر اجرا کنید.
#Go #Golang #Security #Update #PatchRelease #CVE #DevOps #SoftwareMaintenance
🟣لینک مقاله:
https://golangweekly.com/link/175354/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Forwarded from DevOps Labdon
One of the best practical YouTube Channels to learn DevOps Tools and Skills.
یکی از بهترین کانالهایی که بصورت عملی ابزارهای DevOps رو بصورت ملموس و خیلی کوتاه و مختصر و مفید توضیح و آموزش میده
#DevOps #Terraform #Helm #Kubernetes #AWS #GCP #Azure
https://www.youtube.com/@AntonPutra
یکی از بهترین کانالهایی که بصورت عملی ابزارهای DevOps رو بصورت ملموس و خیلی کوتاه و مختصر و مفید توضیح و آموزش میده
#DevOps #Terraform #Helm #Kubernetes #AWS #GCP #Azure
https://www.youtube.com/@AntonPutra
Forwarded from Gopher Academy
🔵 عنوان مقاله
How to Get Started with GitHub Copilot CLI
🟢 خلاصه مقاله:
** این مطلب با راهنماییای عملی از Andrea Griffiths (GitHub) نشان میدهد چگونه با GitHub Copilot CLI شروع کنید تا در ترمینال، درخواستهای زبانی خود را به دستورات شِل تبدیل کنید، خطاها و فلگهای ناشناخته را توضیح بگیرید و سریعتر اشکالزدایی کنید. روند آغاز کار ساده است: نصب و ورود به GitHub CLI، افزودن افزونه Copilot و بررسی فعال بودن دسترسی Copilot روی حساب GitHub؛ سپس با gh copilot help و دستورات تولید/توضیح فرمانها، میتوانید قبل از اجرا خروجیها را بررسی کنید تا از ایمنی کار مطمئن شوید. این ابزار روی Bash، Zsh و PowerShell کار میکند و برای وظایف روزمره مثل جستوجو، مدیریت پردازهها و کار با Git چرخه بازخورد را کوتاه میکند.
همزمان، نوشتهای از Redowan Delowar درباره Organizing Go Tests پیشنهاد میشود که ساختاردهی حرفهای تستهای Go را مرور میکند: کنار هم نگهداشتن فایلهای *_test.go با کد، بهکارگیری تستهای جدولمحور و زیربخشها با t.Run، استفاده از پوشه testdata برای دادههای تست، همراه با بنچمارکها، مثالها، نامگذاری شفاف، گزارش پوشش و اتصال go test به CI. مجموع این توصیهها هم بهرهوری توسعه را بالا میبرد و هم کیفیت و قابلیت اعتماد تستها را.
#GitHub #Copilot #CLI #Go #Testing #DeveloperTools #Productivity #DevOps
🟣لینک مقاله:
https://golangweekly.com/link/175637/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
How to Get Started with GitHub Copilot CLI
🟢 خلاصه مقاله:
** این مطلب با راهنماییای عملی از Andrea Griffiths (GitHub) نشان میدهد چگونه با GitHub Copilot CLI شروع کنید تا در ترمینال، درخواستهای زبانی خود را به دستورات شِل تبدیل کنید، خطاها و فلگهای ناشناخته را توضیح بگیرید و سریعتر اشکالزدایی کنید. روند آغاز کار ساده است: نصب و ورود به GitHub CLI، افزودن افزونه Copilot و بررسی فعال بودن دسترسی Copilot روی حساب GitHub؛ سپس با gh copilot help و دستورات تولید/توضیح فرمانها، میتوانید قبل از اجرا خروجیها را بررسی کنید تا از ایمنی کار مطمئن شوید. این ابزار روی Bash، Zsh و PowerShell کار میکند و برای وظایف روزمره مثل جستوجو، مدیریت پردازهها و کار با Git چرخه بازخورد را کوتاه میکند.
همزمان، نوشتهای از Redowan Delowar درباره Organizing Go Tests پیشنهاد میشود که ساختاردهی حرفهای تستهای Go را مرور میکند: کنار هم نگهداشتن فایلهای *_test.go با کد، بهکارگیری تستهای جدولمحور و زیربخشها با t.Run، استفاده از پوشه testdata برای دادههای تست، همراه با بنچمارکها، مثالها، نامگذاری شفاف، گزارش پوشش و اتصال go test به CI. مجموع این توصیهها هم بهرهوری توسعه را بالا میبرد و هم کیفیت و قابلیت اعتماد تستها را.
#GitHub #Copilot #CLI #Go #Testing #DeveloperTools #Productivity #DevOps
🟣لینک مقاله:
https://golangweekly.com/link/175637/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The GitHub Blog
GitHub Copilot CLI: How to get started
From cloning a repository to opening a pull request, here’s how to streamline your workflow with Copilot CLI.
Forwarded from Gopher Academy
🔵 عنوان مقاله
AWS Lambda for Go 1.50
🟢 خلاصه مقاله:
این مقاله اعلام میکند که AWS Lambda از Go 1.50 پشتیبانی میکند و مجموعهای از نمونهها و ابزارها برای ساخت سرویسهای Serverless ارائه میدهد. محورها شامل استفاده از کتابخانه aws-lambda-go، ادغام با رویدادهای Amazon API Gateway، Amazon S3، Amazon DynamoDB و AWS Step Functions، و مشاهدهپذیری از طریق Amazon CloudWatch و AWS Lambda Powertools for Go است. برای استقرار و اتوماسیون، از AWS SAM، AWS CDK و Serverless Framework استفاده میشود؛ تست محلی با AWS SAM CLI و شبیهساز رابط زماناجرا ممکن است، و استقرار هم بهصورت zip و هم Container Image پشتیبانی میشود. نکات عملی شامل ساخت باینریهای کوچک برای linux/amd64 یا linux/arm64، بهرهگیری از Lambda Layers، بهینهسازی سرداستارت با مقداردهی اولیه سراسری و Provisioned Concurrency، تنظیم بهینه حافظه/CPU، انتخاب arm64 برای کارایی-بهازای-هزینه، و مدیریت امن رازها با AWS Secrets Manager یا AWS Systems Manager Parameter Store است؛ همچنین برای مهاجرت از نسخههای قبلی Go بر بررسی وابستگیها و تنظیم پرچمهای ساخت تأکید میشود.
#AWS #AWSLambda #Go #Serverless #Cloud #DevOps #InfrastructureAsCode #Observability
🟣لینک مقاله:
https://golangweekly.com/link/175649/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
AWS Lambda for Go 1.50
🟢 خلاصه مقاله:
این مقاله اعلام میکند که AWS Lambda از Go 1.50 پشتیبانی میکند و مجموعهای از نمونهها و ابزارها برای ساخت سرویسهای Serverless ارائه میدهد. محورها شامل استفاده از کتابخانه aws-lambda-go، ادغام با رویدادهای Amazon API Gateway، Amazon S3، Amazon DynamoDB و AWS Step Functions، و مشاهدهپذیری از طریق Amazon CloudWatch و AWS Lambda Powertools for Go است. برای استقرار و اتوماسیون، از AWS SAM، AWS CDK و Serverless Framework استفاده میشود؛ تست محلی با AWS SAM CLI و شبیهساز رابط زماناجرا ممکن است، و استقرار هم بهصورت zip و هم Container Image پشتیبانی میشود. نکات عملی شامل ساخت باینریهای کوچک برای linux/amd64 یا linux/arm64، بهرهگیری از Lambda Layers، بهینهسازی سرداستارت با مقداردهی اولیه سراسری و Provisioned Concurrency، تنظیم بهینه حافظه/CPU، انتخاب arm64 برای کارایی-بهازای-هزینه، و مدیریت امن رازها با AWS Secrets Manager یا AWS Systems Manager Parameter Store است؛ همچنین برای مهاجرت از نسخههای قبلی Go بر بررسی وابستگیها و تنظیم پرچمهای ساخت تأکید میشود.
#AWS #AWSLambda #Go #Serverless #Cloud #DevOps #InfrastructureAsCode #Observability
🟣لینک مقاله:
https://golangweekly.com/link/175649/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - aws/aws-lambda-go: Libraries, samples and tools to help Go developers develop AWS Lambda functions.
Libraries, samples and tools to help Go developers develop AWS Lambda functions. - aws/aws-lambda-go
Forwarded from DevOps Labdon
🔵 عنوان مقاله
Exposing Kubernetes Services Without Cloud LoadBalancers: A Practical Guide
🟢 خلاصه مقاله:
این راهنما برای محیطهای bare‑metal و air‑gapped که به LoadBalancerهای ابری دسترسی ندارند، روشی عملی برای اکسپوز کردن سرویسهای Kubernetes ارائه میدهد. با ترکیب MetalLB و NGINX Ingress، ابتدا MetalLB یک IP پایدار به Serviceهای نوع LoadBalancer اختصاص میدهد، سپس NGINX Ingress ترافیک را بر اساس host و path به سرویسهای داخلی مسیردهی میکند. نتیجه، یک نقطه ورودی واحد با IP ثابت، مدیریت سادهتر DNS و عدم نیاز به باز کردن پورتهای متعدد است. آموزش شامل نصب و پیکربندی MetalLB (L2 یا BGP)، استقرار NGINX Ingress، تعریف Ingressها، و نکاتی درباره TLS، پایداری، و عیبیابی است؛ و نشان میدهد چرا این الگو نسبت به NodePort یا hostNetwork تمیزتر و مقیاسپذیرتر بوده و تجربهای مشابه فضای ابری را بدون وابستگی به آن فراهم میکند.
#Kubernetes #MetalLB #NGINXIngress #BareMetal #AirGapped #DevOps #Ingress #LoadBalancer
🟣لینک مقاله:
https://ku.bz/CDWB9HJg7
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
Exposing Kubernetes Services Without Cloud LoadBalancers: A Practical Guide
🟢 خلاصه مقاله:
این راهنما برای محیطهای bare‑metal و air‑gapped که به LoadBalancerهای ابری دسترسی ندارند، روشی عملی برای اکسپوز کردن سرویسهای Kubernetes ارائه میدهد. با ترکیب MetalLB و NGINX Ingress، ابتدا MetalLB یک IP پایدار به Serviceهای نوع LoadBalancer اختصاص میدهد، سپس NGINX Ingress ترافیک را بر اساس host و path به سرویسهای داخلی مسیردهی میکند. نتیجه، یک نقطه ورودی واحد با IP ثابت، مدیریت سادهتر DNS و عدم نیاز به باز کردن پورتهای متعدد است. آموزش شامل نصب و پیکربندی MetalLB (L2 یا BGP)، استقرار NGINX Ingress، تعریف Ingressها، و نکاتی درباره TLS، پایداری، و عیبیابی است؛ و نشان میدهد چرا این الگو نسبت به NodePort یا hostNetwork تمیزتر و مقیاسپذیرتر بوده و تجربهای مشابه فضای ابری را بدون وابستگی به آن فراهم میکند.
#Kubernetes #MetalLB #NGINXIngress #BareMetal #AirGapped #DevOps #Ingress #LoadBalancer
🟣لینک مقاله:
https://ku.bz/CDWB9HJg7
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
Medium
Exposing Kubernetes Services Without Cloud LoadBalancers: A Practical Guide
“How do I expose my apps in an air‑gapped Kubernetes cluster without any cloud load balancer?”
Forwarded from Byteforge / بایــت فورج 🛸
یک pipeline واحد برای همه چیز در Kubernetes!
Fatih Koç توی این پست نشون میده چطور با OpenTelemetry میتونیم لاگ، متریک و تراس رو در یک مسیر جمع کنیم و از alert تا root cause فقط چند ثانیه فاصله بگیریم.
اگر با observability و incident response سر و کار داری، این مقاله رو از دست نده 👇
https://fatihkoc.net/posts/opentelemetry-kubernetes-pipeline
Fatih Koç توی این پست نشون میده چطور با OpenTelemetry میتونیم لاگ، متریک و تراس رو در یک مسیر جمع کنیم و از alert تا root cause فقط چند ثانیه فاصله بگیریم.
اگر با observability و incident response سر و کار داری، این مقاله رو از دست نده 👇
🔗 Building a Unified OpenTelemetry Pipeline in Kubernetes
#DevOps
#kubernetes
#byteforge
@byteforge_chan 🛸
https://fatihkoc.net/posts/opentelemetry-kubernetes-pipeline
Fatih Koç
Building a Unified OpenTelemetry Pipeline in Kubernetes
Deploy OpenTelemetry Collector in Kubernetes to unify metrics, logs, and traces with correlation, smart sampling, and insights for faster incident resolution.
Forwarded from Academy and Foundation unixmens | Your skills, Your future
پیشنهاد میکنم ، openstack را روی کانتینر راه اندازی نکنید . مگر برای اون توجیحی داشته باشید .
در واقع سرویسهای OpenStack به کتابخانهها، پورتها و شبکههای متعدد وابستهاند که در محیط containerized پیچیدگی را افزایش میدید .و در کانتینر با namespaceها و bridgeهای مجازی پیچیده تداخل دارد.
اگر orchestration بهدرستی تنظیم نشود (مثلاً در Kolla-Ansible یا Kubernetes)، upgrade یا restart ساده میتواند سرویسهای اصلی را از کار بیندازد
برخلاف اپلیکیشنهای cloud-native، سرویسهای OpenStack خودشان "stateful" هستند و containerization مزیت خاصی ایجاد نمیکند.
اما برای محیط Lab / PoC تست سریع نسخهها و سرویسها بدون نیاز به نصب کامل Kolla-Ansible, DevStack, MicroStack و پیاده سازی تست ها قبل از عملیاتی کردن یا operation میتونه خوب باشه .
#openstack #devops
در واقع سرویسهای OpenStack به کتابخانهها، پورتها و شبکههای متعدد وابستهاند که در محیط containerized پیچیدگی را افزایش میدید .و در کانتینر با namespaceها و bridgeهای مجازی پیچیده تداخل دارد.
اگر orchestration بهدرستی تنظیم نشود (مثلاً در Kolla-Ansible یا Kubernetes)، upgrade یا restart ساده میتواند سرویسهای اصلی را از کار بیندازد
برخلاف اپلیکیشنهای cloud-native، سرویسهای OpenStack خودشان "stateful" هستند و containerization مزیت خاصی ایجاد نمیکند.
اما برای محیط Lab / PoC تست سریع نسخهها و سرویسها بدون نیاز به نصب کامل Kolla-Ansible, DevStack, MicroStack و پیاده سازی تست ها قبل از عملیاتی کردن یا operation میتونه خوب باشه .
#openstack #devops
Forwarded from Gopher Academy
🔵 عنوان مقاله
SFTPGo 2.7: A Full Featured File Transfer Solution
🟢 خلاصه مقاله:
این نسخه از SFTPGo 2.7 یک سرور انتقال فایل مبتنی بر Go است که پروتکلهای SFTP، HTTP/S، FTP/S و WebDAV را در یک راهکار یکپارچه ارائه میدهد. تمرکز آن بر پیکربندی منعطف و کنترل دقیق دسترسی است تا مدیران بتوانند سیاستها، مسیرها و رفتار کاربران را مطابق نیاز تنظیم کنند. نقطهقوت اصلی، تعامل با storageهای ابری است؛ میتوان backendهایی مانند Amazon S3، Google Cloud Storage و Azure Blob را مانند پوشههای محلی در اختیار کلاینتها گذاشت و همان داده را همزمان از چند پروتکل ارائه کرد. امنیت انتقال با TLS و رمزنگاری مدرن تضمین میشود و ثبت رویدادها نیز برای نظارت و انطباق در دسترس است. نسخه 2.7 بر پایداری و بلوغ خط v2 تأکید دارد و گزینهای مناسب برای نوسازی جریانهای انتقال فایل و پلزدن میان کلاینتهای قدیمی و زیرساختهای cloud-first است.
#SFTPGo #SFTP #FTP #WebDAV #GoLang #CloudStorage #FileTransfer #DevOps
🟣لینک مقاله:
https://golangweekly.com/link/176312/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
SFTPGo 2.7: A Full Featured File Transfer Solution
🟢 خلاصه مقاله:
این نسخه از SFTPGo 2.7 یک سرور انتقال فایل مبتنی بر Go است که پروتکلهای SFTP، HTTP/S، FTP/S و WebDAV را در یک راهکار یکپارچه ارائه میدهد. تمرکز آن بر پیکربندی منعطف و کنترل دقیق دسترسی است تا مدیران بتوانند سیاستها، مسیرها و رفتار کاربران را مطابق نیاز تنظیم کنند. نقطهقوت اصلی، تعامل با storageهای ابری است؛ میتوان backendهایی مانند Amazon S3، Google Cloud Storage و Azure Blob را مانند پوشههای محلی در اختیار کلاینتها گذاشت و همان داده را همزمان از چند پروتکل ارائه کرد. امنیت انتقال با TLS و رمزنگاری مدرن تضمین میشود و ثبت رویدادها نیز برای نظارت و انطباق در دسترس است. نسخه 2.7 بر پایداری و بلوغ خط v2 تأکید دارد و گزینهای مناسب برای نوسازی جریانهای انتقال فایل و پلزدن میان کلاینتهای قدیمی و زیرساختهای cloud-first است.
#SFTPGo #SFTP #FTP #WebDAV #GoLang #CloudStorage #FileTransfer #DevOps
🟣لینک مقاله:
https://golangweekly.com/link/176312/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Sftpgo
SFTP & FTP as a Managed Service (SaaS) and On-premise
Fully featured and highly configurable SFTP server with HTTP/S Web UI, FTP/S and WebDAV - As a Managed Service, On-premise, Cloud, Hybrid Cloud - Data at Rest Encryption, S3, Google Cloud, Azure Blob.
Forwarded from Byteforge / بایــت فورج 🛸
فرض کن یه رستوران بزرگ داری
توی آشپزخونهات کلی آشپز (Container) داری، هرکدوم یه بخش خاص از غذا رو درست میکنن
Kubernetes مثل مدیر رستورانه. خودش تصمیم میگیره چند تا آشپز لازم داری، کی یکی اضافه بشه یا اگه یکی خسته شد یا رفت، یکی دیگه جاش بیاد. اگه یه آشپز مریض شد یا سوختگی گرفت ( یعنی یه کانتینر کرش کرد)، Kubernetes سریع یه آشپز جدید (Pod جدید) جای اون میفرسته تا کار متوقف نشه.
اگه jاتفاقی مشتریها زیاد شدن (یعنی ترافیک زیاد شد)، Kubernetes خودش میگه
اگه شب شد و مشتریا رفتن، میگه
تازه Kubernetes حتی بلده اگه برق یه آشپزخونه رفت (یعنی یه Node از کار افتاد)، آشپزها رو بفرسته تو یه آشپزخونه دیگه که هنوز برق داره (یعنی تو یه Node سالم).
توی آشپزخونهات کلی آشپز (Container) داری، هرکدوم یه بخش خاص از غذا رو درست میکنن
Kubernetes مثل مدیر رستورانه. خودش تصمیم میگیره چند تا آشپز لازم داری، کی یکی اضافه بشه یا اگه یکی خسته شد یا رفت، یکی دیگه جاش بیاد. اگه یه آشپز مریض شد یا سوختگی گرفت ( یعنی یه کانتینر کرش کرد)، Kubernetes سریع یه آشپز جدید (Pod جدید) جای اون میفرسته تا کار متوقف نشه.
اگه jاتفاقی مشتریها زیاد شدن (یعنی ترافیک زیاد شد)، Kubernetes خودش میگه
«خب بچهها! باید آشپزخونهمون رو بزرگتر کنیم!»
و چند تا آشپز (Pod) دیگه اضافه میکنه.
اگه شب شد و مشتریا رفتن، میگه
«اوکی، الان لازم نیست ۱۰ تا آشپز کار کنن، ۳ تا کافیه.»
و خودش بقیه رو میفرسته خونه تا منابع هدر نره.
تازه Kubernetes حتی بلده اگه برق یه آشپزخونه رفت (یعنی یه Node از کار افتاد)، آشپزها رو بفرسته تو یه آشپزخونه دیگه که هنوز برق داره (یعنی تو یه Node سالم).
#DevOps
#cluster
#kubernetes
#byteforge
@byteforge_chan 🛸
Forwarded from PhiloLearn | فیلولرن
Telegram
FuckingProgrammingBook
Django for Professionals by William S. Vincent
@FuckingProgrammingBooks
@PhiloLearn
@FuckingProgrammingBooks
@PhiloLearn
Docker یک ابزار بسیار محبوب برای مدیریت پروژههای Django است. بسیاری از توسعهدهندگان حرفهای از آن استفاده میکنند، اما به نظرم هنوز برای بسیاری از تازهواردها گیجکننده است. در این مطلب تلاش میکنم توضیح دهم Docker چیست و چرا چنین افزودهٔ قدرتمندی برای کار با Django محسوب میشود.
Docker چیست؟
سادهترین راه برای درک Docker این است که آن را مانند یک محیط مجازی بزرگ در نظر بگیریم که همهچیز لازم برای پروژهٔ Django ما را در خود دارد: وابستگیها، پایگاههای داده، سرویسهای کش، و هر ابزار دیگری که نیاز باشد.
این موضوع با یک محیط مجازی (virtual environment) فرق دارد. محیط مجازی تنها به ایزولهکردن پکیجهای نرمافزاری کمک میکند؛ مثل اینکه از چه نسخهای از Django استفاده میکنید یا دیگر پکیجهای پایتون. اما محیط مجازی نمیتواند سرویسهای خارجی مثل پایگاهداده PostgreSQL را شامل شود. Docker میتواند. Docker یک محیط توسعهٔ کاملاً مستقل است که هم به صورت محلی و هم در محیط عملیاتی (production) قابل استفاده است.
پایگاههای داده در محیط عملیاتی
Django به طور پیشفرض با SQLite عرضه میشود و این انتخاب خوبی برای نمونهسازی سریع است. اما… شما هرگز نمیخواهید در محیط عملیاتی از SQLite استفاده کنید؛ در عوض معمولاً از PostgreSQL یا MySQL استفاده میشود. هرچند میتوانید از SQLite در محیط توسعه و از یک پایگاهداده دیگر در محیط عملیاتی استفاده کنید، اما این کار توصیه نمیشود. زیرا تفاوت بین محیط توسعه و محیط عملیاتی میتواند باعث بروز باگهای زیادی شود.
راهحل این است که یک نسخهٔ محلی از PostgreSQL یا مشابه آن اجرا کنید. اما این کار چالشهای خاص خودش را دارد. باید PostgreSQL را درست نصب و اجرا کنید، سپس آن را به Django متصل کنید. شدنی است، اما مستعد خطا است.
و اگر سرویسهای دیگری مثل Redis هم در محیط عملیاتی دارید، تنظیم آنها در محیط محلی هم سخت است اما با Docker بسیار سادهتر میشود. Docker به شما اجازه میدهد محیط محلی را دقیقاً مشابه محیط عملیاتی بسازید؛ که این آرزوی هر توسعهدهندهٔ وب است.
تیمها
حالا تصور کنید عضو یک تیم توسعه هستید. چطور مطمئن میشوید که همهٔ اعضای تیم روی یک محیط محلی یکسان کار میکنند؟ مخصوصاً وقتی پایگاهدادهٔ محلی و تنظیمات آن ممکن است در سیستم هر توسعهدهنده متفاوت باشد؟
اینجاست که Docker واقعاً میدرخشد. با Docker میتوانید مطمئن باشید که هر عضو تیم دقیقاً روی همان محیط توسعهٔ محلی که شما استفاده میکنید کار میکند، که مزیت بسیار بزرگی است. اگر این مسئله را از تجربهٔ شخصی نیاموختهاید، شانس آوردهاید.
Docker، Docker، Docker
پس چرا باید از Docker استفاده کنیم؟ زیرا تنظیم کردن محیط توسعهٔ محلی را بسیار ساده میکند. زیرا نصب Postgres، Redis و دیگر وابستگیها به صورت محلی کابوس است. و چون Docker تضمین میکند که دقیقاً روی همان مشخصاتی کار کنید که دیگر اعضای تیم دارند.
Docker بیشتر دربارهٔ فرایند استقرار (deployment) نیست، بلکه دربارهٔ ساخت محیط محلیای است که محیط عملیاتی را دقیقاً بازآفرینی کند. و این همان نقطهای است که Docker در آن میدرخشد.
اگر دوست دارید یاد بگیرید چگونه با Docker و Django برنامههای آمادهٔ محیط عملیاتی بسازید، کتاب Django for Professionals این موضوع را به شکل مفصل پوشش میدهد.
منبع (ترجمه با هوش مصنوعی)
#Django #Docker #وب_توسعه #برنامه_نویسی_پایتون #DevOps
@PhiloLearn
Docker چیست؟
سادهترین راه برای درک Docker این است که آن را مانند یک محیط مجازی بزرگ در نظر بگیریم که همهچیز لازم برای پروژهٔ Django ما را در خود دارد: وابستگیها، پایگاههای داده، سرویسهای کش، و هر ابزار دیگری که نیاز باشد.
این موضوع با یک محیط مجازی (virtual environment) فرق دارد. محیط مجازی تنها به ایزولهکردن پکیجهای نرمافزاری کمک میکند؛ مثل اینکه از چه نسخهای از Django استفاده میکنید یا دیگر پکیجهای پایتون. اما محیط مجازی نمیتواند سرویسهای خارجی مثل پایگاهداده PostgreSQL را شامل شود. Docker میتواند. Docker یک محیط توسعهٔ کاملاً مستقل است که هم به صورت محلی و هم در محیط عملیاتی (production) قابل استفاده است.
پایگاههای داده در محیط عملیاتی
Django به طور پیشفرض با SQLite عرضه میشود و این انتخاب خوبی برای نمونهسازی سریع است. اما… شما هرگز نمیخواهید در محیط عملیاتی از SQLite استفاده کنید؛ در عوض معمولاً از PostgreSQL یا MySQL استفاده میشود. هرچند میتوانید از SQLite در محیط توسعه و از یک پایگاهداده دیگر در محیط عملیاتی استفاده کنید، اما این کار توصیه نمیشود. زیرا تفاوت بین محیط توسعه و محیط عملیاتی میتواند باعث بروز باگهای زیادی شود.
راهحل این است که یک نسخهٔ محلی از PostgreSQL یا مشابه آن اجرا کنید. اما این کار چالشهای خاص خودش را دارد. باید PostgreSQL را درست نصب و اجرا کنید، سپس آن را به Django متصل کنید. شدنی است، اما مستعد خطا است.
و اگر سرویسهای دیگری مثل Redis هم در محیط عملیاتی دارید، تنظیم آنها در محیط محلی هم سخت است اما با Docker بسیار سادهتر میشود. Docker به شما اجازه میدهد محیط محلی را دقیقاً مشابه محیط عملیاتی بسازید؛ که این آرزوی هر توسعهدهندهٔ وب است.
تیمها
حالا تصور کنید عضو یک تیم توسعه هستید. چطور مطمئن میشوید که همهٔ اعضای تیم روی یک محیط محلی یکسان کار میکنند؟ مخصوصاً وقتی پایگاهدادهٔ محلی و تنظیمات آن ممکن است در سیستم هر توسعهدهنده متفاوت باشد؟
اینجاست که Docker واقعاً میدرخشد. با Docker میتوانید مطمئن باشید که هر عضو تیم دقیقاً روی همان محیط توسعهٔ محلی که شما استفاده میکنید کار میکند، که مزیت بسیار بزرگی است. اگر این مسئله را از تجربهٔ شخصی نیاموختهاید، شانس آوردهاید.
Docker، Docker، Docker
پس چرا باید از Docker استفاده کنیم؟ زیرا تنظیم کردن محیط توسعهٔ محلی را بسیار ساده میکند. زیرا نصب Postgres، Redis و دیگر وابستگیها به صورت محلی کابوس است. و چون Docker تضمین میکند که دقیقاً روی همان مشخصاتی کار کنید که دیگر اعضای تیم دارند.
Docker بیشتر دربارهٔ فرایند استقرار (deployment) نیست، بلکه دربارهٔ ساخت محیط محلیای است که محیط عملیاتی را دقیقاً بازآفرینی کند. و این همان نقطهای است که Docker در آن میدرخشد.
اگر دوست دارید یاد بگیرید چگونه با Docker و Django برنامههای آمادهٔ محیط عملیاتی بسازید، کتاب Django for Professionals این موضوع را به شکل مفصل پوشش میدهد.
منبع (ترجمه با هوش مصنوعی)
#Django #Docker #وب_توسعه #برنامه_نویسی_پایتون #DevOps
@PhiloLearn