Облака: различия между версиями

Материал из Artem Aleksashkin's Wiki
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 47: Строка 47:
|-
|-
| MySQL ||
| MySQL ||
Ясно, что есть и другие базы данных, здесь MySQL как пример классической SQL базы.
В общем смысле нужно сделать репликацию Master(1)-Slave(>=0), чтобы улучшить доступность приложения. Кроме того нужно увеличить объемы кэшей для оптимального использования ресурсов БД. (См [https://dev.mysql.com/doc/refman/8.0/en/replication.html], [https://dev.mysql.com/doc/refman/8.0/en/memory-use.html]). Лучше, конечно, оптимально продумывать приложение на стадии проектирования.


Кластер БД серверов - это серьезная нагрузка на Ops команду, т.к. требует серьезного мониторинга и в случае краха системы быстрого восстановления.
||
||
* https://cloud.google.com/sql/docs/mysql
* https://aws.amazon.com/ru/rds/mysql/
* https://azure.microsoft.com/ru-ru/products/mysql/
* https://www.alibabacloud.com/ru/product/apsaradb-for-rds-mysql
* https://cloud.yandex.ru/services/managed-mysql
|-
|-
| MongoDB ||
| MongoDB ||
Строка 94: Строка 102:
* https://cloud.yandex.ru/
* https://cloud.yandex.ru/
* https://mcs.mail.ru/
* https://mcs.mail.ru/
* https://mcs.mail.ru/databases/mysql/

Версия от 20:38, 23 декабря 2022

Имея опыт в классическом Operations - ос, бд, веб-серверы и пр здесь я хочу сравнить решения облака с классическим решением

Задача Классическое решение Облачное решение
DNS

Необходимо минимум 2 сервера в независимых сетях с независимым электроснабжением (см пример).

  • Primary BIND (1)
  • Secondary BIND (>= 1)

Естественно облачный провайдер легко может решить задачу DNS, т.к. имеет несколько датацентров с независимым энергоснабжением.

SSL

Классическое решение - на Load Balancer Proxy Web сервер ставится сертификат, а все что за ним не шифруется, т.к. происходит внутри локальной сети провайдера. Здесь необходим алертинг истечения срока действия сертификата и система раскатки сертификатов по веб серверам (если их несколько). Сертификат можно купить, а можно поставить Let's Encrypt (https://letsencrypt.org/ru/)

CDN

Современные веб приложения - это набор статических JS, CSS, Image, Fonts файлов, которые публикуются в момент релиза приложения. Также CDN хорош при раздаче ассетов загружаемых пользователями.

Здесь решение может быть построено как несколько Nginx серверов в независимых датацентрах на Dedicated/VPS серверах кэширующих контент с мастер сервера или принудительно обновляемых контент с мастер сервера.

  • Master Web Server (1)
  • Secondary [Proxy] Web Server (>= 0)
MySQL

Ясно, что есть и другие базы данных, здесь MySQL как пример классической SQL базы. В общем смысле нужно сделать репликацию Master(1)-Slave(>=0), чтобы улучшить доступность приложения. Кроме того нужно увеличить объемы кэшей для оптимального использования ресурсов БД. (См [1], [2]). Лучше, конечно, оптимально продумывать приложение на стадии проектирования.

Кластер БД серверов - это серьезная нагрузка на Ops команду, т.к. требует серьезного мониторинга и в случае краха системы быстрого восстановления.

MongoDB
ElasticSearch
Memcache
SSO
Online Apps
Background Apps
Big Statistics Database
AI servers
Monitoring & Alerting

Список облачных провайдеров