از برون سپاری تا توسعه (بخش اول)

В مقاله قبلی، در مورد پیشینه ایجاد Veliam و تصمیم برای توزیع آن از طریق سیستم SaaS صحبت کردم. در این مقاله، در مورد کارهایی که باید انجام می‌دادم تا محصول محلی نباشد، بلکه عمومی شود صحبت خواهم کرد. در مورد اینکه توزیع چگونه آغاز شد و با چه مشکلاتی مواجه شدند.

برنامه ریزی

باطن فعلی برای کاربران در لینوکس بود. تقریباً هر سازمانی دارای سرورهای ویندوزی است که در مورد لینوکس نمی توان گفت. نقطه قوت اصلی Veliam اتصال از راه دور به سرورها و تجهیزات شبکه پشت NAT است. اما این قابلیت بسیار محکم با این واقعیت مرتبط بود که روتر باید Mikrotik باشد. و این بدیهی است که بسیاری را راضی نمی کند. من ابتدا به فکر اضافه کردن پشتیبانی برای روترهای رایج ترین فروشندگان بودم. اما فهمیدم که این یک مسابقه بی پایان برای گسترش لیست شرکت های حمایت شده بود. علاوه بر این، آنهایی که قبلاً پشتیبانی می شوند ممکن است مجموعه ای متفاوت از دستورات برای تغییر قوانین NAT از مدلی به مدل دیگر داشته باشند. به نظر می رسید تنها راه برون رفت از وضعیت یک VPN است.

از آنجایی که تصمیم گرفتیم محصول را توزیع کنیم، اما نه به صورت متن باز، گنجاندن کتابخانه های مختلف با مجوزهای باز مانند GPL غیرممکن شد. این به طور کلی یک موضوع جداگانه است؛ پس از تصمیم گیری برای فروش محصول، مجبور شدم نیمی از کتابخانه ها را به دلیل GPL بودن آنها مرور کنم. وقتی برای خودشان می نوشتند طبیعی بود. اما برای توزیع مناسب نیست. اولین VPN که به ذهن می رسد OpenVPN است. اما GPL است. گزینه دیگر استفاده از SoftEther VPN ژاپنی بود. مجوز او به او اجازه داد تا آن را در محصول خود قرار دهد. پس از چند روز آزمایش های مختلف در مورد نحوه ادغام آن به گونه ای که کاربر نیازی به پیکربندی هیچ چیزی نداشته باشد و در مورد SoftEther VPN بداند، یک نمونه اولیه به دست آمد. همه چیز همانطور که باید باشد بود. اما به دلایلی این طرح همچنان ما را گیج می کرد و در نهایت آن را رها کردیم. اما طبیعتاً پس از اینکه گزینه دیگری را مطرح کردند، نپذیرفتند. در پایان، همه چیز بر روی اتصالات معمولی TCP انجام شد. برخی از اتصالات از طریق یک هماهنگ کننده کار می کنند، برخی مستقیماً از طریق فناوری Nat Hole Punching (NHP) که در Free Pascal نیز پیاده سازی شده است. باید بگویم که قبلاً حتی نام NHP را نشنیده بودم. و هرگز به ذهنم خطور نکرد که امکان اتصال 2 دستگاه شبکه وجود داشته باشد که هر دو مستقیماً پشت NAT هستند. موضوع را مطالعه کردم، اصل کار را فهمیدم و به نوشتن نشستم. این طرح محقق می شود، کاربر با یک کلیک به دستگاه مورد نظر پشت NAT از طریق RDP، SSH یا Winbox بدون وارد کردن رمز عبور یا راه اندازی VPN متصل می شود. علاوه بر این، بیشتر این اتصالات از هماهنگ کننده ما عبور می کنند که تأثیر خوبی بر روی پینگ و هزینه سرویس این اتصالات دارد.

انتقال سمت سرور از لینوکس به ویندوز

