صفحه اصلی » پرونده موضوعی » ابعاد پیادهسازی کرلس بنکینگها
حقیقت این است که توسعه راهکارهای جامع بانکی، از لحاظ کسبوکاری و زیرساختی مشکلات و دردسرهایی دارد. از جنبه کسبوکاری باید به سابقه بانکها اشاره کرد و اینکه آنها با استفاده از سیستمهای قدیمی اداره میشوند؛ بنابراین خرید کربنکینگ جدا و بهصورت یکباره برای آنها بهصرفه نیست یا اینکه اصلا مهاجرت به آن کاری سخت، پرهزینه و پردردسر است.
مورد دیگر، از لحاظ بحث زیرساختی است. در این مورد، مساله مقیاسسازی بهصورت افقی و عمودی مطرح است. معمولا در کربنکینگها هرچقدر که پردازنده، سرعت پایینتری پیدا کند، سختافزار را قویتر میکنند. درواقع نرمافزارهای جامع کربنکینگ معمولا قابلیت توزیعشدگی ندارند. این درحالی است که مزیت معماریهای جدید یعنی کرلس بنکینگها، قابلیت توزیعشدگی بسیار بالاست. دیگر نیاز به کامپیوترهای بزرگ mainframe نیست و ما میتوانیم با تعدادی از کامپیوترهای متوسط، کار توزیعشدگی را انجام دهیم.
در بحث کرلس مهمترین بحث، فرهنگ سازمانی است. در قدم نخست، سازمان باید قبول کند که ما میخواهیم یک کرلس داشته باشیم؛ راهکاری که هر تکه از پازل آن به شکل مستقل عمل کند. وقتی میخواهیم سامانهها را بهگونهای طراحی کنیم که قابلیت ارائه وبسرویس و داده را با هم داشته باشند؛ همه این موضوع را قبول کنند که میخواهند بخشی از کار را به عهده بگیرند. همچنین با سیستمهای مقابل یا همکارانشان همکاری کنند تا بتوانند با هم یک خروجی مطلوب داشته باشند. درواقع یک کسبوکار بانکی را با همکاری هم صفر تا صد انجام بدهند.
در موضوع کرلس بنکینگ باید همکاریپذیری سیستمها را لحاظ کنیم. به بیان سادهتر، چقدر سیستمها خدمات خود را در قالب وبسرویس در اختیار سایر سیستمها قرار میدهند و با استفاده از آنها میتوان یک محصول یکپارچه ایجاد کرد.
از سوی دیگر، باید این سوال را بپرسیم که آیا ما میخواهیم بحث کسبوکاری و توسعه آن را بهصورت موازی انجام دهیم یا هر ماژولی بهصورت جداگانه پیش برود؟ همچنین بحثهای کاهش قیمت سختافزار و کمترین میزان استفاده از آنها را انجام بدهیم.
اگر به این توافق در حوزه کسبوکار دست پیدا کنیم که بنا داریم ماژولهای مستقل داشته باشیم و هر یک در اختیار تیم یا شرکتهای مختلف باشند، بخش زیادی از مسئله میتواند حل شود. در این شرایط، ما میتوانیم بهسمت حل مسائل فنی برویم. این کار، در عمل چالشهای مختلفی را میتواند ایجاد کند. از جمله این چالشها استفاده از تکنولوژیهای خاص و بهروز است.
در این موضوع، وقتی میخواهیم از اپلیکیشن یا تکنولوژی استفاده کنیم که جدید است، بهتبع، توسعهدهنده، پیادهساز و طراح آن کم وجود دارد. بنابراین نیاز به آموزش و سرمایهگذاری زیادی روی افراد است. در این حوزه باید فرد متخصص را پیدا کنیم و شرایط ماندگاری آنها در سازمان را افزایش دهیم که این موضوع به بحث سرمایههای انسانی برمیگردد.
بحث سرمایه انسانی و استخدام آنها بیشک حوزه چالشبرانگیز دیگر است. از آنجایی که از تکنولوژیهای جدید استفاده میکنیم ممکن است مجموع هزینه این موضوع، مخارج توسعهاش را نیز بیشتر کند. هرچند این هزینهها بعد از نگهداری کاهش پیدا میکند. حقیقت این است که خرج توسعه مبتنیبر کرلس بیشتر از سیستمهای تک بعدی و مبتنیبر mainframe است.
باید این موضوع را مد نظر قرار دهیم که کرلس بنکینگ یک معماری است که از میکروسرویسها استفاده میکند. تیمی که میخواهد روی این موضوع کار کند حتما باید بکاند قوی داشته باشد، با مفاهیم میکروسرویس، معماری مبتنیبر سرویس، پایگاه دادههای غیرمتمرکز و رایانش ابری نیز آشنا باشد. همچنین تجربه کار با مدیریت آسنکرون و سرویسهای آسنکرون مانند الگوی طراحی SAGA را داشته باشند. برای این موضوع، باید ترکیبی از تیمهای دواپس خیلی قوی داشته باشیم که بتوانیم دسترسی و مقیاس بالا را تامین کنیم.
تیم مدیریتی که این کار را انجام میدهد نیز باید برنامهریزی دقیق براساس استانداردهای PMBOK را داشته و بر حوزه امنیت مسلط باشد. علاوهبر این، از ابتدا تیم امنیت باید همراه پروژه باشد.
معمولا در امنیت اطلاعات، بانکها موانع بسیار زیادی دارند. امنسازی سیستمها چه به لحاظ نرمافزاری و چه سختافزاری چالشهای زیادی دارد. برای مثال وقتی میخواهیم این سیستم را پیادهسازی کنیم بحث جابهجایی داده بین سازمانها مطرح است.
قطعا وقتی ما داریم از پیمانکارهای مختلف بهره میبریم و از هر کدام، ماژولهای مجزا دریافت میکنیم که با دیگران ارتباط برقرار میکنند، بحث امنیت جدی میشود. ارتباطات بین آنها نیز مسئلهساز است و میتواند ما را دچار مشکلاتی کند. همچنین ما باید بتوانیم بحث امنسازی سیستم و استانداردهایی شبیه ISO 27000 یا حملات OWASP Top10 را تامین کنیم. در این موضوع، سامانه باید انعطافپذیری لازم را داشته باشد.
اگر کربنک جدیدی بخواهد روی بانکهای بزرگمقیاس ایجاد شود، حداقل تراکنش بر ثانیه آن باید عدد هفت هزار باشد که برای مثال بتواند در ایران، بانک ملی و صادرات را پشتیبانی کند. درواقع نیاز به تراکنش بر ثانیه هر روز درحال افزایش است و ما باید سامانههایی تولید کنیم که بتوانیم کارایی بالایی ارائه دهیم.
علاوهبر این ویژگیها که مختص تیم فنی، برنامهریزها و معمارهاست، از یک جای دیگر این تیم پیادهسازی و توسعه است که روی بحث طراحان و تحلیلگران تاثیر میگذارد. شاید قبلا طراحان و تحلیلگران همه سیستم را بهصورت تک بعدی میدیدند، درواقع در هر جایی، هر سیستمی قابل مشاهده و استفاده بود اما با پیادهسازی کرلس، دیگر این طراحی امکانپذیر نیست. درواقع باید هر ماژولی بهصورت سرویس، از ماژول دیگر استفاده کند. آنها دیگر نمیتوانند بهصورت مستقیم به پایگاه داده سایر ماژولها دسترسی داشته باشند. دانستن استانداردهایی مانند بایان نیز میتواند به تحلیلگرها و طراحها کمک کند.
درواقع در بحث کرلس بنکینگ ما اسکیماهای پایگاه داده مختلفی را طراحی میکنیم. اسکیمای سپرده، مشتریان، تسهیلات و چک همه با هم متفاوت هستند. هر اسکیما سرویسهای مرتبط با آن حوزه کسبوکار را ارائه میدهد. اگر بخواهیم این موارد را میکروسرویس کنیم، مسائل چالشی میشود و طراحان را هم درگیر میکند. بهعنوان نمونه، دیگر بهراحتی نمیتوان یک تراکنش را در سطح سه ماژول تسهیلات، سپرده و کارمزد روی پایگاه داده انجام داد و حتما باید با فراخوانی سرویسهای مختلف، این مهم صورت پذیرد.
یکی از چالشهایی که در فناوری اطلاعات بانکها وجود دارد، بحث برونسپاری یک پروژه است. بحث کرلس بنکینگ، ما را به پیمانکارهای مختلفی متصل میکند. مثلا در بخشهای تسهیلات، سپرده، ارزی و سرمایه انسانی پیمانکارهای مختلفی با ما در ارتباط خواهند بود. برونسپاری آنها هم از یک جای متمرکز نیست بلکه از شرکتهای مختلف است؛ بنابراین برونسپاری در چنین پروژهای پیچیده است و کار بانک را بهخصوص در بخش فناوری اطلاعات بسیار سخت میکند.
این موضوع، جدا از چالش برونسپاری به یک اقدام مهم از سوی بانک نیز نیاز دارد، اینکه بانک بین پیمانکاران مختلف، یکپارچهسازی انجام دهد تا سرویس نهایی در اختیار مشتری قرار بگیرد.
این چالشی است که برای واحد فناوری اطلاعات بانک ایجاد میشود. خود این واحد، میتواند این کارها را انجام دهد؛ یعنی شرکتها را با هم یکپارچه کند یا خود شرکتهایی که زیرمجموعه بانکها هستند و بانک سهامدار آنهاست، این مهم را عهدهدار شوند.
راهکار کرلس بنکینگ یک راهکار زیرساختی و نگرش سیستمی است. هیچ بخشی از سیستم یا کاربران آن نباید متوجه شوند که از فرهنگ، پلتفرم یا چارچوبهای کرلس بنکینگ استفاده میکنیم. به اعتقاد من کرلس بنکینگی موفقیتآمیز است که کاربران نهایی حس نکنند تغییر یافته و آنچنان کاربرپسند باشد که آنها متوجه نشوند چه اتفاقی افتاده است.
بحث مثلث موفقیت در این بخش، مطرح است. مثلث موفقیت میگوید که یک پروژه باید با شرح وظایف و کیفیت لازم، در زمان و هزینه تخمینزدهشده انجام بشود. در اجرای موفق این پروژه، تمام این موارد باید با جزئیات بررسی شود. بسته به توانمندی تیم فنی و تجربه آن تیم، در مقایسه با موارد مشابه، کربنکی که در بانک وجود دارد و خیلی از موارد دیگر، زمان و هزینه تعیین میشود. همچنین اینکه شرکت قبلا تجربهای درزمینه کربنکینگ دارد یا نه از جمله عوامل تاثیرگذار دیگر است.
شاخص دیگری که در موضوع کیفیت مطرح میشود زمان رسیدن به بازار یا Time To Market است. زمان رسیدن به بازار یعنی سرویسها و سامانهها باید در زمان کوتاهی ارائه شوند و دسترسپذیری سامانه باید بالای 99 درصد باشد.
قابلیت اعتماد دیگر موضوع مهم در شاخصه موفقیت است؛ به این صورت که اگر خرابی در سامانه ایجاد شد باید بتوانیم سریع آن را تعمیر کنیم و مسئلهای برای پشتیبانی و ترمیم وجود نداشته نباشد.
بحثهای بهبود و اصلاح را هم باید لحاظ کنیم. ما باید سامانهای طراحی کنیم که بعدا پشتیبانی آن راحت باشد. از سوی دیگر باید به موضوع جایگزینی هم فکر کنیم. اینکه بتوانیم سامانه را آنقدر مبتنیبر پارامتر طراحی کنیم تا بهراحتی بتوان محصولی جدید را در آن تعریف کرد و در اختیار کسبوکار بانکها قرار داد.
جنبه دیگر قضیه، قابلیت ساخت و آزمون است. این دو موضوع، در حوزه پیادهسازی، چالشبرانگیز است. درواقع چرخه CICD (یکپارچهسازی و تحویل مستمر کد برنامه) را پیادهسازی کرده باشیم. دلیل این اقدام این است که بتوانیم شبها کد را بسازیم. در آزمون سامانه هم از روشهایی استفاده کنیم که سخت نباشد و بتوانیم راحت آن را انجام دهیم. این موارد جزو شاخصهای مهم ارزیابی کیفیت سامانه کرلس بنکینگ است.
قطعا استفاده از تکنولوژیهای جدید مثل کرلس بنکینگ و معماری میکروسرویس، تیم توسعه و بانک را دچار چالشهایی خواهد کرد. با توجه به شناخت کم و کمتر مطرحشدن این موضوع، پیادهسازی آن هزینههای فراوان هم برای بانک و هم مجموعه شرکت ارائهدهنده محصول دارد.
در این مسیر، باید آیندهبینی کنیم. سوالاتی از این دست را نیز مطرح کنیم. اینکه تا چه زمانی میتوانیم به سختافزارهای گرانقیمت اضافه کنیم؟ تا چه زمانی میتوانیم قدرت پردازندهها را بالا ببریم؟ حافظههای مختلف را بیشتر کنیم؟
درنهایت باید قبول کنیم یکسری محدویت وجود دارد. از سوی دیگر، با توجه به بحث تحریمها نمیتوانیم سختافزارهای فوقالعاده قوی هم تامین کنیم، چراکه آنجا هم مسائل خودش را برای ما ایجاد میکند.
بنابراین بهتر است مسیر رشد را در سامانههایی با معماریهای جدید، با قابلیت توسعه یا رشد بیشتر پیگیری کنیم. البته باید این موضوع را هم مد نظر قرار دهیم که لزوما استفاده از تکنولوژیهای جدید، بهترین جواب و بهترین گزینه برای ما نیست اما باید به کرلس بنکینگ به دید توسعه نگاه کنیم. بهخصوص شرکتهای تامینکننده کربنکینگ باید این موضوع را مد نظرشان قرار بدهند که بتوانند در آینده رقابتی دوام بیاورند و با شرکتهای نوپا که یک یا بخشی از یک ماژول را ارائه میدهند، رقابت کنند.