#architecture #cloud #system-design
Вопрос:
Я готовлюсь к собеседованию по проектированию системы и заметил, что в любом учебнике и руководстве рассматриваются эти 3 очень важные концепции: доступность, репликация и согласованность.
Что мне непонятно, так это когда мы должны их использовать. До сих пор я понимал, что команда разработчиков должна обеспечивать их только при использовании IaaS (Инфраструктура как услуга), потому что мы покупаем ресурсы, а не услуги, поэтому нам приходится настраивать нашу базу данных, приложения, очереди и т. Д. Экземпляры. Это правильно?
С другой стороны, мы можем обойти настройку базы данных самостоятельно и хранилище purhcase в качестве службы от поставщика облачных услуг (например, Azure Databse для MySQL). В моей голове я думаю, что в этом случае Microsoft несет ответственность за обеспечение доступности и репликации (например, в любое время работает хотя бы один экземпляр, содержащий все необходимые данные).
Опять же, у меня нет опыта в проектировании и архитектуре систем, поэтому, пожалуйста, поправьте меня, если я сказал только глупую чушь.