هنگام تغییر به ویندوز چندین مشکل وجود داشت. اولین مورد این است که wmic داخلی در ویندوز به شما اجازه ایجاد پرس و جوهای WQL را نمی دهد. و در سیستم ما همه چیز از قبل بر روی آنها ساخته شده بود. و چیز دیگری هم وجود داشت، اما اکنون فراموش کرده ام که چرا بالاخره استفاده از آن را کنار گذاشتند. احتمالاً تفاوت بین نسخه های ویندوز. و مشکل دوم چند رشته ای است. با پیدا نکردن یک ابزار شخص ثالث خوب تحت مجوز "قابل قبول" برای ما، IDE Lazarus را دوباره راه اندازی کردم. و من ابزار لازم را نوشتم. ورودی لیست مورد نیاز اشیاء و پرس و جوهای خاصی است که باید انجام شود و در پاسخ من داده ها را دریافت می کنم. و همه اینها در حالت چند رشته ای. عالی.

بعد از اینکه pthread ها را برای PHP ویندوز راه اندازی کردم، فکر کردم همه چیز بلافاصله شروع می شود، اما اینطور نبود. پس از مدتی اشکال زدایی، متوجه شدم که به نظر می رسد pthread ها کار می کنند، اما روی سیستم ما کار نمی کند. مشخص شد که کار با pthread ها در ویندوز ویژگی خاصی دارد. و همینطور هم شد. من مستندات رو خوندم و اونجا نوشته بود که برای ویندوز تعداد تاپیک ها محدوده و تا جایی که یادم میاد به طور ضمنی. این یک مشکل شد. چون وقتی شروع به کاهش تعداد رشته‌هایی کردم که برنامه اجرا می‌شد، کار را بسیار کند انجام داد. IDE را دوباره باز کردم و قابلیت پینگ چند رشته ای اشیا به همان ابزار اضافه شد. خب، در حال حاضر تعداد زیادی پورت اسکن در آنجا نیز وجود دارد. در واقع، پس از این، نیاز به pthread برای PHP از بین رفت و دیگر استفاده نمی شود. علاوه بر این، چندین قابلیت دیگر به این ابزار اضافه شد و هنوز هم تا به امروز کار می کند. پس از این، یک نصب کننده برای ویندوز مونتاژ شد که شامل Apache، PHP، MariaDB، خود برنامه PHP و مجموعه ای از ابزارهای کمکی برای تعامل با سیستم بود که با Free Pascal نوشته شده بود. در مورد نصب کننده، فکر می کردم که این مشکل را سریع حل کنم، زیرا ... این یک چیز بسیار رایج است و تقریباً برای هر نرم افزاری ضروری است. یا در جای اشتباهی نگاه می کردم یا چیز دیگری. اما من دائماً به محصولاتی برخورد می کردم که یا به اندازه کافی انعطاف پذیر نبودند یا گران بودند و همچنین انعطاف ناپذیر بودند. و با این حال، من یک نصب کننده رایگان پیدا کردم که در آن امکان ارائه هر خواسته ای وجود دارد. این InnoSetup است. من در اینجا در مورد این موضوع می نویسم زیرا برای اینکه در وقت کسی صرفه جویی کنم باید آن را جستجو می کردم.

امتناع افزونه به نفع مشتری شما

