Feature Flags بهترین گزینه برای دنیای به هم متصل خواهند بود

Feature Flags

واژه دنیای به هم متصل انتظارات خاصی را در افراد ایجاد می کند. اگر هرگز قبلا این واژه را نشنیده باشید شنیدن آن برایتان مبهم خواهد بود. اما بعد از اینکه درک خوبی از آن به دست آوردید مفاهیمش را هم به خوبی خواهید فهمید. ما دیگر درباره رایانه های شخصی یا حتی دستگاه های موبایلی که همه جا حضور دارند صحبت نمی کنیم. بحث ما بزرگ تر از این حرف هاست.  ما در حال حاضر درباره شهرهای هوشمند و مفاهیم هوشمند دیگری همچون مزرعه داری هوشمند حرف می زنیم. حالا یادگیری ماشینی و هوش ماشینی را در زندگی هایمان گره زده ایم. برخی از اصلاحات بزرگ در دنیای به هم متصل هست که نمی توان از آن ها گذشت. یکی از این ها Feature Flags است. زمانی که می خواهیم این اصلاحات و اثر آن را درک کنیم همانگونه که ترندها و رویکردها را بررسی می کنیم به این موضوع نگاه می کنیم. به عنوان مثال اگر ترندهایی که دنیای به هم متصل را در سال ۲۰۱۸ شکل داده بودند را بررسی کنند جنبش بزرگی را در آن خواهید دید که از جمله آن ها می توان به موارد زیر اشاره کرد:

به همین خاطر بیشتر جنبش های فناوری بزرگ تاثیر زیادی بر روی یکی از بزرگ ترین جنبش های فناوری موجود خواهد داشت. اگر این موضوع قابل پیش بینی باشد بسیار جذاب است.  اما اینجا چیزی هست که به احتمال زیاد نتوانیم پیش بینی اش کنیم. در حقیقت ممکن است به خاطر گفتنش هم مسخره شویم. اما به نظر من باید Feature Flags را به این فهرست خود اضافه کنیم.

چرا Feature Flags ؟

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

  • ترموستات های نست برای کنترل دمای خانه
  • لامپ های هوشمند
  • هابی که همه این ها را کنترل می کند
  • اکو که از آن برای دادن دستورات صوتی به لامپ ها و دمای خانه استفاده می کنم.

راستش را بخواهید من تجهیزات هوشمند بیشتری در خانه دارم اما ترجیح می دهم به گفتن همین ها بسنده کنم  چون فهرستم پیچیده تر می شود.

Feature Flags

این خانه هوشمند از طریق ۴ محصول و ۴ فروشنده مختلف ارائه شده است و من اپلیکیشن هایی بر روی گوشی ام دارم. حالا نرم افزارهای زیادی برای کنترل این ها هست. هر کدام از این موارد فرم ویری بر روی دستگاه فیزیکی خود دارند، برنامه ای برای تعامل دارند و به احتمال زیاد بک اند و پشتیبانی مبتنی بر ابر هم دارند.

 دنیای فوق متصل نقاط شکست زیادی دارد:

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

 

به عنوان فروشنده می توانید همه تقصیرها را به گردن فرد دیگری بیندازید. با بزرگ تر شدن و رشد دنیای به هم متصل دیگر آن روزها که تظاهر به کنترل کامل بر روی تجربه کاربری تان داشتید تمام شده است. در دنیای به هم متصل شما باید به همکاری با کالاهایی که نمی شناسید اعتماد کنید. فرض کنید هاب اتوماسیون خانه خریداری کرده اید. این هاب معماری شبیه افزونه دارد که به شکل فیزیکی در آمده است و به دنیای کاربران نهایی، رقبا و همکاران ارسال شده است. فرم ویری می نویسید، ان را روی دستگاه می گذارید. سپس سایر دستگاه های الزامی که برای برقراری ارتباط با شما ضروری هستند( برای ارسال و دریافت دستورات) وصل می کنید. این ها از پروتکل خاصی تبعیت می کنند. آیا واقعا با اعتماد می توانید بگویید که این ها لامپ را خاموش و روشن می کنند و مشکلی نخواهند داشت؟ همیشه نه. به همین خاطر برای پیشگیری از رویدادهای دردسرساز به یک محافظ نیاز دارید. در سناریوی فعلی ما، استراتژی اصلی می تواند اشاره با انگشت باشد. البته شما می توانید یک نرم افزار بنویسید، آن را به اپ استورها بسپارید و امید داشته باشید افراد آن را به روز کنند و از طریق آن وسایل را مدیریت نمایند. اما هر چقدر جلوتر می روید متوجه می شوید که چنین استراتژی هایی همانند آب در هاون کوبیدن است. اینجاست که feature flags وارد میدان می شود.

Feature Flags

 نگاهی به feature flags برای حل مشکلات موجود:

اگر در حال حاضر با ایده feature flags آشنا باشید ممکن است آن را بسیار فنی و تاکتیکی بدانید.

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

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

feature flags به عنوان یک گزینه توانمندساز:

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *