وقتی به نحوهی رشد و توسعهی یکتانت دقت میکنیم، یکی از اولین موضوعاتی که توجهمان را جلب میکند این است که یکتانت چگونه گام به گام به جلو حرکت کرده و سرویس خود را بر مبنای نیاز و خواست مشتری توسعه داده است. یکتانت از نمایش تبلیغات کسبوکارهای مختلف به صورت ساده در جایگاههای نمایشدهنده شروع به کار کرد و هم اکنون برای سرویسدهی بهتر به هر دو سمت نمایشدهنده و تبلیغکننده، امکانات و حالات مختلف تبلیغاتی را به مجموعه سرویسهای خود اضافه کرده است.
یکتانت با هدف ایجاد اکوسیستمی سالم و شفاف در فضای تبلیغات آنلاین ایران به وجود آمده است. فضایی که کاربران بتوانند محتوای با کیفیت و ارزشمندی بخوانند و با نمایش تبلیغات متناسب با نیاز و سلیقهی کاربر، نمایشدهندگان بتوانند درآمد منصفانه و شفاف داشته باشند. لذتبخشتر کردن فضای وب فارسی برای کاربران و رضایت هر دو سمت نمایشدهنده و تبلیغکننده برای یکتانت بسیار حائز اهمیت است. از این رو تیم فنی یکتانت با بهروزرسانیهای پیوستهی خود همواره در تلاش است تا بتواند نیاز کاربران را شناسایی کند و تبلیغات مرتبط با خواست آنها را در اختیارشان قرار دهد.
یکتانت برای نمایش تبلیغات در وبسایتهای مختلف و مدیریت کردن حجم زیادی از داده، از یک سرویس ابری در اروپا استفاده میکند. تیم فنی یکتانت پیوسته میکوشد، جایگاههای تبلیغاتی در وبسایتهای نمایشدهنده را فعال نگه دارد و تبلیغات متناسب با کاربر را به او ارائه دهد. از این رو وبسایتهای نمایشدهنده نیز میتوانند به درآمدزایی مناسب دست یابند.
نمودار زیر نشان میدهد سرویس یکتانت از تاریخ ۱ فروردین ۹۶ تا تاریخ ۳۱ خرداد ۹۸ در چند درصد مواقع به درخواست نمایش تبلیغات به درستی پاسخ داده، سرویسها بالا بوده و به درستی کار کرده است. همانطور که مشاهده میکنید تقریبا در تمامی زمانها، سرویس و جایگاهها بالا است و uptime با تقریب خوبی به ۱۰۰٪ میل میکند.
پلتفرم یکتانت در سال ۱۳۹۶ به عنوان رابطی میان کسبوکارها به عنوان تبلیغکننده و صاحبان رسانه به عنوان نمایشدهندهی تبلیغات راهاندازی شد و تا هم اکنون که در تیرماه سال ۱۳۹۸ به سر میبریم، یکتانت با سه پیشامد غیرمنتظره و ناگهانی روبهرو شده است. خوشبختانه تیم فنی یکتانت از افرادی تشکیل شده است که با اراده و پشتکار قوی و دانش بالای فنی، با اتفاقاتی که ناگهان رخ میدهد، مقابله میکنند و همواره تلاش میکنند راه را برای تبلیغکنندگان و نمایشدهندگان هموارتر کنند. در ادامه سه اتفاقی را که در طول این دو سال از خارج از سیستم برای یکتانت رخ داد و از عهدهی تیم فنی خارج بود و نمیتوانست از آن جلوگیری کند، به طور خلاصه شرح میدهیم :
- در اردیبهشت سال ۱۳۹۷ یکی از پیامرسانها در ایران فیلتر شد و در این میان به اشتباه یکی از سرویسهایی که یکتانت از آن به عنوان DNS و CDN استفاده میکرد، هم فیلتر شد. این موضوع سبب شد جایگاههای ما فقط برای کاربرانی که از فیلترشکن استفاده میکنند، قابل رویت باشد. با تلاش تیم فنی یکتانت، تغییر DNS و تماس با مقامات مربوطه این مشکل پس از ساعاتی برطرف شد و نمایش تبلیغات در جایگاهها به وضعیت عادی خود بازگشت.
- پاییز ۹۷ دیتاسنتر یکتانت در اروپا دچار مشکل شد. به مدت دو روز تقریبا تمام سرویسها از سمت شرکت ارائهدهندهی دیتاسنتر، دچار مشکل شدند. این شرکت ارائهدهنده، مشکل پیش آمده را در توییتر خود اعلام و برای قطعی به وجود آمده، عذرخواهی کرد. برای جلوگیری از پیش آمدن چنین اتفاقات غیرمترقبهای، یکتانت تعداد سرورهای خود را افزایش داد و از آن پس از سرورهای گوناگونی در نقاط مختلف دنیا استفاده کرد.
- ابتدای مرداد ۱۳۹۸ فضای ابری (cloud) یکتانت در دیتاسنتری که در اروپا قرار داشت، ناگهان قطع شد و نمایش تبلیغات در جایگاهها با مشکل مواجه شد. این قطعی خارج از فضای یکتانت بود و در دیتاسنتر یکتانت در اروپا به وجود آمده بود. با تماسها و پیگیریهای مکرر و تلاشهای تیم فنی یکتانت، پس از حدود یک روز و نیم تمامی سرویسهای یکتانت به حالت عادی خود بازگشت.
آنچه که در این یک روز و نیم اخیر گذشت …
- دوشنبه ۳۱ تیر ۱۳۹۸ ساعت ۲۱:۳۰ سرورهای تقریبا تمامی سرویسهای اصلی یکتانت از جمله سرویس مرکزی، سرویس نمایش تبلیغات، سرویس گزارشگیری و … به طور ناگهانی و بدون هیچ گونه اطلاعرسانی قبلی از سمت دیتاسنتری که یکتانت از آن استفاده میکند، از دسترس خارج شد و اعضای تیم فنی هیچ گونه دسترسی به این سرویسها نداشتند.
- به طور کلی سیستمها و سرویسهای یکتانت، در سرویس ارائهدهندهی دیتاسنتر داخل یک سرویس ابری (Cloud Operating System) قرار دارد. نام این سرویس ابری، OpenStack است. این OpenStack کانفیگی دارد که تحت این کانفیگ اگر سرویس ابری پایین بیاید (Down شود)، همهی سرورها از دسترس خارج میشود و به اصطلاح، Cloud داون میشود. بعد از داون شدن، وارد مود ریکاوری میشود. برای بالا آمدن دوبارهی همهی سیستمها، لازم است Cloud ریکاوری شود.
- در این یک و نیم روز اخیر نیز، همین اتفاق برای سرویسهای یکتانت پیش آمد و cloudیی که یکتانت از آن استفاده میکرد، داون شد. سرویس ارائهدهندهی دیتاسنتر گزارشی جهت توضیح دلیل این اختلال مطرح نکرد ولی یکتانت گمان میکند که این اختلال، یا به دلیل به وجود آمدن مشکل در شبکهی آنها و یا به دلیل به وجود آمدن قطعی در پاور سیستمهای Cloud بوده است. در هر صورت، کانفیگی که سرویس ارائهدهندهی دیتاسنتر برای سیستم OpenStack یکتانت به وجود آورده بود، دارای اختلالی بود که سبب میشد سیستمها نتوانند دوباره ریکاوری شوند و به درستی بالا بیایند.
- متاسفانه با وجود پیگیری لحظه به لحظهی تیم فنی در شب اولِ این اختلال، دیتاسنتر مربوطه اعلام کرد فضای ابری یکتانت (cloud) که شامل تمامی سرورهای اصلی یکتانت هست، از دسترس خارج شده است و بالا آمدن دوبارهی آن مدت زمان زیادی طول میکشد. وظیفهی مدیریت و تنظیم کانفیگ و به طور کلی بالا آوردن OpenStack از محدودهی دسترسی تیم فنی یکتانت خارج است و به سرویس ارائهدهندهی دیتاسنتر بازمیگردد. متاسفانه سرویس ارائهدهندهی دیتاسنتر نتوانست cloud یکتانت را به درستی کانفیگ کند و ریکاوری را به درستی انجام دهند و بالا آمدن cloud یکتانت چندین بار با مشکل مواجه شد.
- از همان دقایق ابتدایی، تیم فنی جهت برطرف کردن هر چه سریعتر اختلال به وجود آمده، به شرکت بازگشتند. بلافاصله با دیتاسنتر مربوطه به صورت تیکت و تماس تلفنی ارتباط برقرار کردند و دلیل مشکل رو جویا شدند.
- این مکالمات تا فردای آن روز، یعنی سهشنبه ۱ مرداد ۱۳۹۸ همچنان ادامه داشت؛ ساعت ۹ صبح سهشنبه پیامی از سرویس ارائهدهندهی دیتاسنتر به دست تیم فنی یکتانت رسید و حاکی از این بود که ظرف ۲ ساعت آتی یعنی تا ساعت ۱۱ صبح سه شنبه cloud به حالت عادی خود بازمیگردد. متاسفانه بر خلاف این پیام، Cloud موردنظر همچنان تا ساعت ۳ عصر در دسترس نبود.
- شرکت ارائهدهندهی دیتاسنتر نتوانست ریکاوری را به صورت خودکار انجام دهد و در نتیجه ناچار شد به صورت دستی و مرحله به مرحله سرورهایی که داخل Cloud بودند، یکی یکی بالا آمدند. در هر مرحله تیم فنی یکتانت تلاش میکرد تا به محض بالا آمدن هر یک از سرورها، آنها را به کانفیگ درست خود متصل کند و به حالت سابقی که به خوبی کار میکرد، بازگردد.
- ساعت ۳ عصر اولین سرور (سرویس پروداکت) در cloud در دسترس قرار گرفت. پس از آن سرورهای مربوط به تبلیغات پوش، بنر و سپس سیستمهای همسان و سیستم گزارشگیری تا ساعت ۶ عصر یکی پس از دیگری در دسترس قرار گرفتند. در طول این مدت، تیم فنی یکتانت تلاش میکرد تا پس از وصل شدن cloudها، سیستمهای موجود در یکتانت را در کمترین زمان ممکن، به وضعیت نرمال بازگرداند و خوشبختانه به خوبی از عهدهی این کار برآمدند.
- با این وجود مهمترین سیستم یکتانت (سرویس مرکزی) همچنان خارج از دسترس بودند. با توجه به معماری میکروسرویسی یکتانت تمامی سیستمهای دیگر به این سرویس برای عملکرد درست خود نیاز داشتند و در نتیجه همچنان وضعیت، بهبود چشمگیری پیدا نکرده بود. تیم فنی همچنان جهت برقراری این سرویس مهم پیگیری میکرد. سرور موردنظر ساعت ۴۰ دقیقه بامداد روز چهارشنبه ۲ مرداد ۱۳۹۸ در دسترس قرار گرفت و در کمتر از ۱۰ دقیقه به وضعیت سابق خود بازگشت.
- سرور مربوط به سیستم مرکزی یکتانت بالاخره ساعت ۹ صبح روز چهارشنبه در دسترس قرار گرفت و با تلاش تیم فنی سرویس مرکزی تا ساعت ۹:۳۰ صبح به وضعیت نرمال خود بازگشت.
- وضعیت سیستم ها تا ساعت ۱ ظهر روز چهارشنبه به روال عادی خود برگشت، اما ساعت ۱ ظهر سرویس گزارشگیری یکتانت که وظیفه ساخت گزارشهای ساعتی و روزانه مربوط به آمار تبلیغات را به عهده دارد، از دسترس خارج و به حالت rescue mode وارد شد. این اتفاق سبب شد بار دیگر اختلالاتی به سیستم وارد شود و بخشهایی از جمله پنلهای کاربری به درستی کار نکند. از این رو اعضای تیم فنی تمام تلاش خود را کردند تا سرور را به حالت عادی برگردانند ولی متاسفانه دیسک سرور به طور کلی از دسترس خارج شده بود. برای رفع این اختلال به صورت کامل، تیم فنی در کمتر از دو ساعت نسخهی جدیدی از سیستم گزارشگیری را در سروری جدید راهاندازی کرد و دادههای قبلی این سیستم به سرور جدید منتقل شد، این انتقال سریع و موفقیتآمیز نمونهای افتخارآفرین از توانایی بالای فنی و انعطافپذیری زیاد تیم یکتانت است.
- پس از بازگشت سیستم گزارشگیری به وضعیت نرمال، تیم فنی ظرف کمتر از ۱ ساعت تمامی سرویسهای یکتانت را به وضعیت نرمال خود بازگرداندند.
- روز شنبه ۵ مرداد ۱۳۹۸ بعد از پشت سر گذاشتن این اتفاق تیم فنی یکتانت، جلسه فوری ترتیب دادند و تصمیماتی مبنی بر جلوگیری از وقوع چنین اتفاقی و داشتن آمادگی بیشتر در مواجهه با آن گرفتند.
در پی این جلسه، اعضای تیم فنی برای یافتن راهحلهای مختلف جهت جلوگیری از چنین اتفاقات ناخواسته و خارج کنترلِ درون سازمانی، دور هم جمع شدند. قرار بر این شد که تعداد دیتاسنترها و سرویسهای ابری که یکتانت از آن استفاده میکند، در نقاط مختلف دنیا (اروپا، آمریکا و ایران) بیش از پیش افزایش یابد تا در صورت اختلال غیرمترقبه و بدون هرگونه اطلاعرسانی از جانب این سرویسها، یکتانت بتواند از خدمات سایر آنها استفاده کند. همچنین قرار بر این شد که یکتانت از سیستم مرکزی failoverhandling برای کارکرد هرچه بهتر استفاده کند.
تیم یکتانت از اتفاق غیرمترقبهی اخیری که پیشآمده بسیار متاسف است. تیم فنی یکتانت در این یک و نیم روز اختلال، تمام تلاش خود را کرد تا به محض اتصال دوبارهی دیتاسنتر به سرور یکتانت، سیستم یکتانت را به درستی به وضعیت سابق خود بازگردند و جایگاههای تبلیغات همانند روزهای پیشین بالا باشد. وظیفهی یکتانت به عنوان پلتفرم تبلیغات آنلاین این است که همواره جایگاههای تبلیغاتی را بالا نگه دارد و تاکنون در محدودهی اختیاراتش به خوبی از عهدهی این کار برآمده است. همانطور که شرح داده شد، دلیل هر سه پیشامد ناگهانی که برای یکتانت رخ داد، به وجود آمدن اختلال خارج از محدودهی یکتانت بود و تیم فنی در هر سه حالت همواره تلاش کرد تا به محض برطرف شدن این اختلال بیرونی، وضعیت را به حالت پایدار قبلی برگرداند.
رخداد اخیر پیشآمده خارج از انتظار یکتانت و نمایشدهندگان بود. متاسفانه هم یکتانت و هم نمایشدهندگان متحمل ضرر و زیان شدند. یکتانت پیوسته در تلاش است تا اطمینان و آرامش از انجام تبلیغات در فضای وب را به تبلیغکنندگان و نمایشدهندگان هدیه دهد. از این رو از پیش آمدن این اتفاق بسیار متاسف است.
از آنجایی که اعتماد هر یک از تبلیغکنندگان و نمایشدهندگان ارزشمندترین دارایی یکتانت است، تیم یکتانت خود را در مقابل این اتفاق کاملا مسئول دانسته و درآمد از دست رفتهی نمایشدهندگان به دلیل اختلال در نمایش را به آنها پرداخت کرده است. با بررسی درآمد ساعتی هر یک از نمایشدهندگان در سه روز قبل و سه روز بعد از اختلال پیش آمده، میزان درآمدی که هر نمایشدهنده به دلیل عدم نمایش تبلیغات در این ۳۵ ساعت از دست داده، به صورت تخمینی محاسبه و در روز ۲۸ مردادماه به موجودی پنل نمایشدهندگان یکتانت اضافه شده است. امیدواریم با تلاش و تدابیر اندیشیده شده توسط تیم یکتانت، دیگر شاهد این گونه اختلالات نباشیم.