قبلاً نوشتم که بخش مشتری یک مرورگر با "پلاگین" است. بنابراین زمانی وجود داشت که کروم به‌روزرسانی می‌شد و طرح‌بندی کمی کج می‌شد، سپس ویندوز به‌روزرسانی می‌شد و طرح سفارشی uri ناپدید می‌شد. من واقعاً نمی خواستم این نوع شگفتی ها را در نسخه عمومی محصول داشته باشم. علاوه بر این، uri سفارشی پس از هر به روز رسانی ویندوز شروع به ناپدید شدن کرد. مایکروسافت به سادگی تمام شاخه های غیر خود را در بخش مورد نیاز حذف کرد. همچنین، Google Chrome اکنون به شما اجازه نمی دهد که انتخاب باز کردن یا عدم باز کردن یک برنامه از uri سفارشی را به خاطر بسپارید و هر بار که روی یک شی مانیتورینگ کلیک می کنید این سوال را می پرسد. خوب، به طور کلی، تعامل عادی با سیستم محلی کاربر ضروری بود، که مرورگر آن را ارائه نمی دهد. ساده ترین گزینه در این طرح به نظر می رسد که به سادگی مرورگر خود را بسازید، همانطور که بسیاری اکنون از طریق Electron انجام می دهند. اما بسیاری از چیزها قبلاً در Free Pascal نوشته شده بود ، از جمله در قسمت سرور ، بنابراین ما تصمیم گرفتیم کلاینت را به همان زبان بسازیم و باغ وحش ایجاد نکنیم. به این ترتیب یک کلاینت با Chromium در هیئت مدیره نوشته شد. پس از آن، شروع به بدست آوردن تسمه های مختلف کرد.

رهایی

در نهایت یک نام برای سیستم انتخاب کردیم. در حالی که فرآیند تبدیل از نسخه محلی به SaaS در حال انجام بود، دائماً گزینه های مختلفی را مرور می کردیم. از آنجایی که در ابتدا قصد داشتیم نه تنها وارد بازار داخلی شویم، معیار اصلی برای انتخاب نام، وجود دامنه خالی یا نه چندان گران قیمت در منطقه ".com" بود. برخی از توابع/ماژول ها هنوز از نسخه محلی به Veliam منتقل نشده اند، اما ما تصمیم گرفتیم که آنها را با عملکرد فعلی منتشر کنیم و بقیه را به عنوان به روز رسانی کامل کنیم. در اولین نسخه HelpDesk، Veliam Connector وجود نداشت، تغییر آستانه برای راه‌اندازهای اعلان و موارد دیگر غیرممکن بود. ما یک گواهی امضای کد خریدیم و قطعات مشتری و سرور را امضا کردیم. ما یک وب سایت برای محصول نوشتیم، مراحل ثبت نرم افزار، علامت تجاری و غیره را آغاز کردیم. به طور کلی، ما آماده شروع هستیم. یک سرخوشی جزئی از کار انجام شده و از این واقعیت که ممکن است شخصی از محصول شما استفاده کند، اگرچه ما در این مورد تردیدی نداشتیم. و سپس متوقف شود. شریک گفت که ورود به بازار بدون اطلاع رسانی از طریق پیام رسان غیرممکن است. بدون خیلی چیزهای دیگر ممکن است، اما بدون این امکان پذیر نیست. پس از مدتی بحث، ادغام با تلگرام اضافه شد که برای ما مناسب بود. از بین تمام پیام رسان های فوری فعلی، این تنها پیام رسان است که دسترسی به API های خود را به صورت رایگان و بدون هیچ گونه رویه تأیید پیچیده ای فراهم می کند. همان واتس اپ پیشنهاد می کند با ارائه دهندگانی تماس بگیرید که برای استفاده از خدمات آنها پول خوبی دریافت می کنند؛ همه نامه هایی که درخواست دسترسی بدون واشر را داشتند نادیده گرفته شدند. خب، وایبر... من نمی‌دانم الان چه کسی از آن استفاده می‌کند، زیرا... هرزنامه و تبلیغات وجود دارد خارج از نمودار. در پایان آذرماه پس از یک سری تست و تست داخلی بین دوستان، ثبت نام برای همه باز شد و نرم افزار برای دانلود در دسترس قرار گرفت.

شروع توزیع

از همان ابتدا متوجه شدیم که به جریان کمی از کاربران سیستم نیاز داریم تا بتوانند محصول را در حالت جنگی آزمایش کنند و اولین بازخورد را ارائه دهند. چندین پست خریداری شده در VK به ثمر نشست. اولین ثبت نام ها رسید

در اینجا باید گفت که ورود به بازار در شرایطی که شرکت شما نام معروفی ندارد و در عین حال ارائه عملکرد نظارت بدون عامل که در آن باید از سرورها و ایستگاه های کاری خود وارد اکانت کنید بسیار مشکل است. این خیلی ها را می ترساند. ما از همان ابتدا فهمیدیم که در این زمینه مشکلاتی وجود خواهد داشت و از نظر فنی و اخلاقی برای این کار آماده بودیم. همه اتصالات از راه دور، با وجود این واقعیت که RDP و SSH قبلاً به طور پیش فرض رمزگذاری شده اند، علاوه بر این توسط نرم افزار ما با استفاده از استاندارد AES رمزگذاری می شوند. تمام داده های سرورهای محلی از طریق HTTPS به ابر منتقل می شود. حساب ها به صورت رمزگذاری شده ذخیره می شوند. کلیدهای رمزگذاری برای همه زیرسیستم ها برای همه مشتریان فردی هستند. برای اتصالات راه دور، معمولاً از کلیدهای رمزگذاری جلسه استفاده می شود.

تنها کاری که در این شرایط می‌توانیم انجام دهیم تا مردم احساس آرامش کنند این است که تا حد امکان باز باشیم، روی ایمنی کار کنیم و هرگز از پاسخ دادن به سؤالات مردم خسته نشویم.

برای بسیاری، راحتی و عملکرد نرم افزار بیشتر از ترس است و آنها ثبت نام می کنند. برخی از افراد در پست های منتشر شده در VK نوشتند که این نرم افزار قابل استفاده نیست زیرا این مجموعه ای از رمزهای عبور آنها و به طور کلی یک شرکت بدون نام است. باید گفت که بیش از یک نفر این نظر را داشتند. بسیاری از مردم به سادگی نمی‌دانند که وقتی نرم‌افزارهای اختصاصی دیگری را روی سروری که به‌عنوان سرویس اجرا می‌شود نصب می‌کنند، این نرم‌افزار نیز دارای حقوق کامل در سیستم است و برای انجام کاری غیرقانونی به حساب‌ها نیازی ندارند (روشن است که می‌توانید آن را تغییر دهید. کاربری که سرویس از او راه اندازی می شود، اما در اینجا نیز می توانید هر حساب کاربری را وارد کنید). در واقع، ترس مردم قابل درک است. نصب نرم افزار بر روی سرور یک چیز معمولی است، اما وارد کردن یک حساب کاربری کمی ترسناک و صمیمی است، زیرا نیمی از مردم رمز عبور یکسانی برای همه سرویس ها دارند و ایجاد یک حساب جداگانه حتی برای آزمایش تنبلی است. اما در حال حاضر تعداد زیادی خدمات وجود دارد که مردم با اعتبار خود و بیشتر به آنها اعتماد دارند. و ما برای تبدیل شدن به یکی از آنها تلاش می کنیم.

کامنت های زیادی وجود داشت که می گفتند ما آن را در جایی دزدیدیم. این کمی ما را شگفت زده کرد. خوب، نظر یک نفر است، اما چنین نظراتی در نشریات مختلف از افراد مختلف یافت شد. در ابتدا نمی دانستند که چگونه به این موضوع واکنش نشان دهند. یا از اینکه برخی از مردم این عقیده را دارند که در روسیه هیچ کس به تنهایی نمی تواند کاری انجام دهد، غمگین باشد، یا اینکه خوشحال باشد که فکر می کند این را فقط می توان دزدید.

ما اکنون مراحل دریافت گواهینامه کد EV را تکمیل کرده ایم. برای به دست آوردن آن، باید یک سری بررسی ها را انجام دهید و یک سری مدارک در مورد شرکت ارسال کنید که برخی از آنها باید توسط وکیل تایید شده باشد. دریافت گواهی علامت کد EV در طول همه‌گیری یک موضوع جداگانه برای مقاله است. این روش یک ماه طول کشید. و این یک ماه انتظار نبود، بلکه درخواست مداوم برای اسناد اضافی بود. شاید بیماری همه گیر ربطی به آن نداشته باشد و این روند برای همه طولانی شده است؟ اشتراک گذاری.

