دیپلوی چیست؟ آشنایی با Deploy در برنامه نویسی
تصور کنید پروژهای را توسعه دادهاید و این پروژه، از تمام آزمون و خطاهای تعریف شده توسط تیم برنامه نویسی، جان سالم به در برده است! خب؛ چطور قرار است آن را به کارفرما یا دوستانتان نشان دهید؟ میخواهید لپ تاپ یا کامپیوتر خود را به اتاق کارفرما برده و روی سیستم خودتان، خروجی پروژه را به او نشان دهید؟ این کار تا 15 سال قبل یک روند نرمال و ضروری بود؛ اما امروزه با روی کار آمدن مفهوم دیپلوی، دیگر نیازی به انجام این کار نیست. اما دیپلوی چیست و چطور باید از آن استفاده کنیم؟
این مقاله از وبلاگ سبزلرن دقیقا به همین موضوع اختصاص دارد؛ دیپلوی در برنامه نویسی چیست و چرا باید پروژههای خود را دیپلوی کنیم؟
دیپلوی چیست؟
به زبان خیلی ساده، دیپلوی به معنی آنلاین کردن یا لانچ پروژهای است که فقط در کامپیوتر ما وجود دارد. به این ترتیب، همه افراد میتوانند با استفاده از آدرس اختصاصی یا دامین پروژه، به آن دسترسی داشته و از بخشهای مختلف آن استفاده کنند. با دیپلوی کردن یک پروژه میتوانیم آن را در یک محیط عملیاتی مورد بررسی قرار داده و عملکرد آن را در دستگاهها و شرایط مختلف بسنجیم.
همان مثال قبل را درنظر بگیرید. زمانی که سورس پروژه، تنها در کامپیوتر شما موجود باشد، باید دائما آن را به افراد مختلف نشان دهید و همیشه باید لپ تاپ را همراه خودتان داشته باشید. اینکه بخواهید پروژه را در لپ تاپ خودتان به کارفرما یا مدیر یک شرکت نمایش دهید، نشان دهنده سطح پایین کار و غیرحرفهای بودن آن است. اما با دیپلوی کردن پروژه، میتوانید به سادگی آن را در اختیار افراد مختلف قرار داده و بازخوردهای آنها را جمعآوری کنید.
البته کاربردهای Deploy تنها به همین موارد محدود نمیشود. کاربران مختلف با سیستم عاملها و دستگاههای مختلف وارد پروژه شما میشوند؛ در نتیجه اگر مشکلی از نظر اجرای برنامه یا پروژه شما در هر سیستم عامل یا پلتفرم وجود داشته باشد، با استفاده از بازخوردی که کاربران برای شما مینویسند، میتوانید ایراد را رفع کنید و به ثبات و بهبود پروژه کمک کنید!
اما دلایل اهمیت دیپلوی چیست و چرا بهتر است پروژههای خود را دیپلوی کنیم؟
چرا دیپلوی مهم است؟
بیایید دیپلوی کردن پروژه را از دو جنبه بررسی کنیم:
- شخصی که در یک شرکت استخدام شده
- برنامه نویسی که فریلنسر است
برای هرکدام از این افراد، دلایل اهمیت دیپلوی متفاوت است؛ حتی اگر فرآیند انجام آن یکسان باشد. به همین دلیل در هرکدام از قسمتهای این مطلب، از هر دو جنبه به قضیه نگاه میکنیم. اگر حوصله خواندن این بخش را ندارید، میتوانید از اینفوگرافی زیر استفاده کنید.
دریافت بازخورد و رفع ایرادات
اصلیترین دلایل اهمیت دیپلوی یا استقرار یک پروژه، دریافت بازخورد از عملکرد فعلی آن است. با دیپلوی کردن پروژه، عملا امکان دسترسی به آن را برای افراد مختلف فراهم میکنید؛ با این تفاوت که پروژه هنوز آماده انتشار به صورت عمومی نیست. معمولا در پروژههای درون سازمانی، دسترسی تنها به افراد خاصی اعطا میشود؛ مدیر پروژه، مدیرعامل یا حتی کارکنان بخشهای مختلف و تعداد محدودی از مشتریان، میتوانند به عنوان اولین کاربران پروژهای که دیپلوی کردهاید، از آن استفاده کنند.
کاربران با استفاده از بخشهای مختلف پروژه، میتوانند از مشکلاتی که ممکن است توسط تیم توسعه دهنده کشف نشده باشند، آگاه شده و آنها را در قالب یک بازخورد به شما اعلام کنند. همچنین مدیران پروژه نیز میتوانند پیشنمایشی از پروژه نهایی را مشاهده کرده و در صورت نیاز، بخشهایی که باید تغییر کنند را اعلام کنند. به این ترتیب، برنامه برای ورود به بهترین شکل به بازار آماده میشود.
برای فریلنسران و برنامه نویسانی که تحت استخدام شرکت یا سازمان خاصی نیستند نیز این رویه وجود دارد. با این تفاوت که معمولا سرعت رفع مشکلات و اضافه کردن امکانات جدید، کمتر بوده و عمده کاربرانی که بازخوردهای خود را برای پروژه ارسال میکنند، افراد متخصص و عمدتا برنامه نویس هستند.
پیشنهاد دوره: اموزش دیپلوی
ارائه پیشنمایش از خروجی نهایی
کارفرما یا مدیر تیم باید بتواند بعد از اتمام مراحل توسعه پروژه، خروجی آن را مشاهده کرده و در صورت نیاز، تغییرات موردنیاز را به شما منتقل کند. اگر پروژه دیپلوی نشده باشد، باید به صورت دستی و فیزیکی نزد مدیر رفته و خروجی پروژه را روی لپ تاپ خودتان به او نشان دهید؛ اما با دیپلوی کردن پروژه، تنها لازم است آدرس اختصاصی پروژه را از شرکت هاستینگ که پروژه را روی زیرساختهای آن دیپلوی کردهاید، دریافت کرده و برای هرکسی که میخواهید، ارسال کنید! در بخشهای بعدی درباره روشهای Deploy صحبت میکنیم.
اگر هم به صورت فریلنسری در حال فعالیت هستید، میتوانید به همین صورت، آدرس اختصاصی پروژه را برای کارفرما ارسال کنید. کارفرما میتواند در هر زمان و با هر دستگاهی، پروژه را اجرا کرده و نکات لازم را به شما ارائه دهد.
نیاز به زمان کمتر برای بررسی و بازخورد
دلیل نیاز به زمان کمتر در صورت دیپلوی چیست؟ بیایید یک سناریو را تصور کنیم. فرض کنید توسعه پروژه به اتمام رسیده و زمان ارائه آن به کارفرما است. در صورتی که فریلنسر هستید، دو راه دارید:
- یا کل سورس پروژه را برای کارفرما ارسال کنید.
- یا آن را دیپلوی کرده و آدرس اختصاصی آن را برای او بفرستید.
در حالت اول، احتمال کلاهبرداری و دریافت سورس پروژه و بلاک کردن شما بالا است؛ اتفاقی که کل زحمات شما را بر باد داده و به اصطلاح، دست شما را توی پوست گردو میگذارد. در حالت دوم، کارفرما تنها میتواند خروجی نهایی پروژه را مشاهده کرده و بعد از کار کردن با بخشهای مختلف آن، نکات و تغییرات لازم را به شما گوشزد کند.
اما اگر به صورت حضوری در حال کار هستید، یا باید پروژه را دیپلوی کرده و آن را برای مدیر تیم یا کارفرما ارسال کنید و یا به صورت فیزیکی و حضوری نزد او رفته و پروژه را به او نشان دهید. مسلما با دیپلوی کردن پروژه، میتوانید مدت زمان قابل توجهی را ذخیره کنید. حتی در زمانهای بعدی نیز کارفرما میتواند با مراجعه به همان آدرس قبلی، خروجی جدید پروژه را مشاهده کند و نیازی به حضور دوباره شما نیست!
پیشنهاد مطالعه: سرور چیست؟
پیدا کردن ایدهها و پیشنهادات مفید
شخصا این مورد را دوست دارم. زمانی که پروژه Deploy شده و در اختیار تعداد محدودی از کاربران قرار میگیرد، ممکن است پیشنهادات و ایدههایی از طرف کاربران مطرح شوند که فرصتهای اقتصادی و جدید را به شما معرفی کند. به این صورت، میتوانید برنامه را به صورت کاربردیتر و با عملکردی بهتر به بازار عرضه کنید.
برای مثال، ممکن است کاربران یک ویژگی جدید که در پروژه وجود ندارد را درخواست کنند. پس از مطرح کردن این موضوع با تیمهای مربوطه، ممکن است فرصتهای درآمدزایی جدیدی را پیدا کنید که قبلا به آنها فکر نکرده بودید. در نتیجه، پروژه شما هم درآمد بیشتری را کسب کرده و هم رضایت بیشتری از کاربران دریافت میکند.
به هر حال این موارد، اصلیترین دلایل اهمیت دیپلوی یک پروژه هستند؛ اما دیپلوی چه تفاوتی با انتشار یا ریلیز دارد؟ در هر حالت، پروژه ما روی یک هاست میزبانی شده و یک آدرس اختصاصی یا همان دامین به آن تعلق میگیرد؛ پس تفاوت Release و دیپلوی چیست؟
تفاوت انتشار (Release) و دیپلوی (Deployment) چیست؟
با توضیحاتی که در بخشهای قبلی ارائه شد، ممکن است این سوال برای شما هم به وجود آمده باشد. در ابتدا بهتر است با مفهوم Release اشنا شویم و بدانیم دقیقا با چی طرف هستیم؟
انتشار یا Release، به فرآیند توسعه یک محصول یا سرویس گفته میشود که ممکن است به ایجاد یک محصول یا خدمات جدید یا نسخهای از آنها اختصاص داشته باشد. این فرآیند از تحقیق و برنامه ریزی برای توسعه پروژه آغاز شده و در نهایت، به انتشار عمومی میرسد. کلمه Release معمولا برای مرحله پایانی این فرآیند یعنی همان انتشار عمومی مورداستفاده قرار میگیرد.
دیپلوی یا استقرار پروژه، بخشی از فرآیند انتشار محسوب میشود که بعد از برنامه ریزی و توسعه برنامه توسط تیم فنی انجام میشود. طی این مرحله، پروژه روی فضای میزبانی قرار گرفته و عملکرد آن در دستگاهها و سیستم عاملهای مختلف مورد بررسی قرار میگیرد. به این صورت، مشکلاتی که ممکن است تیم توسعه با آنها روبرو نشده باشند، مشخص شده و طی یک برنامه ریزی مجدد و سریع، برطرف میشوند.
پیشنهاد مطالعه: توسعه دهنده نرم افزار کیست؟
یادگیری زیر و بم دیپلوی
فرآیند دیپلوی یک پروژه، نیازمند یادگیری مباحث مربوط به هاست و میزبانی و اندکی هم مباحث مربوط به Back-end است. از آنجایی که این مفهوم اهمیت زیادی در دنیای برنامه نویسی دارد، تیم سبزلرن تصمیم به ارائه یک دوره آموزشی با نام زیر و بم و منطق دیپلوی برای برنامه نویسان JS گرفت. این دوره وختص توسعه دهندگانی است که به هر طریق، با زبان برنامه نویسی جاوااسکریپت سروکار دارند و مباحث موردنیاز را از پایه آموزش میدهد.
در این مطلب گفته شد که دیپلوی چیست؛ چرا باید پروژههای خود را دیپلوی کنیم و اینکه دیپلوی چه تفاوتی با انتشار دارد. اگر یک جمعبندی کلی داشته باشیم، میتوانیم بگوییم که دیپلوی به معنی استقرار و قرار دادن پروژه در یک محیط عملیاتی برای سنجش عملکرد آن در دستگاهها و شرایط مختلف است. دیپلوی به دلایلی همچون کاهش زمان توسعه، یافتن ایدههای جدید و کاربردی، ارائه پیشنمایش از خروجی پروژه و دریافت بازخورد جهت رفع ایرادات انجام میشود و از این جهت، دارای اهمیت است. همچنین Deploy بخشی از فرآیند انتشار یا Release پروژه است که امکان بررسی و انجام تست در محیط عملیاتی را فراهم میکند.
نظری برای این مقاله ثبت نشده است