یکی از مهمترین نگرانیهای سازمانها در هنگام استفاده از سامانههای حیاتی، همیشه در دسترس بودن این سامانههاست. عدم دسترسی به خدمات در زمان نیاز، میتواند اثرات جبرانناپذیری بر فعالیتهای سازمانی داشته باشد. نرمافزار ما با افتخار در بسیاری از سازمانها به گونهای مورد استفاده قرار گرفته است که کاربران امکان دسترسی ۲۴/۷ به آن را دارند.
راهکار ما: معماری مبتنی بر High Availability
برای تضمین پایداری سامانهها، ضروری است که معماری نرمافزار به شکلی طراحی شود که امکان Cluster کردن یا توزیعپذیری داشته باشد. همچنین، تمامی نقاط سامانه باید از نظر پایداری به گونهای طراحی شوند که در صورت بروز خرابی (Failure)، بدون از دست دادن داده یا فرآیندهای کاری، به نقطه دیگری منتقل شوند. این امر با حذف نقاط ضعف (SPOF: Single Point of Failure) ممکن میشود.
سطوح مختلف High Availability در دیدگاه
۱. سطح اپلیکیشن
در این سطح، از Load Balancer برای توزیع بار میان سرورهای مختلف استفاده میکنیم.
ابزار مورداستفاده: هر چند چارگون از ARR به عنوان Load Balancer استفاده میکند اما طراحی دیدگاه به شما اجازه میدهد از load balancerهای دیگری نیز برای این منظور استفاده کنید.
مزایا:
- اگر یکی از سرورها از دسترس خارج شود (برای تعمیرات، بهروزرسانی یا خرابی سختافزاری)، سایر سرورها به فعالیت خود ادامه میدهند.
- در زمان افزایش بار، بار کاری به صورت یکنواخت میان سرورها توزیع میشود و کاربران تجربه روانتری از عملکرد سامانه خواهند داشت.
۲. سطح Cache
برای مدیریت Cache از Redis Cluster استفاده میکنیم. این معماری اطمینان میدهد که سرویس Cache سامانه نیز از Single Point of Failure فارغ باشد.
۳. سطح پایگاه داده (Database)
در این سطح، از Microsoft Always On Availability Groups استفاده میشود:
حالت همزمان (Synchronized):
- مناسب برای ارتباط پایدار و با کیفیت بین سرورها.
- Failover به صورت خودکار انجام میشود.
حالت غیرهمزمان (Asynchronous):
- برای سازمانهایی که فاصله جغرافیایی بین سرورها دارند.
- Failover به صورت دستی انجام میشود اما بسیار سریعتر از بازیابی از Backup است (معمولاً در ۳-۴ دقیقه).
۴. پایداری در برابر حوادث طبیعی
برای حفاظت از دادهها در برابر حوادثی مانند آتشسوزی یا زلزله، سازمانها میتوانند یک Replica در یک نقطه جغرافیایی دیگر (مانند یزد) داشته باشند.
- در این حالت، دادهها با تأخیر زمانی ۲۰ تا ۳۰ دقیقهای بهروزرسانی میشوند.
- حتی در شرایط از دست رفتن کامل سایت اصلی، امکان بازگشت سریع به سرویس وجود خواهد داشت.
مزایای High Availability برای سازمانها
- کاهش ریسک خرابی: تضمین پایداری سامانه حتی در شرایط اضطراری.
- افزایش عملکرد: توزیع بار کاری میان سرورهای متعدد، کاهش کندی سامانه و بهبود تجربه کاربری.
- پشتیبانی از رشد سازمانی: امکان افزودن سرورهای جدید بدون ایجاد اختلال در سرویس.
- حفاظت از دادهها: کاهش احتمال از دست رفتن اطلاعات حیاتی سازمان.
جمعبندی
با بهرهگیری از معماری High Availability در لایههای مختلف اپلیکیشن، Cache و پایگاه داده، ما به سازمانها کمک میکنیم تا دسترسی پایدار و بیوقفهای به سامانههای حیاتی خود داشته باشند و در برابر چالشهای امنیتی و فنی مصون بمانند.