برخی می گویند که ما از آن استفاده نمی کنیم زیرا گواهی FSTEC وجود ندارد. ما باید توضیح دهیم که ما نمی توانیم آن را دریافت کنیم و نخواهیم کرد زیرا برای دریافت این گواهی، رمزگذاری باید مطابق با GOST باشد و ما قصد داریم نرم افزار را نه تنها در روسیه توزیع کنیم و از AES استفاده کنیم.

همه این نظرات شک و تردید ایجاد می کند که ممکن است محصولی را تبلیغ کنید که شما را ملزم به ورود به حساب ها بدون شناخته شدن عمومی کند. با اینکه می‌دانستیم کسانی هستند که نگرش بسیار منفی نسبت به این موضوع دارند. بعد از اینکه تعداد ثبت نام ها از هزار نفر گذشت، دیگر به آن فکر نکردیم. به خصوص پس از آن، علاوه بر منفی بودن کسانی که حتی محصول را امتحان نکرده بودند، نظرات بسیار دلپذیری ظاهر شد. باید گفت که این نقدهای مثبت بزرگترین محرک برای توسعه محصول است.

افزودن قابلیت دسترسی از راه دور برای کارمندان

یکی از کارهای مکرر مشتریان این است که "به وانیا از خانه به کامپیوتر خود دسترسی داشته باشد." ما VPN را در Mikrotik افزایش دادیم و برای کاربران حساب ایجاد کردیم. اما این یک مشکل واقعی است. کاربران قادر به مشاهده دستورالعمل ها نیستند و آنها را برای اتصال از طریق VPN قدم به قدم دنبال می کنند. نسخه های مختلف ویندوز. در یک ویندوز همه چیز به خوبی متصل می شود، در دیگری به پروتکل دیگری نیاز است. و به طور کلی، این همیشه با پیکربندی مجدد تجهیزات شبکه همراه بود که به عنوان یک سرور VPN عمل می کرد و همه کارمندان به آن دسترسی ندارند و این ناخوشایند بود.

اما ما قبلاً اتصالات راه دور به سرورها و تجهیزات شبکه داریم. چرا از یک حمل و نقل آماده استفاده نکنید و یک ابزار کوچک جداگانه ایجاد کنید که به سادگی می توانید برای اتصال به کاربر بدهید. من فقط می خواستم مطمئن شوم که کاربر چیزی مبهم در آنجا وارد نکرده است. فقط یک دکمه "اتصال". اما چگونه این ابزار می تواند بفهمد که اگر فقط یک دکمه داشته باشد به کجا متصل شود؟ ایده ای وجود داشت که برنامه مورد نیاز را به صورت آنلاین روی سرورهای خود بسازیم. مدیر سیستم روی دکمه "دانلود میانبر" کلیک می کند و دستوری به ابر ما ارسال می شود تا یک باینری جداگانه با اطلاعات سیم کشی شده برای اتصال به سرور/کامپیوتر مورد نظر از طریق RDP ایجاد کند. به طور کلی، این می تواند انجام شود. اما این کار زمان زیادی می برد؛ مدیر باید ابتدا منتظر بماند تا باینری کامپایل شود و سپس دانلود شود. البته، می توان به سادگی یک فایل دوم را با پیکربندی اضافه کرد، اما این در حال حاضر 2 فایل است و برای سادگی کاربر به یکی نیاز دارد. یک فایل، یک دکمه و بدون نصب کننده. پس از مطالعه کمی در گوگل، به این نتیجه رسیدم که اگر اطلاعاتی را به انتهای ".exe" کامپایل شده اضافه کنید، خراب نمی شود (خوب، تقریباً). شما حداقل می توانید جنگ و صلح را در آنجا اضافه کنید و مانند قبل کار خواهد کرد. سوء استفاده نکردن از این امر گناه است. اکنون می توانید به سادگی برنامه را در حال حرکت، دقیقاً در خود کلاینت، به روشی که Veliam Connector نامیده می شود، باز کنید و به سادگی اطلاعات لازم برای اتصال به آن را در پایان اضافه کنید. و خود برنامه می داند که با آن چه کند. چرا کمی بالاتر در پرانتز نوشتم "خوب تقریبا"؟ زیرا شما باید برای این راحتی هزینه کنید زیرا برنامه امضای دیجیتال خود را از دست می دهد. اما در این مرحله، ما معتقدیم که این هزینه کمی برای چنین راحتی است.

