آویاتو: از یک شوخی در سیلیکون ولی تا یک کسب‌وکار واقعی

Written by

in

اولین باری که اسم آویاتو را شنیدم، آویاتو هنوز هیچ چیز خاصی نبود. نه سروری داشت، نه پنلی، نه مشتری‌ای، حتی یک ایده‌ی مشخص هم نبود. فقط یک اسم بود در سریال سیلیکون ولی. همان روزهای اولی که سریال منتشر شده بود، قسمت اول را دیدم. جایی در سریال اسم Aviato آمد. همان لحظه برایم جذاب شد. شاید چون هم جدی بود، هم کمی شوخی داشت. شاید هم چون شبیه اسم چیزهایی بود که آدم هنوز دقیق نمی‌داند قرار است چه بشوند، ولی حس می‌کند یک روز ممکن است به درد بخورند.

همان روز aviato.ir را خریدم.

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

چند سال دامنه همین‌طور ماند. هر بار که زمان تمدیدش می‌رسید، دوباره به خودم می‌گفتم نگهش می‌دارم. بعضی دامنه‌ها را آدم فقط از روی عادت نگه می‌دارد، ولی بعضی‌هایشان انگار به یک ایده‌ی ناتمام وصل‌اند. برای من aviato.ir از همان نوع دوم بود.

بعد از گذشت سال‌ها، ایده‌ی ساختن یک سرویس برای فروش و مدیریت سرور مجازی به ذهنم رسید و کم‌کم جدی شد.

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

ایده‌ی اولیه‌ی آویاتو خیلی پیچیده نبود: کاربر وارد پنل شود، پلن را انتخاب کند، پرداخت کند، و سرورش را تحویل بگیرد. بعد هم بتواند کارهای پایه‌ای مثل روشن و خاموش کردن، دیدن وضعیت، دسترسی به اطلاعات سرور و مدیریت سرویسش را خودش انجام دهد. روی کاغذ، این یک ایده‌ی ساده است. در عمل، پشت همین ایده جزئیات زیادی وجود دارد.

برای شروع به یک سرور واقعی نیاز داشتیم. محمدامین ادهمی، بنیان‌گذار آواپرداز، یک HP DL360 G9 دست‌دوم در اختیارمان گذاشت تا بتوانیم پنل را بسازیم و تست کنیم. این برای شروع آویاتو خیلی مهم بود، چون تا وقتی فقط روی سیستم خودت کد می‌نویسی، همه چیز شبیه یک پروژه‌ی نرم‌افزاری است. اما وقتی قرار است روی یک سرور واقعی VM بسازی، IP بدهی، شبکه را تنظیم کنی و خطاهای واقعی را ببینی، موضوع فرق می‌کند.

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

در واقع آویاتو از ترکیب همین دو بخش ساخته شد: نرم‌افزار و شبکه.

من بیشتر درگیر این بودم که پنل چطور کار کند، وقتی کاربر پرداخت می‌کند چه اتفاقی بیفتد، VM چطور ساخته شود، وضعیت‌ها چطور در دیتابیس ثبت شوند، اگر یک عملیات شکست خورد سیستم چه واکنشی نشان دهد، و کاربر در پنل چه چیزی ببیند.

علی بیشتر درگیر این بود که این VMها واقعاً در شبکه درست کار کنند. IPها درست باشند، دسترسی‌ها قابل کنترل باشند، مشتری نتواند با تغییر تنظیمات داخل سرور به IPهای دیگر دسترسی غیرمجاز بگیرد، و ساختار شبکه طوری باشد که بعداً بتوانیم آن را توسعه بدهیم.

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

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

این اتفاق از بیرون خیلی معمولی به نظر می‌رسد. یک نفر وارد سایت شده، ثبت‌نام کرده، پلنی را انتخاب کرده، پرداخت کرده، و سیستم برایش یک VM ساخته. اما برای ما همان لحظه مهم بود، چون برای اولین بار کل مسیری که ساخته بودیم توسط یک آدم واقعی طی شد. دیگر فقط ما نبودیم که سیستم را تست می‌کردیم. یک نفر بیرون از تیم به آن اعتماد کرده بود.

از همان لحظه، آویاتو برای من از یک پروژه‌ی شخصی تبدیل شد به یک مسئولیت واقعی. اگر سرور ساخته نمی‌شد، مشکل فقط یک باگ نبود. اگر پرداخت ثبت می‌شد ولی VM آماده نمی‌شد، مشکل فقط یک رکورد اشتباه در دیتابیس نبود. اگر شبکه درست کار نمی‌کرد، فقط یک تنظیم فنی نبود. پشت هر کدام از این‌ها یک مشتری بود که انتظار داشت چیزی که خریده کار کند. این تفاوت مهمی است.

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

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

این نگاه احتمالاً از تجربه‌های خودم هم آمده. من همیشه با ابزارهایی راحت‌تر بوده‌ام که مستقیم و قابل فهم‌اند. ابزارهایی که سعی نمی‌کنند بیش از حد رسمی یا پیچیده به نظر برسند. در آویاتو هم دوست داشتم همین حس وجود داشته باشد: یک سرویس فنی، ولی قابل فهم؛ جدی، ولی نه دور از دسترس.

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

اما چیزی که برای من مهم است این است که آویاتو دیگر فقط یک دامنه‌ی قدیمی نیست.

آویاتو از یک اسم در یک سریال شروع شد. چند سال فقط یک ایده‌ی انجام نشده بود. بعد با یک HP DL360 G9 دست‌دوم امکان تست پیدا کرد. بعد تبدیل شد به یک پنل. بعد شبکه‌اش شکل گرفت. بعد اولین مشتری از داخل همان پنل اولین VM را خرید. از آن روز به بعد، دیگر نمی‌شد به آن فقط مثل یک پروژه نگاه کرد.

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

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *