برنامه نویسی

انعطاف پذیری در ابر – مرزهای جداسازی گسل

Summarize this content to 400 words in Persian Lang

برخلاف پست قبلی در این مجموعه، این پست عمیق‌تر به ظرافت‌های خاص AWS می‌رود و تمام نکات اینجا مستقیماً برای سایر ارائه‌دهندگان زیرساخت قابل ترجمه نیستند. با این حال، مفهوم مرزهای جداسازی خطا به طور گسترده در بسیاری از انواع نرم افزارها و طراحی های زیرساخت قابل استفاده است.

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

برای بسیاری از افراد احتمالاً این فکر وجود دارد که در دسترس بودن بالا = اجرای بیش از یک نمونه از برنامه من. در ظاهر، این درست است! موارد بیشتری که برای رسیدگی به حجم کاری شما در دسترس باشد به معنای موارد بیشتری است که قبل از اینکه حجم کاری شما قابل رسیدگی نباشد، باید شکست بخورند. عالی است، بنابراین این بدان معنی است که بهینه سازی در دسترس بودن تمرینی برای اضافه کردن هرچه بیشتر نمونه ها بدون ورشکستگی است، درست است؟

خب، ارائه‌دهنده زیرساخت شما مطمئناً از این رویکرد هیجان زده می‌شود…

(من حدس می‌زنم زمانی که تعداد زیادی نمونه اضافی برای انعطاف‌پذیری بدون ترافیک مربوطه اجرا می‌کنید، ارائه‌دهندگان ابری شبیه این هستند)

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

اما ابتدا، مرزهای جداسازی خطا چیست؟

در یک نام چیست؟

در سطح بالا، مرزهای جداسازی خطا، تقسیم‌بندی‌های منطقی در زیرساخت شما هستند که در نظر گرفته شده‌اند تا تأثیر خرابی قطعه را مهار کنند. اگر تا به حال در مورد “محدود کردن شعاع انفجار” یک شکست بالقوه در برنامه خود صحبتی داشته اید، احتمالاً یک مرز جداسازی خطا را برای انجام آن پیاده سازی کرده اید. AWS تعدادی از مرزهای جداسازی خطا در سطح زیرساخت را در اختیار ما قرار می دهد:

مناطق در دسترس بودن
مناطق
حساب ها
پارتیشن ها
مناطق محلی
صفحه کنترل در مقابل جداسازی صفحه داده

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

از منظر انعطاف‌پذیری، AWS از آن‌ها به صورت داخلی استفاده می‌کند تا قابلیت‌های جدید را به شیوه‌ای ایمن عرضه کند، به طوری که هر گونه تغییر ناموفق نه تنها می‌تواند به سرعت بازگردد، بلکه تنها بر تعداد کمی از کاربران تأثیر می‌گذارد. وقتی یک ویژگی جدید در حال ارائه است، مناطق در دسترس بودن به‌روزرسانی را یکی یکی دریافت می‌کنند (با معیارهای موفقیت خاصی در هر مرحله) تا زمانی که در کل منطقه ارائه شود. با این حال، بیشتر از انتشار ویژگی‌ها، مناطق و مناطق در دسترس به طور خاص با محدودیت‌های خاصی طراحی شده‌اند تا اطمینان حاصل شود که ارزش انعطاف‌پذیری را برای ما به عنوان مشتری فراهم می‌کنند.

زیرساخت طراحی شده برای قابلیت اطمینان

AWS مناطقی در سرتاسر جهان دارد و آنها دائماً در حال کار برای اضافه کردن مناطق جدید هستند. اگر با AWS تازه کار هستید، مشاهده مناطق به عنوان راهی ساده برای انتخاب محل اجرای بارهای کاری شما آسان است. خواه با نزدیک‌تر کردن حجم کاری خود به کاربرانتان یا اطمینان از اینکه داده‌ها در جایی که قانوناً لازم است باقی می‌مانند، تأخیر کمتری ایجاد کنید، مناطق مکان فیزیکی زیرساخت شما را دیکته می‌کنند. هر چند مناطق بیش از این هستند. آنها یک ویژگی کلیدی انعطاف پذیری برای AWS هستند. آنها عمداً طوری طراحی شده اند که صدها مایل از هم فاصله داشته باشند (در یک پارتیشن) به طوری که یک بلای طبیعی که یک منطقه را تحت تأثیر قرار می دهد نباید بر همسایگان آن تأثیر بگذارد. اگر کسی با شکست مواجه شود، هر منطقه با هواپیماهای کنترل مستقل طراحی شده است به طوری که هرگونه قطعی باید ایزوله باقی بماند (به استثنای برخی از موارد قابل توجه برای خدمات جهانی).

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

جداسازی مسطح و پایداری استاتیکی

اکنون که زیرساخت های فیزیکی را پوشش داده ایم، بیایید در مورد معنای واقعی آن صحبت کنیم اجرا کنید چیزی در مورد آن سرویس‌های AWS با تقسیم‌بندی بین صفحات کنترل و داده پیاده‌سازی می‌شوند. اولی چیزی است که به ما امکان می‌دهد منبعی را در حساب‌های AWS خود ایجاد، به‌روزرسانی یا حذف کنیم. سطوح کنترل APIهایی را ارائه می کنند که کنسول، CLI، SDK و زیرساخت به عنوان کد با آنها تعامل دارند. برعکس، صفحات داده همان چیزی هستند که خدمات مداوم را توسط یک منبع مشخص ارائه می کنند. صفحه کنترل را به عنوان مؤلفه‌ای در نظر بگیرید که ایجاد یک نمونه EC2 را تسهیل می‌کند و صفحه داده همان چیزی است که نمونه را ادامه می‌دهد و قادر به ارائه ترافیک است.

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

همه اینها به چه معناست؟

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

از نظر آماری، احتمال خرابی (یا درون) مناطق در دسترس فردی بیشتر از کل مناطق است. به طور مناسب، بسیاری از خدمات در AWS کار کردن در چندین منطقه در دسترس را به طور همزمان آسان می کند. به همین دلیل، اجرای بارهای کاری پایدار استاتیک در چندین AZ در یک منطقه واحد، اولین قدم خوب است. البته زیرساخت اضافی رایگان نیست، اما سربار عملیاتی اضافه شده حداقل است. برای بسیاری از برنامه ها این ممکن است کافی باشد، اما بحرانی ترین بارهای کاری ممکن است نیاز به عملیات چند منطقه ای داشته باشند. آنچه در اینجا مهم است این است که شما با عمد هستید کجا شما در حال اجرای حجم کاری خود هستید اجرای 3 نمونه اضافی که در 3 AZ تقسیم می شوند بسیار قابل اعتمادتر از اجرای هر 3 در یک AZ است.

اگر استفاده از AZ های بیشتر خوب است، پس مطمئناً مناطق بیشتر بهتر است، درست است؟ خرابی‌های سرویس منطقه‌ای نسبت به قطعی‌های سطح AZ نادرتر هستند، اگرچه تأثیر بیشتری دارند. برخلاف خرابی‌های AZ، اکثر سرویس‌ها راه آسانی را برای عملکرد همزمان از چندین منطقه ارائه نمی‌کنند، بنابراین معمولاً قطعات متحرک بیشتری در یک خطای منطقه‌ای وجود دارد. به همین دلیل، بهتر است در مراحل اولیه طراحی، عملیات چند منطقه را در نظر بگیرید تا بتوانید خدمات و الگوهایی را انتخاب کنید که برای این سطح از انعطاف پذیری مناسب هستند. به‌روزرسانی بعداً غیرممکن نیست، اما می‌تواند به بازسازی بسیار بیشتری نسبت به افزودن انعطاف‌پذیری چند AZ نیاز داشته باشد. پیچیدگی عملیاتی همراه با زیرساخت های اضافی مورد نیاز، انعطاف پذیری چند منطقه را به طور قابل توجهی گران تر از multi-AZ می کند.

در مورد AZ مانند داشتن درب ضد حریق در ساختمان فکر کنید. در صورت بروز آتش سوزی، این درب ها به جلوگیری از سرایت آتش به سایر قسمت های ساختمان کمک می کنند. نسبت به هزینه کل ساختمان، درب های ضد حریق راهی ارزان برای کمک به جداسازی آسیب احتمالی ناشی از آتش سوزی (و کمک به ایمن نگه داشتن ساکنان) هستند. دویدن در چندین منطقه مانند ساختن یک ساختمان کاملاً مجزا برای محافظت در برابر آتش سوزی در اولین است. اگر یکی از ساختمان ها سوخت، شما هنوز یک ساختمان قابل استفاده دوم دارید، اما هزینه انجام این کار بسیار بالاست.

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

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

برخلاف پست قبلی در این مجموعه، این پست عمیق‌تر به ظرافت‌های خاص AWS می‌رود و تمام نکات اینجا مستقیماً برای سایر ارائه‌دهندگان زیرساخت قابل ترجمه نیستند. با این حال، مفهوم مرزهای جداسازی خطا به طور گسترده در بسیاری از انواع نرم افزارها و طراحی های زیرساخت قابل استفاده است.

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

برای بسیاری از افراد احتمالاً این فکر وجود دارد که در دسترس بودن بالا = اجرای بیش از یک نمونه از برنامه من. در ظاهر، این درست است! موارد بیشتری که برای رسیدگی به حجم کاری شما در دسترس باشد به معنای موارد بیشتری است که قبل از اینکه حجم کاری شما قابل رسیدگی نباشد، باید شکست بخورند. عالی است، بنابراین این بدان معنی است که بهینه سازی در دسترس بودن تمرینی برای اضافه کردن هرچه بیشتر نمونه ها بدون ورشکستگی است، درست است؟

خب، ارائه‌دهنده زیرساخت شما مطمئناً از این رویکرد هیجان زده می‌شود…

ارائه دهندگان ابر محبوب در نقش اسکروج مک داک و برادرزاده هایش بازی می کنند(من حدس می‌زنم زمانی که تعداد زیادی نمونه اضافی برای انعطاف‌پذیری بدون ترافیک مربوطه اجرا می‌کنید، ارائه‌دهندگان ابری شبیه این هستند)

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

اما ابتدا، مرزهای جداسازی خطا چیست؟

در یک نام چیست؟

در سطح بالا، مرزهای جداسازی خطا، تقسیم‌بندی‌های منطقی در زیرساخت شما هستند که در نظر گرفته شده‌اند تا تأثیر خرابی قطعه را مهار کنند. اگر تا به حال در مورد “محدود کردن شعاع انفجار” یک شکست بالقوه در برنامه خود صحبتی داشته اید، احتمالاً یک مرز جداسازی خطا را برای انجام آن پیاده سازی کرده اید. AWS تعدادی از مرزهای جداسازی خطا در سطح زیرساخت را در اختیار ما قرار می دهد:

  • مناطق در دسترس بودن
  • مناطق
  • حساب ها
  • پارتیشن ها
  • مناطق محلی
  • صفحه کنترل در مقابل جداسازی صفحه داده

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

از منظر انعطاف‌پذیری، AWS از آن‌ها به صورت داخلی استفاده می‌کند تا قابلیت‌های جدید را به شیوه‌ای ایمن عرضه کند، به طوری که هر گونه تغییر ناموفق نه تنها می‌تواند به سرعت بازگردد، بلکه تنها بر تعداد کمی از کاربران تأثیر می‌گذارد. وقتی یک ویژگی جدید در حال ارائه است، مناطق در دسترس بودن به‌روزرسانی را یکی یکی دریافت می‌کنند (با معیارهای موفقیت خاصی در هر مرحله) تا زمانی که در کل منطقه ارائه شود. با این حال، بیشتر از انتشار ویژگی‌ها، مناطق و مناطق در دسترس به طور خاص با محدودیت‌های خاصی طراحی شده‌اند تا اطمینان حاصل شود که ارزش انعطاف‌پذیری را برای ما به عنوان مشتری فراهم می‌کنند.

زیرساخت طراحی شده برای قابلیت اطمینان

نقشه جهان که مناطق AWS را نشان می دهد

AWS مناطقی در سرتاسر جهان دارد و آنها دائماً در حال کار برای اضافه کردن مناطق جدید هستند. اگر با AWS تازه کار هستید، مشاهده مناطق به عنوان راهی ساده برای انتخاب محل اجرای بارهای کاری شما آسان است. خواه با نزدیک‌تر کردن حجم کاری خود به کاربرانتان یا اطمینان از اینکه داده‌ها در جایی که قانوناً لازم است باقی می‌مانند، تأخیر کمتری ایجاد کنید، مناطق مکان فیزیکی زیرساخت شما را دیکته می‌کنند. هر چند مناطق بیش از این هستند. آنها یک ویژگی کلیدی انعطاف پذیری برای AWS هستند. آنها عمداً طوری طراحی شده اند که صدها مایل از هم فاصله داشته باشند (در یک پارتیشن) به طوری که یک بلای طبیعی که یک منطقه را تحت تأثیر قرار می دهد نباید بر همسایگان آن تأثیر بگذارد. اگر کسی با شکست مواجه شود، هر منطقه با هواپیماهای کنترل مستقل طراحی شده است به طوری که هرگونه قطعی باید ایزوله باقی بماند (به استثنای برخی از موارد قابل توجه برای خدمات جهانی).

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

جداسازی مسطح و پایداری استاتیکی

اکنون که زیرساخت های فیزیکی را پوشش داده ایم، بیایید در مورد معنای واقعی آن صحبت کنیم اجرا کنید چیزی در مورد آن سرویس‌های AWS با تقسیم‌بندی بین صفحات کنترل و داده پیاده‌سازی می‌شوند. اولی چیزی است که به ما امکان می‌دهد منبعی را در حساب‌های AWS خود ایجاد، به‌روزرسانی یا حذف کنیم. سطوح کنترل APIهایی را ارائه می کنند که کنسول، CLI، SDK و زیرساخت به عنوان کد با آنها تعامل دارند. برعکس، صفحات داده همان چیزی هستند که خدمات مداوم را توسط یک منبع مشخص ارائه می کنند. صفحه کنترل را به عنوان مؤلفه‌ای در نظر بگیرید که ایجاد یک نمونه EC2 را تسهیل می‌کند و صفحه داده همان چیزی است که نمونه را ادامه می‌دهد و قادر به ارائه ترافیک است.

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

همه اینها به چه معناست؟

میم دوری و مارلین از جمله Finding Nemo

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

از نظر آماری، احتمال خرابی (یا درون) مناطق در دسترس فردی بیشتر از کل مناطق است. به طور مناسب، بسیاری از خدمات در AWS کار کردن در چندین منطقه در دسترس را به طور همزمان آسان می کند. به همین دلیل، اجرای بارهای کاری پایدار استاتیک در چندین AZ در یک منطقه واحد، اولین قدم خوب است. البته زیرساخت اضافی رایگان نیست، اما سربار عملیاتی اضافه شده حداقل است. برای بسیاری از برنامه ها این ممکن است کافی باشد، اما بحرانی ترین بارهای کاری ممکن است نیاز به عملیات چند منطقه ای داشته باشند. آنچه در اینجا مهم است این است که شما با عمد هستید کجا شما در حال اجرای حجم کاری خود هستید اجرای 3 نمونه اضافی که در 3 AZ تقسیم می شوند بسیار قابل اعتمادتر از اجرای هر 3 در یک AZ است.

اگر استفاده از AZ های بیشتر خوب است، پس مطمئناً مناطق بیشتر بهتر است، درست است؟ خرابی‌های سرویس منطقه‌ای نسبت به قطعی‌های سطح AZ نادرتر هستند، اگرچه تأثیر بیشتری دارند. برخلاف خرابی‌های AZ، اکثر سرویس‌ها راه آسانی را برای عملکرد همزمان از چندین منطقه ارائه نمی‌کنند، بنابراین معمولاً قطعات متحرک بیشتری در یک خطای منطقه‌ای وجود دارد. به همین دلیل، بهتر است در مراحل اولیه طراحی، عملیات چند منطقه را در نظر بگیرید تا بتوانید خدمات و الگوهایی را انتخاب کنید که برای این سطح از انعطاف پذیری مناسب هستند. به‌روزرسانی بعداً غیرممکن نیست، اما می‌تواند به بازسازی بسیار بیشتری نسبت به افزودن انعطاف‌پذیری چند AZ نیاز داشته باشد. پیچیدگی عملیاتی همراه با زیرساخت های اضافی مورد نیاز، انعطاف پذیری چند منطقه را به طور قابل توجهی گران تر از multi-AZ می کند.

در مورد AZ مانند داشتن درب ضد حریق در ساختمان فکر کنید. در صورت بروز آتش سوزی، این درب ها به جلوگیری از سرایت آتش به سایر قسمت های ساختمان کمک می کنند. نسبت به هزینه کل ساختمان، درب های ضد حریق راهی ارزان برای کمک به جداسازی آسیب احتمالی ناشی از آتش سوزی (و کمک به ایمن نگه داشتن ساکنان) هستند. دویدن در چندین منطقه مانند ساختن یک ساختمان کاملاً مجزا برای محافظت در برابر آتش سوزی در اولین است. اگر یکی از ساختمان ها سوخت، شما هنوز یک ساختمان قابل استفاده دوم دارید، اما هزینه انجام این کار بسیار بالاست.

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

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

نوشته های مشابه

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

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

دکمه بازگشت به بالا