Conductor، محصول شرکت Netflix به عنوان موتور Orchestration مبتنی بر Cloud برای میکروسرویسها، به ارائهی قابلیت دید نسبت به جریان پردازشها کمک میکند.
شرکت Netflix که پیش از این Conductor را به عنوان یک Orchestrator برای میکروسرویسهای خود ارائه نموده بود، درحالحاضر به دنبال ارائهی آن در قالب Open Source میباشد.
این شرکت به دلیل نیاز به اجرای فرآیندهای تجاری برای مطرح کردن نام خود در سرتاسر دنیای IT، اقدام به ایجاد Conductor در قالب یک موتور Orchestration مبتنی بر Cloud نموده است که میتواند به مدیریت بارهای کاری پرداخته و فرآیندهای مربوطه را در صورت لزوم متوقف و مجددا راهاندازی نماید. این محصول از یک ابزار برنامهریزی عملیاتی (Blueprint) مبتنی بر JSON DSL برای تعریف جریان اجرایی استفاده مینماید و همچنین با ارائهی یک واسط کاربری میتواند امکان تصویرسازی و نمایش جریان میلیونها پردازش به صورت همزمان را فراهم نماید.
Netflix با گذشت حدود یک سال از به کارگیری Conductor اعلام کرده است که این Orchestrator تاکنون به تنظیم بیش از 6/2 میلیون جریان فرآیندی کمک کردهاست که گسترهای از بارهای کاری خطی ساده تا بارهای کاری بسیار پیچیده و Dynamic که طی چندروز اجرا میشوند را شامل میشود. درحالحاضر این شرکت دلیل Open Source شدن Conductor را یادگیری بیشتر از کسبوکارهای مشابه و ارتقای نرمافزاری عنوان کرده است.
به گفتهی Netflix، به کمک میکروسرویسها، خودکارسازیهای مرتبط با فرآیندهای کسبوکار از طریق Orchestration در سرویسها فعال میگردند؛ به همین ترتیب Conductor نیز امکان Orchestration را در سرویسها فعال میسازد و در عین حال کنترل و قابلیت دید نسبت به تراکنشهای این سرویسها را نیز امکانپذیر میسازد. برخورداری از امکان Orchestration در میکروسرویسها به بهرهگیری از سرویسهای فعلی در جهت ایجاد جریانهای جدید یا بهروزرسانی جریانهای فعلی نیز کمک کرده و به این ترتیب این امکان فراهم گردیده تا با به کارگیری سریع Conductor به صورت اثربخش، مسیر سادهتری را برای پذیرش سرویس فراهم آورد.
لازم به ذکر است که Conductor میتواند توسط یک سرویس State Machine به نام Decider بهبود یابد که با لیستی از فعالیتهای توزیعشده برای مدیریت وظایف عمل میکند. وظایف از طریق یک لایهی API ارتباط برقرار میکنند که این امر APIها را در معرض ترافیک HTTP قرار میدهد. Decider هنگام وقوع رویدادهای مرتبط با بارکاری، ابزار برنامهریزی عملیاتی (Blueprint) در بارکاری را با وضعیت فعلی بار کاری ترکیب نموده و وضعیت آتی را شناسایی مینماید. علاوه بر این موارد Decider میتواند به زمانبندی وظایف پرداخته و وضعیت بارکاری را نیز بهروزرسانی نماید.
Netflix چندین امکان دیگر از جمله پشتیبانی از سرویس محاسباتی AWS Lambda یا کارکردهایی مشابه برای وظایف سادهی Serverless، یکپارچگی عمیقتر با چارچوبهای Container Orchestration و Logکردن دادههای اجرایی برای هر Task را در برنامههای آتی خود قرار دادهاست.