SAAS и облака – это по сути дела аренда. Давайте рассмотрим здесь область применимости.
Аренда хороша для временного использования:
- нужно что-то на неделю
- нужно что-то раз в месяц
Если арендовать постоянно, то это экономически не выгодно.
Может быть в облаках по другому? К сожалению, нет. Рассмотрим для начала стоимость вычислительных ресурсов. Соотношение примерно такое:
- 1х для аренды железного сервера в Hetzner
- 2x для VM в DigitalOcean
- 4x для VM в облаке
Соотношение плюс-минус сохраняется уже много лет.
Дает ли дополнительная стоимость в облаке что-то? По-сути, нет:
- динамичность? она уже есть на уровне обычных VM
- надежность? вообще нет: из опыта облачные VM гораздо менее стабильны, чем обычные VM и тем более железо. Так что все ПО должно быть построено так, что конкретная VM может в любой момент сломаться
- какие-то дополнительные услуги? нет, это просто VM. Дополнительные специализированные средства стоят дополнительных денег уже дорогих облачных VM
Если захотите хоть как-то снизить затраты, то нужно заключать долгосрочные договора аренды с облачными провайдерами.
Отдельно можно сказать о том, что в период большого спроса (например, у одного из крупных дата-центров какие-то проблемы и не важно какой он сам) может оказаться, что просто нет свободных ресурсов. Поэтому критические вещи динамически лучше не создавать.
Еще достаточно очевидна проблема Vendor-lock: облака постоянно стараются выпустить какое-то специфичное только для конкретного поставщика решение. На практике переезд с одного облака на другое довольно сильно затруднено. Из-за этого многие компании используют Kubernetes как универсальный механизм развертывания решений (но даже в этом случае будет какой-то объем зависимости, т.к., например, мониторинг часто специфичен для облака).
При этом, если затраты на инфраструктуру небольшие (например, меньше зп одного админа), то использование облаков более чем эффективно, т.к. уровень услуг будет все еще весьма высоким, а затраты ниже, чем на организацию собственных аналогов.