Forwarded from Anophel | آنوفل
خیلیها این روزها دوباره دارن از سرورلس به سمت سرورهای اختصاصی و VPS برمیگردن. چند سال پیش همه دنبال سرورلس بودن، ولی الان؟ دیگه اوضاع فرق کرده! توی این پست میخوام چند تا از دلایلی که سرورلس یه انتخاب ضعیفه رو به زبون ساده باهاتون به اشتراک بذارم.
شرکتهای بزرگی مثل AWS و Azure دقیقاً میدونن چطوری شما رو قفل سیستم خودشون کنن. وقتی واردش میشید، بیرون اومدن ازش هزینههای وحشتناک داره:
نتیجه؟ یه قبض ماهانه که هیچی ازش نمیفهمید ولی قطعاً خوشحالتون نمیکنه.
بهقول یکی از مدیران بزرگ، اومدن روی VPS میتونه هزاران دلار صرفهجویی کنه. تازه، وقتی خودت سیستم رو مدیریت میکنی، دستت بازتره و همهچی رو کنترل میکنی.
سرورلس بهشدت پیچیدهست. مثال ساده؟ یه کانفیگ اشتباه میتونه میلیاردها تومان خسارت بزنه!
بودند کسایی که بهخاطر فراموش کردن تنظیمات S3، هزینههای سنگینی دادن!
توی VPS، همهچی رو میتونی ساده و شفاف مدیریت کنی. مثلاً یه آموزش ساده برای قفل کردن سرور با Fail2Ban و غیرفعال کردن رمز ورود برای کاربر Root میتونه امنیت رو بهشدت بالا ببره.
وقتی سیستم سادهتر باشه، کمتر قطع میشه. از وقتی از سرورلس به VPS مهاجرت کردم، سرویسهام هیچوقت خودبهخود قطع نشدن. ولی سرورلس؟
آپتایم ادعایی این شرکتها معمولاً روی کاغذه. ولی واقعیت؟ یه اشتباه کوچیک، یه کلیک اشتباه و تمام اون ۹۹.۹۹٪ میپره.
با سرورلس، هر سرویس جداگانه باید کانفیگ بشه. برای هر میکروسرویس باید دستی کانفیگ امنیتی انجام بدی. این یعنی کار چند برابر.
ولی روی VPS؟ یه سرور، یه کانفیگ، تمومه!
بعضیها میگن سرورلس بهتون محافظت رایگان DDoS میده. اما یه نکتهی جالب:
شما همون محافظت رو میتونید با Cloudflare بهصورت رایگان بگیرید. کافیه پروکسی Cloudflare رو فعال کنید و SSL/TLS رو روی حالت Full بذارید. همون یه کلیک، همون امنیت. نیازی به سرورلس نیست.
#سرورلس #میکروسرویس #serverless #vps
Please open Telegram to view this post
VIEW IN TELEGRAM
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 Gopher Academy
🔵 عنوان مقاله
go-sqlite3: Go Bindings to SQLite Using Wazero
🟢 خلاصه مقاله:
این کتابخانه با نام go-sqlite3 امکان استفاده از SQLite در Go را بدون cgo فراهم میکند. هسته SQLite بهصورت WebAssembly اجرا و درون runtimeِ wazero بارگذاری میشود، در حالیکه رابطی سازگار با database/sql ارائه میدهد. نتیجه این است که بیشتر کدهای موجود مبتنی بر database/sql با کمترین تغییر کار میکنند و در عوض، مزایایی مثل باینریهای کاملاً استاتیک، کراسکامپایل آسان، وابستگیهای کمتر به سیستمعامل و استقرار سادهتر (بهویژه در کانتینر و Serverless) به دست میآید. اجرای SQLite داخل WebAssembly علاوهبر یک محیط ایزوله و قابل پیشبینی، ممکن است محدودیتهایی هم داشته باشد؛ از جمله عدم پشتیبانی برخی افزونههای بومی و کارایی پایینتر نسبت به نسخههای cgo. با این حال برای بسیاری از کاربردها مانند ابزارهای خط فرمان، سرویسهای سبک، تستها و محیطهای ابری، این مبادله بهخاطر قابلحمل بودن و سادگی عملیاتی ارزشمند است.
#Go #SQLite #WebAssembly #wazero #database_sql #cgo #GoBindings #Serverless
🟣لینک مقاله:
https://golangweekly.com/link/176633/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go-sqlite3: Go Bindings to SQLite Using Wazero
🟢 خلاصه مقاله:
این کتابخانه با نام go-sqlite3 امکان استفاده از SQLite در Go را بدون cgo فراهم میکند. هسته SQLite بهصورت WebAssembly اجرا و درون runtimeِ wazero بارگذاری میشود، در حالیکه رابطی سازگار با database/sql ارائه میدهد. نتیجه این است که بیشتر کدهای موجود مبتنی بر database/sql با کمترین تغییر کار میکنند و در عوض، مزایایی مثل باینریهای کاملاً استاتیک، کراسکامپایل آسان، وابستگیهای کمتر به سیستمعامل و استقرار سادهتر (بهویژه در کانتینر و Serverless) به دست میآید. اجرای SQLite داخل WebAssembly علاوهبر یک محیط ایزوله و قابل پیشبینی، ممکن است محدودیتهایی هم داشته باشد؛ از جمله عدم پشتیبانی برخی افزونههای بومی و کارایی پایینتر نسبت به نسخههای cgo. با این حال برای بسیاری از کاربردها مانند ابزارهای خط فرمان، سرویسهای سبک، تستها و محیطهای ابری، این مبادله بهخاطر قابلحمل بودن و سادگی عملیاتی ارزشمند است.
#Go #SQLite #WebAssembly #wazero #database_sql #cgo #GoBindings #Serverless
🟣لینک مقاله:
https://golangweekly.com/link/176633/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - ncruces/go-sqlite3: Go bindings to SQLite using wazero
Go bindings to SQLite using wazero. Contribute to ncruces/go-sqlite3 development by creating an account on GitHub.