مجوزهای ماژول شخص ثالث

قبلاً در بالا نوشتم که بعد از اینکه تصمیم گرفتیم محصول را در دسترس عموم قرار دهیم، و نه فقط برای استفاده خودمان، باید سخت کار کنیم و به دنبال جایگزینی برای برخی از ماژول‌هایی باشیم که به خودمان اجازه نمی‌دهند در محصول ما قرار بگیرند. اما پس از انتشار به طور اتفاقی یک چیز بسیار ناخوشایند کشف شد. سرور Veliam که در سمت کلاینت قرار داشت شامل MariaDB DBMS بود. و دارای مجوز GPL است. مجوز GPL به این معنی است که نرم افزار باید منبع باز باشد و اگر محصول ما شامل MariaDB است که این مجوز را دارد، پس محصول ما باید تحت این مجوز باشد. اما خوشبختانه هدف از این مجوز منبع باز است نه مجازات کسانی که به طور تصادفی در دادگاه مرتکب اشتباه می شوند. اگر صاحب حق چاپ ادعایی داشته باشد، مراتب را کتباً به متخلف اعلام می کند و او باید ظرف 30 روز تخلف را برطرف کند. ما خودمان اشتباه خود را کشف کردیم و هیچ نامه ای دریافت نکردیم و بلافاصله شروع به بررسی گزینه هایی برای حل مشکل کردیم. راه حل واضح بود - به SQLite بروید. این پایگاه داده هیچ محدودیتی برای مجوز ندارد. اکثر مرورگرهای مدرن از SQLite و تعداد زیادی برنامه دیگر استفاده می کنند. من اطلاعاتی را در اینترنت پیدا کردم که SQLite را گسترده ترین DBMS در جهان می دانند، دقیقاً به دلیل مرورگرها، اما من به دنبال اثبات نبودم، بنابراین این اطلاعات نادرست است. من شروع به مطالعه خطرات تغییر به SQLite کردم.

زمانی که کلاینت‌ها چندین صد سرور با MariaDB و داده‌ها در آن نصب کرده‌اند، این کار به یک کار غیر ضروری تبدیل می‌شود. برخی از ویژگی های MariaDB در SQLite در دسترس نیستند. خوب، به عنوان مثال، در کد ما از پرس و جوهایی مانند استفاده کردیم

Select * FROM `table` WHERE `id`>1000 FOR UPDATE

این ساختار نه تنها از جدول انتخاب می کند، بلکه داده های ردیف را نیز قفل می کند. و چندین طرح دیگر نیز باید بازنویسی می شد. اما علاوه بر این واقعیت که ما مجبور بودیم بسیاری از پرس‌و‌جوها را بازنویسی کنیم، همچنین باید مکانیزمی ارائه می‌دادیم که هنگام به‌روزرسانی سرور Veliam کلاینت، تمام داده‌ها را به DBMS جدید منتقل می‌کرد و قبلی را حذف می‌کرد. همچنین، تراکنش ها در SQLite کار نکرد و این یک مشکل واقعی بود. اما پس از مطالعه وسعت شبکه جهانی وب، بدون هیچ مشکلی متوجه شدم که تراکنش ها در SQLite را می توان با دادن یک دستور ساده هنگام اتصال فعال کرد.

