میتوان گفت که شغل دواپس مناسب کار فرانت اند دولوپر است، چرا که بسیاری از خدمات دواپس نیاز به تخصص و مهارت در زمینه فرانت اند دارند. به عنوان مثال، برای مدیریت بخشهایی از سایت مانند هاستینگ، دیتابیس، امنیت سایت و ... نیاز به دانش در زمینه فرانت اند وب دارید.
اما باید توجه داشت که کار دواپس و فرانت اند دو حوزه متفاوت هستند و هر دو نیاز به تخصص و مهارتهای خودشان دارند. به علاوه، بهتر است که هر کدام از این حوزهها را به طور جدی و به صورت تخصصی بررسی کرد و بر اساس علاقه و توانایی شخصی، به یکی از این حوزهها تمرکز کنید.
در مورد یادگیری دواپس برای یک فرانت اند دولوپر، باید گفت که این به عنوان یک تجربه مفید به شما کمک میکند تا بیشتر با فرایند توسعهی یک پروژه آشنا شوید و درک بهتری از ابزارها و تکنولوژیهای مورد استفاده در یک پروژه داشته باشید. اما بهتر است که تمرکز اصلی شما روی فرانت اند باشد نه دواپس.
اما باید توجه داشت که هر کاری که انجام میدهید، همراه با ریسکهایی همراه است.
در مورد ریسکی که شما اشاره کردهاید، اگر سرور شما برای هاست دامین، سرور وب و یا اینترنت برای شرکت شما قطع شود، ممکن است با مشکلاتی همراه باشد. اما با استفاده از ابزارهایی مانند Git، Azure، GitLab، Docker، Visual Studio، Nginx، CI/CD، PM2 و SSH، میتوانید به راحتی سیستمهای پشتیبانی و نگهداری را ایجاد کنید تا در صورت بروز هرگونه مشکل، بتوانید سریعاً به سیستمهای قبلی بازگردید و مشکل را برطرف کنید.
از طرفی، همانطور که شما هم اشاره کردهاید، بهتر است که بخشهایی از کار دواپس مانند هاستینگ، دیتابیس و امنیت سایت را به تیمهای متخصص و مسئول بسپارید تا از این مسائل برعهده آنها باشد. در نهایت، با داشتن تیمهای متخصص و مسئول و استفاده از ابزارهای مناسب، میتوانید به راحتی ریسکهای کار دواپس را کاهش دهید و بهبود کیفیت کار خود را تضمین کنید.
pm2 what؟
PM2 یک مدیر فرآیند برای برنامههای Node.js است که به کاربران اجازه میدهد برنامههای خود را به سادگی بیشتری مدیریت کنند. PM2 یک نرمافزار مجازیسازی است که بر روی سیستمعاملهای مختلف قابل اجرا است و برای مدیریت پردازشهای Node.js استفاده میشود.
PM2 قابلیتهای مختلفی ارائه میدهد، از جمله:
راهاندازی و مدیریت برنامههای Node.js با استفاده از چندین فرآیند (process) (cluster mode)
مانیتور کردن عملکرد برنامه و نمایش اطلاعات مربوط به پردازشها و منابع سیستم مورد استفاده توسط برنامهها (monitor mode)
راهاندازی خودکار برنامه در صورت خاموش شدن یا برخورد با خطا (restart mode)
برنامههای Node.js را در پسزمینه اجرا کرده و به صورت مداوم در حال اجرا بودن آنها را تضمین میکند (daemon mode)
نصب و مدیریت بستههای Node.js از طریق PM2
با استفاده از PM2، میتوانید به راحتی برنامههای Node.js خود را مدیریت کنید و از مزایای این ابزار برای ارتقاع کارایی و عملکرد برنامههای خود بهره بگیرید.
1 - نصب پکیج PM2 :
ssh what؟
2 - اجرای پروژه با PM2
// Start and Daemonize application
pm2 start app.js --name my_app_name
// to switch can be used to automatically restart process on every change in project
// --watch
// --ignore-watch="node_modules"
برای اجرای پروژه روی چند تا از core های CPU میتونید از سوئیچ i استفاده کنید :
// Load Balance 4 instances of api.js pm2 start api.js -i 4 pm2 start api.js -i max
3 - ذخیره تنظیمات که بعد از Restart شدن سرور ، پروژه مجددا به طور اتوماتیک اجرا بشه
// Make pm2 auto-boot at server restart:
pm2 startup
// freeze to automatic re spawn
pm2 save
برای مانیتور کردن پروژه میتونید از دستور های زیر استفاده کنید که هر کدوم به نحوی میتونه توی مانیتور کردن پروژه تون مفید باشه :
1234567// Monitor in production: pm2 monitor pm2 monit pm2 imonit pm2 logs pm2 logs <id> pm2 show <id>
برای مشاهده لیست پروژه های اجرا شده توسط pm2 از این دستور استفاده کنید :
pm2 list
و برای stop و start کردن پروژه از این دستور استفاده کنید :
stop : pm2 stop <id> pm2 stop <name> // to start pm2 start <id> // to restart pm2 restart <id>
برای حذف پروژه از لیست pm2 از دستور زیر استفاده کنید :
pm2 stop <id>
pm2 delete <id>
از pm2 میتونید به عنوان یه وب سرور برای فایل های استاتیک هم استفاده کنید ، لازم هم نیست اصلا پروژه node.js داشته باشید ، بلکه میتونید یه directory رو مثل یک وب سرور روی هر port که خواستید میزبانی کنید :
pm2 serve <or> expose <options> <path> <port>
ssh what?
SSH مخفف عبارتSecure Shell میباشد و یک پروتکل امنیتی برای ارتباط از راه دور بین دو دستگاه است. با استفاده از SSH، میتوانید به یک سیستم کامپیوتری از راه دور و از طریق اینترنت متصل شوید و فرمانها و دستورات را از راه دور اجرا کنید.
ازSSH برای ارتباط با سرورها و دیگر دستگاههای از راه دور استفاده میشود. با استفاده ازSSH، میتوانید به سیستم عامل سرور متصل شوید و دستورات را از راه دور اجرا کنید. این بسیار مفید است زیرا به شما اجازه میدهد تا به دستگاههای دیگر از راه دور دسترسی داشته باشید و مانند آنها کنترل کنید. همچنین، SSH امکاناتی برای امنیت بیشتر در ارتباط از راه دور فراهم میکند و از امنیت بالایی برخوردار است.
به طور خلاصه، SSH یک پروتکل امنیتی برای ارتباط از راه دور بین دو دستگاه است که برای اتصال به دستگاههای دیگر از راه دور و اجرای دستورات از راه دور استفاده میشود.
اگر میخواهید مطالب خود را در سایت دوپلیش کنید و از یک سرور هاست لینوکس برای این کار استفاده میکنید، میتوانید از نرمافزارهایی مانند WinSCP و FileZilla استفاده کنید تا به سرور هاست لینوکس خود وصل شوید و فایلهای خود را در سرور بارگذاری کنید. برای این کار، ابتدا باید اطلاعات ورود به سرور هاست خود را (مانند نام کاربری، رمز عبور و آدرس سرور) در نرمافزار مورد نظر خود وارد کنید و سپس به سرور وصل شوید و فایلهای خود را در سرور بارگذاری کنید.
ngnix what؟
در مورد بالا آمدن سرور، اگر شما سرور خود را در سرویسهای ابری مانند سواگر استقرار دادهاید، میتوانید با استفاده از ابزارهایی مانند Nginx، سرور خود را تنظیم کنید. Nginx یک وب سرور متن باز است که برای اجرای دیگر نرمافزارهای وب مانند PHP و Python نیز قابل استفاده است. با استفاده از Nginx، میتوانید سرور خود را بهبود دهید، بارگذاری وبسایت را افزایش دهید و امنیت وبسایت خود را افزایش دهید.
برای تنظیم Nginx، باید به مسیر فایل تنظیمات Nginx بروید و فایل تنظیماتی که برای سرویس ابری خود میخواهید را ویرایش کنید. در این فایل، شما میتوانید تنظیمات مربوط به سرور خود را انجام دهید، مانند تنظیمات دامنه، SSL و فیلترینگIP. بعد از انجام تغییرات، باید فایل را ذخیره کنید وNginx را با استفاده از دستور service nginx restart یا systemctl restart nginx راهاندازی مجدد کنید تا تغییرات اعمال شود.
به طور خلاصه، با استفاده از Nginx میتوانید سرعت و امنیت وبسایت خود را بهبود دهید و با تنظیمات مناسب، بهبود کارایی سرور خود را تجربه کنید.
ci/cd what?
CI/CD به مجموعهای از اصول و فرایندهای مربوط به توسعه نرمافزار و ارائه آن به مشتریان با سرعت و کیفیت بالا گفته میشود. CI/CD مخفف Continuous Integration/Continuous Deployment است.
Continuous Integration به معنای ادغام مستمر کد است و به فرایندی اطلاق میشود که در آن، تغییرات کد توسط برنامههای خودکار بررسی و ادغام میشوند تا مشکلات احتمالی در ابتدای فرآیند شناسایی و برطرف شوند.
Continuous Deployment به معنای ارائه مستمر نرمافزار به مشتریان است و به فرایندی اطلاق میشود که در آن، نرمافزار تغییر یافته برای استفاده مشتریان آماده میشود.
CI/CD به کمک اتوماسیون فرایندهای تست، ادغام و ارائه نرمافزار، مزیتهای زیادی را در اختیار توسعهدهندگان و مشتریان قرار میدهد، از جمله افزایش کیفیت و سرعت توسعه و ارائه نرمافزار، افزایش اعتماد به نرمافزار، کاهش خطاها و افزایش بهرهوری توسعهدهندگان می باشد.
docker what?
داکر (Docker) یک پلتفرم متن باز برای اجرای برنامههای کاربردی در محیطهای مجازی است. داکر به کاربران اجازه میدهد تا برنامههای خود را در یک محیط مستقل و جداگانه از سیستمعامل و سختافزار میزبان اجرا کنند.
در داکر، هر برنامه به عنوان یک container (ظرف) مستقل اجرا میشود که شامل کدهای برنامه، ابزارهای مورد نیاز برای اجرای برنامه و تنظیمات محیطی است که برای اجرای برنامه لازم است. هر container با سایر containerها مستقل است و نمیتواند به منابع یا پروسههای دیگر دسترسی داشته باشد.
یکی از مزیتهای اصلی داکر این است که به کاربران اجازه میدهد تا برنامههای خود را با تنظیمات محیطی خاص در container اجرا کرده و به راحتی بین سیستمها و محیطهای مختلف منتقل کنند. بنابراین، با استفاده از داکر، میتوانید از تنظیمات آسان برای اجرای برنامههای خود استفاده کنید و در هر محیطی که نیاز باشد اجرای برنامه را انجام دهید.
به طور خلاصه، داکر یک پلتفرم مجازی که به کاربران اجازه میدهد برنامههای خود را در محیطی جداگانه و مستقل از سیستمعامل و سختافزار میزبان اجرا کنند.
git what؟
مثلا azure و تنظیمات گیت به شما می دهند کار کردن با ویژوال استادیو گرافی که هر برنامه نویس دارد در اون نرم افزار و add commit push pull merge است
مورد دوم باید یک برنامه نویس فرانت بلد باشد ولی مورد اول باید یک دواپس کار بلد باشد
رودمپ دواپس
رودمپ داکر
رودمپ کوبرنتیز