مقدمه
بعد از ظهر پنج شنبه 24 آبان 1398 شایعه گرانی بنزین خیلی ها را به پمپ بنزین کشاند. فردای آن روز سایت های خبری گفتند که از ساعت 12 شب گذشته، بنزینی که چند سال گذشته لیتری هزار تومان بود، سهمیه ای و قیمت آن یک و نیم برابر و قیمت بنزین آزاد هم سه برابر شده است. شنبه که به شرکت رفتم فهمیدم که توی سیرجان شلوغ پلوغ شده و یک نفر هم کشته شده. تا اینجا قضیه فکر می کردم که موضوع خیلی جدی نیست و دو سه روز دیگر اوضاع آرام می شود. شنبه تا دیر وقت شرکت بودم و اوضاع اینترنت عادی بود. با وجود قطعی های مکرر اینترنت در مسئله سال 88 و سال های بعد از آن، باز هم اصلاح حدس نمی زدم که ممکن است اینترنت قطع شود. روز یکشنبه 26 آبان 1398 متوجه شدم که واتساپ کار نمی کنم. سایت های دیگر را هم باز کردم دیدم چیزی کار نمی کند. بعضی از سایت ها به طور استثنا کار می کردند. اینجا بود که فهمیدم درگیری های گرانی بنزین جدی است و اینترنت هم قطع شده است. از اینجا به بعد بود که دیگر خیلی خوش بین نبودم و به خودمان قبولاندم که اینترنت به مدت طولانی قطع خواهد بود. جهرمی وزیر ارتباطات و علی ربیعی سخن گوی دولت در مصاحبه های مختلف گفتند که اینترنت به زودی به وضعیت عادی باز خواهد گشت. اما الان که غروب سه شنبه 28 آبان 1398 است و حدوداً 72 ساعت از قطع اینترنت می گذرد، هنوز خبری از اتصال مجدد شبکه اینترنت داخلی به شبکه اینترنت بین الملل نیست. خیلی از سرویس های ایرانی من جمله بانک ها و برخی سایت های خبری مثل همشهری آنلاین که روی دیتا سنتر های داخل ایران هاست شده اند، هنوز کار می کنند. اما هر آنچه که بیرون ایران است از کار افتاده. از جمله وبلاگ خودم به آدرس blog.afsharm.ir.
می گویند وقتی که مرگ به سراغ آدم می آید، یک آن تمام زندگی آدم مثل برق از جلوی چشمانش می گذرد. این خلاصه حالی است که روز اول و دوم قطعی اینترنت به من دست داد. هر چند دقیقه یکی از وب سایت ها یا سرویس هایی که همیشه ازشان استفاده می کردم به خاطرم می آمد. هر چند دقیقه یکی از کارهایی که دیگر نمی توانستم بدون اینترنت انجام دهم به ذهنم خطور می کرد. کم کم خاطرات قدیمی زمان جنگ ایران و عراق برایم زنده شد، خاطرات دهه شصت، همان هایی که این سال ها کلی فیلم ازش ساخته اند. اگر وضعیت ادامه دار باشد ممکن است برگردیم به سال هایی که نرم افزار ها را با فلاپی دیسک و بعدتر ها با CD/DVD های کینگ تهیه می کردیم. ممکن است برگردیم به سال هایی که تنها راه تهیه موسیقی، حتی آنها که تولید داخل بودند هم، کپی های بی کیفیت و بی سر و ته از نوار کاست بود. یادم میاد که زمان جنگ که ماهواره نبود، مردم از رادیوهای موج کوتاه SW برای دریافت اخبار غیر رسمی استفاده می کردند. چون به جز زبان فارسی، زبان دیگر هم بلد نبودند ناچار بودند به شبکه های که برنامه فارسی هم داشتند اعتماد کنند.
شبکه های اجتماعی که به کنار، این سال ها اینقدر عادت کرده بودم به سرچ گوگل که حتی اسپل کلمات انگلیسی را هم با suggestion اون چک می کردم (الان اشک گوشه چشمامه! ممکنه دیگر به این زودی ها اون فونت آبی ایتالیک را که می گفت Did you mean this/that? را نبینم و تبدیل بشه به نوستالوژی هام!) بدتر از آن، حالا بدون Stackoverflow و مایکروسافت و نوگت چطوری کد نویسی کنیم؟ تازه این ها مشکلاتی هستند که توی شرکت بهشان برخورد می کنم. در پروژه ای که بیرون شرکت با یک تیم ریموت دارم که مشکلات خیلی خیلی بیشتر است. سرویس git روی اینترنت خارجی قرار دارد، سرویس issue tracking هم همین طور. خود پروژه در یک بخش حیاتی اش از سرویس های گوگل مپ استفاده می کند. بخش های دیگر هم از جمله push notification با قطع اینترنت بین الملل از کار افتاده اند. ارتباطات تیمی هم که کلا به فنا رفتند. نه واتساپ نداریم و نه ایمیل. تازه بعضی از بچه ها همین اینترنت داخلی را هم به زور دارند.
یک چشمم به این است که فلان مشکل پروژه یا تیم را چطور می شود حل کرد و یک چشمم به این که اوضاع مملکت چطوری پیش می رود. یا سایت همشهری آنلاین باز است یا گوشم به شبکه خبر است. یک ساعت خبر می رسد که چند نفر در فلان جا کشته شده اند، یک ساعت دیگر خبر از آتش گرفتن فلان پمپ بنزین می رسد و ساعت بعد خبر می رسد که کتابخانه فلان شهر، فلان دانشگاه یا بانک های فلان خیابان به آتش کشیده شده است. تعداد افرادی که مدعی هستند با گوش خودشان صدای تیر اندازی شنیده اند هر روز بیشتر می شود. صف های پمپ بنزین کیلومتری شده اند و ناآرامی ها از کرمان و شیراز به کرج و شهرهای غربی استان تهران رسیده است. دلار و طلا هم که منتظر فرصت هستند تا جهش پیدا کنند که می کنند.
وزارت ارتباطات زیر تیغ اتهام اینترنت ملی است. روز اول چیزی به اسم ارتباط با اینترنت بین الملل نداشتیم. اما آهسته آهسته طناب را در بعضی ها شل کردند. وضعیت گیج کننده ای است. آدم نمی داند خوشحال باشد یا ناراحت. وقتی که اینترنت داخلی داریم می توانیم مطمئن باشیم که کسب و کارهای اینترنتی و سرویس های اینترنتی داخلی برای همیشه زنده هستند. حتی اگر جنگ جهانی سوم و چهارم اتفاق بیفتد و ارتباط ما به هر دلیل با دنیای خارج قطع شود. از طرفی، اینترنت داخلی کمک می کند که نقطه ضعفی کمتر زیر دست رقبای خارجی (از دید ملی نه سیاسی) داشته باشیم. وقتی که نقطه ضعف داشته باشیم به راحتی تهدید می شویم: وابستگی در قطعات خودرو، دارو، سرویس های بانکی، ماشین آلات و تجهیزات نظامی از جمله این وابستگی هاست. از طرف دیگر، اینترنت داخلی داشتن، حاکمیت را به این هوس می اندازد که اینترنت خارجی را به طور جدی محدود کند که کمترین ایرادش محدود شدن صنعت IT و نرم افزار در دسترسی به محتوای روز دنیاست.
الان 72 ساعت است که مدام دنبال راه هایی برای جایگزینی تمام سرویس ها و امکانات اینترنتی که استفاده می کردیم، هستیم.
آدرس وب سایت ها
اولین مشکل این بود که آدرس، تلفن یا اسم خیلی از سرویس، سایت ها یا شرکت ها در جایی ثبت نکرده ایم. چون همیشه با یک سرچ ساده در گوگل همه چیز را به دست می آوردیم. الان تنها چیزهایی که داریم استفاده از حافظه شخصی و گروهی و کش براوزر است. و البته شانس در دیدن اتفاقی آدرس یک شرکت در یک متن خبری یا یک داکیومنت قدیمی. چند تا از موارد عبارت هستند از:
- سرویس ابر آروان که گفته می شود با سرویس DNS خاص خود می تواند بعضی سرویس هایی که روی هاستینگ های خارجی هستند را از داخل قابل مشاهده کند. https://www.arvancloud.com/
- موتور جستجوی ایرانی به اسم پارسی جو که شاید بعضی وقت ها به درد بخورد. http://parsijoo.ir/
- هاستینگ مارال هاست که مدعی است که سرویس سرور ابری اش به اینترنت بین الملل دسترسی دارد. https://www.maralhost.com/
- هاستینگ راد کام که سرویس هاست روی سرورهای ایرانی ارائه می دهد. https://www.radcom.co/
- میهن وب هاست که خیلی باهاش کار دارم mihanwebhost.com
- سایت دانلود نرم افزار که مطمئن هستم به زودی خیلی ازش متشکر خواهیم بود https://soft98.ir/
- سایت مجله پیوست که اخبار به روزی در زمینه اینترنت داخلی و بین الملل دارد https://peivast.com/
امروز چند تا SMS از کسب و کارهای مختلف از جمله بانک ها دریافت کردم که هم آدرس وب سایتشان را یادآوری کردند و هم تاکید کردند که زنده هستند و کار می کنند.
شبکه های اجتماعی
من برای کارهای روزمره وابستگی زیادی به شبکه های اجتماعی ندارم. اما در پروژه ای که با یک تیم ریموت دارم، وجود واتساپ حیاتی بود. راه ارتباطی اصلی ما با همین ابزار بود. چند تایی از پیام رسان های پر کاربر را بررسی کردم. بله و ایتا هر کدام یک میلیون کاربر و سروس نیم میلیون کاربر دارند. بله را انتخاب کردیم. نیم بند کار می کند. ولی هنوز از بعضی شهرها از جمله ساری در دسترس نیست. بعضی وقت ها هم SMS تایید شماره موبایل دریافت نمی شود. همه اینها را می توان از طریق کافه بازار نصب کرد. پیام رسان بله مال بانک ملی است و از آدرس http://bmi.ir/ قابل دریافت است.
ایمیل و وبلاگ
جیمیل و یاهو را که خدا بیامرزد. اما می توان از سرویس iran.ir استفاده کرد. گویا سرویس chmail.ir و mihanmail.ir قابل استفاده است. البته سرویس میهن میل به یک دلیل مسخره ای برای من کار نکرد. در حالی که کپچا روی صفحه نبود پیام خطا می داد که کپچا را وارد نکرده اید.
ویرگول دیروز کار می کرد. اما مشکلش این بود که من قبلا از طریق گوگل لاگین می کردم و الان که گوگلی در کار نیست امکان استفاده نداشتم. البته ویرگول امروز به طور کامل از دسترس خارج شد. سرویس blog.ir نیاز به تایید شماره موبایل داشت که امروز اصلا SMS هایش دریافت نمی شد. بلاگفا در دسترس نبود و persianblog.ir را هم تست نکردم.
امکانات تیمی
سرویس گیت که استفاده می کردیم مال parscoders بود که دو روز اول قطع بود ولی امروز کار می کرد. به هر حال میهن وب هاست سرویس gitlab را با ماهی 40 تا 150 هزار تومان ارائه می دهد. تلفن که زدم گفتند که سرور داخل ایران است و با اینترنت داخلی هم کار می کند.
یک web app ایشو ترکینگ استفاده می کردیم که روی یک هاستینگ آلمانی قرار داشت. هاستینگ آن پیشنهاد کرده که ما یک سرویس هاستینگ ایرانی بخریم و خودشان دسترسی دارند که فول بکاپ از سرور آلمانی بگیرند و اینجا ریستور کنند. سرویس را خریده ام و این پروسه در دست انجام است. امیدوارم هر چه زودتر درست شود.
شرایط پروژه
پروژه ای داریم که از هر چیز قطع شده ای استفاده می کند. از OneSignal روی یک سرور آلمانی برای ارسال push notification، از گوگل مپ برای محاسبه فاصله دو نقطه و برای نمایش نقاط مختلف روی نقشه، از خیلی امکانات دیگر گوگل و CDN ها برای چیزهای مختلف از جمله FontAwesome. اول تصمیم گرفتیم به جای گوگل مپ از سرویس ایرانی نما استفاده کنیم. اما دیدم که زمان زیادی از ما خواهد گرفت. در نتیجه تصمیم گرفتیم که ویژگی های وابسته را از پروژه برداریم. شاید با وجود گران قیمت بودن، از SMS به جای OneSignal استفاده کنیم. بقیه خاک بر سری ها هم که هنوز در دست انجام است.
انتقال فایل و Cloud Storage
راه حل این یکی خیلی سر راست بود. هر چیزی که توی ایمیل ها بوده که مدفون شد. از این به بعد هم از Flash Disk استفاده می کنیم. البته سرویس صندوق بیان هم هست. اما امتحان نکردم که ببینم مثل سرویس blog.ir همین شرکت مشکل registration پیدا خواهد کرد یا نه.
بعد از این
مطمئناً بعد از این باید ویژگی های خاصی در نرم افزارها و محصولاتمان در نظر بگیریم. از جمله این وابستگی به اینترنت بین الملل را هم در اجرای نرم افزار و هم در توسعه نرم افزار به شدت کاهش دهیم. هیچ بعید نیست که این قطعی اینترنتی حالا حالا ها ادامه داشته باشد. یا این که در آینده باز هم تکرار نشود. تازه ما از قبل مشکلات متداول تحریم از آن طرف یا فیلتر از این طرف را هم داشته ایم.
باید بتوانیم یک ویژگی شرایط اضطراری در سیستم ها ببینیم به طوری در شرایط خاصی، بعضی از امکانات نرم افزار را غیر فعال کنیم. حالا یا به علت خاصیت بازدارندگی آن یا به علت افزایش سرعت در بخش های دیگر.
سه ویژگی آچار فرانسه بودن، قدرت تصمیم گیری فردی و امکان انجام کارها به صورت مستقل را باید در کل تیم مان افزایش دهیم. وقتی که اوضاع خراب باشد نمی توانیم صبر کنیم تا یک اسپرینت پلنینگ درست و حسابی برگزار کنیم و تسک ها را به طور دقیق تقسیم کنیم. هر کسی باید بتواند بخشی از کارهای بقیه تیم را انجام دهد. چیزی مشابه بحث Full Stack بودن. باید برای بیشتر کارهایمان Plan B داشته باشیم. وقتی چیزی خراب می شود به پلن دوم مراجعه کنیم. اگر ارتباطات قطع شد، باقیمانده تیم بتوانند کار را خودشان تصمیم گیری کنند و خودشان ادامه دهند.
موخره
همه این چیزهایی که گفتم و نوشتم، شما را به یاد چیزی نمی اندازد؟ منظورم پدافند غیر عامل نیست، بلکه آن چیزی است که اصالتا اینترنت برای پایداری در برابر آن ساخته شد و امیدوارم که در هیچ مقیاسی اتفاق نیفتد.
این متن را در حالی نوشتم که منتظر برقراری مجدد سرویس وبلاگم بودم. امیدوارم شرایطی پیش نیاید که اصلا نتوانم منتشرش کنم.
اگر قادر به خواندن این متن و قادر به کامنت گذاشتن بودید، اینجا کامنت بگذارید تا ببینیم کی هست و کی نیست.