PRAGMA journal_mode=WAL;

در نتیجه، کار تکمیل شد و اکنون بخش سرور مشتری روی SQLite اجرا می شود. ما هیچ تغییری در عملکرد سیستم مشاهده نکردیم.

HelpDesk جدید

لازم بود سیستم HelpDesk از نسخه داخلی به نسخه SaaS پورت شود اما با تغییراتی. اولین کاری که می خواستم انجام دهم، ادغام با دامنه مشتری از نظر مجوز کاربر شفاف در سیستم بود. حالا برای ورود به HelpDesk و گذاشتن درخواست در سیستم، کاربر به سادگی روی میانبر دسکتاپ کلیک کرده و مرورگر باز می شود. کاربر هیچ اعتباری را وارد نمی کند. ماژول Apache SSPI، که بخشی از سرور Veliam است، به طور خودکار کاربر را تحت یک حساب دامنه مجوز می دهد. برای گذاشتن درخواست در سیستم زمانی که کاربر خارج از شبکه شرکتی است، روی دکمه ای کلیک می کند و لینکی در ایمیل خود دریافت می کند که از طریق آن بدون رمز عبور وارد سیستم HelpDesk می شود. اگر کاربری در دامنه‌ای غیرفعال یا حذف شود، حساب HelpDesk نیز کار نخواهد کرد. بنابراین، مدیر سیستم نیازی به نظارت بر حساب‌ها در دامنه و خود HelpDesk ندارد. یک کارمند استعفا می دهد - او حساب خود را در دامنه قطع می کند و تمام، او نه از شبکه شرکتی و نه از طریق پیوند وارد سیستم نمی شود. برای اینکه این ادغام کار کند، مدیر سیستم باید یک GPO ایجاد کند که یک سایت داخلی به منطقه اینترانت اضافه می کند и میانبر را برای همه کاربران روی دسکتاپ توزیع می کند.

دومین موردی که برای سیستم های HelpDesk، حداقل برای خودمان بسیار ضروری می دانیم، اتصال مستقیم به متقاضی با یک کلیک است. علاوه بر این، اگر مدیر سیستم در شبکه دیگری باشد، اتصالات باید انجام شود. برای برون سپاری این امر اجباری است، برای مدیران سیستم تمام وقت نیز اغلب بسیار ضروری است. در حال حاضر چندین محصول وجود دارد که عملکرد عالی اتصال از راه دور را انجام می دهند. و ما تصمیم گرفتیم برای آنها یکپارچه سازی کنیم. ما اکنون برای VNC یکپارچه شده ایم و در آینده قصد داریم Radmin و TeamViewer را اضافه کنیم. با استفاده از حمل و نقل شبکه خود برای اتصالات زیرساخت از راه دور، VNC را به ایستگاه های کاری راه دور در پشت NAT متصل کردیم. در مورد رادمین هم همین اتفاق خواهد افتاد. اکنون برای اتصال به یک کاربر، کافی است روی دکمه "اتصال به متقاضی" در خود برنامه کلیک کنید. کلاینت VNC بدون توجه به اینکه در همان شبکه هستید یا با دمپایی در خانه نشسته اید باز می شود و به متقاضی متصل می شود. ابتدا، مدیر سیستم، با استفاده از GPO، باید سرور VNC را در ایستگاه های کاری همه نصب کند.

اکنون ما خودمان به HelpDesk جدید تغییر می کنیم و از ادغام با دامنه و VNC استفاده می کنیم. این برای ما بسیار راحت است. اکنون می توانیم از پرداخت هزینه TeamViewer که بیش از سه سال است برای اجرای خدمات پشتیبانی خود از آن استفاده می کنیم، اجتناب کنیم.

در ادامه قصد داریم چه کار کنیم؟

