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