وقتی محصول را منتشر کردیم، هیچ تعرفه پولی ایجاد نکردیم، بلکه تعرفه رایگان را به 50 شی نظارت محدود کردیم. ما فکر کردیم که پنج دوجین دستگاه شبکه و سرور باید برای همه کافی باشد. و سپس درخواست ها برای افزایش حد شروع شد. اینکه بگوییم کمی شوکه شدیم، چیزی نگفتن است. آیا شرکت هایی که سرورهای زیادی دارند واقعاً به نرم افزار ما علاقه مند هستند؟ ما محدودیت را برای کسانی که چنین درخواستی داشتند به صورت رایگان افزایش دادیم. در پاسخ به درخواست آنها، از برخی پرسیدیم که چرا اینقدر نیاز دارند، آیا واقعاً این همه سرور و تجهیزات شبکه دارند؟ و معلوم شد که مدیران سیستم شروع به استفاده از سیستم به روشی کردند که ما اصلاً برنامه ریزی نکرده بودیم. همه چیز ساده بود - نرم افزار ما نه تنها سرورها، بلکه ایستگاه های کاری را نیز نظارت کرد. از این رو درخواست های زیادی برای گسترش محدودیت ها وجود دارد. اکنون تعرفه های پرداختی را معرفی کرده ایم و محدودیت ها را می توان به طور مستقل افزایش داد.

سرورها تقریباً همیشه با سیستم های ذخیره سازی یا دیسک های محلی در یک آرایه RAID کار می کنند. و ما در ابتدا محصول را برای آنها ساختیم. و نظارت هوشمند برای این کار جالب نبود. اما با در نظر گرفتن این واقعیت که مردم نرم افزاری را برای نظارت بر ایستگاه های کاری تطبیق داده اند، درخواست هایی برای اجرای نظارت SMART ظاهر شده است. به زودی اجرا خواهیم کرد.

با ظهور Veliam Connector، مستقر کردن یک سرور VPN در شبکه شرکت، یا انجام RDGW، یا به سادگی ارسال پورت ها به ماشین های لازم برای اتصال از طریق RDP، غیر ضروری شد. بسیاری از مردم از سیستم ما فقط برای این اتصالات از راه دور استفاده می کنند. اتصال Veliam فقط برای ویندوز در دسترس است و برخی از کاربران شرکت از لپ‌تاپ‌های خانگی دارای MacOS به ایستگاه‌های کاری یا پایانه‌های شبکه شرکتی متصل می‌شوند. و معلوم می شود که مدیر سیستم به دلیل چندین کاربر مجبور است همچنان به موضوع فوروارد یا VPN بازگردد. بنابراین، ما اکنون در حال تکمیل نسخه Veliam Connector برای MacOS هستیم. کاربران فناوری محبوب اپل نیز این امکان را خواهند داشت که با یک کلیک به زیرساخت شرکت متصل شوند.

من واقعاً از این واقعیت خوشم می‌آید که با داشتن تعداد زیادی کاربر سیستم، لازم نیست مغز خود را در مورد آنچه مردم نیاز دارند و راحت‌تر خواهد بود، بررسی کنید. آنها خودشان خواسته های خود را می نویسند، بنابراین برنامه های توسعه زیادی برای آینده نزدیک وجود دارد.

به موازات آن، اکنون در حال برنامه ریزی برای شروع ترجمه سیستم به انگلیسی و توزیع آن در خارج از کشور هستیم. ما هنوز نمی دانیم چگونه محصول را در خارج از کشور خود توزیع خواهیم کرد، ما به دنبال گزینه هایی هستیم. شاید بعداً مقاله جداگانه ای در این مورد وجود داشته باشد. شاید کسی که این مقاله را خوانده است بتواند وکتور مورد نیاز را پیشنهاد دهد یا خودش بلد است و می داند چگونه این کار را انجام دهد و خدمات خود را ارائه دهد. ما از کمک شما قدردانی خواهیم کرد.

منبع: www.habr.com

اضافه کردن نظر