Приведена условная оценка расходов на оплату услуг хостинга севера и баз данных. Расходы на персонал, налоги, и т.д. - вне данного обзора.
- Хостинг VPS сервера для работы приложения
- SSL-сертификаты, аренда доменного имени
- Хостинг базы данных. Может выполняться VPS сервером, но отдельный специализированный хостинг может быть более эффективным по причине оптимизации оборудования под задачи баз данных (много ОЗУ, быстрая дисковая подсистема, кэширующие кластеры, и т.д.)
- Использование облачных API для выполнения специализированных задач (например, Google Maps)
- Оплата отправки e-mail и SMS для регистрации пользователя, восстановления пароля
- Лицензия разработчика для мобильных платформ
4 ARMv8, 2 GB за 3 фунта/месяц (UK) https://www.scaleway.com/pricing/#anchor_arm
1 Core, 2GB за 3 евро/месяц (Germany, Finland) https://www.hetzner.com/cloud-ru
Россия: 1 Core 1Gb - 400 руб/месяц https://vscale.io/
Россия: 1 Core 1Gb - 220 руб/месяц https://neoserver.ru/
Heroku: 512 Mb, Never Sleeps - $7/месяц. В общем случае, на Heroku осуществляется публикация приложения - это не полноценный VPS https://www.heroku.com/pricing
AWS: 1 Core 1Gb t2.micro + DynamoDB - оценка в $27/месяц. Ключевое ограничение AWS - оплата постфактум. В случае ошибок конфигурирования сервисов, или ошибок в коде, можно получить "золотой чек" на оплату, который придётся оплатить.
Ключевая особенность VPS состоит в том, что это виртуальная машина (чаще всего на Linux), которую нужно администрировать. Соответственно, дополнительной статьём расхода, в этом случае будет являться администрирование сервера: настройка политики безопасности, обновление компонентов, backup-ирование данных, и т.д.
Чтобы минимизировать затраты можно использовать уже подготовленные VPS Images, например: Parse Server на AWS.
Альтернативным решением является использование облачных платформ, предлагающих сотни различных специализированных сервисов, от баз данных до хранилищ данных (S3). Лидерами на международном рынке являются компании Amazon (AWS), Microsoft (Azure) и Google (Google Cloud Platform). Из "большой тройки" наиболее авторитетным является AWS, который предлагает не только самый большой набор сервисов, но и лучшие временные параметры, в частности - наименьшее время coldstart для Lambda/CloudFunctions.
UPDATE 2020: в 2022 году, после начала СВО, "MongoDB, Inc." прекратило работу с компаниями и разработчиками из Российской Федерации.
База данных на mLab.com (куплен MongoDB): https://mlab.com/plans/pricing/ - SHARED - $15/Gb
База данных на MongoDB Atlas: https://www.mongodb.com/cloud/atlas/pricing - $9/месяц. Есть ограниченный бесплатный тариф.
Firebase. В 2020 году Google Cloud отказался от комфортного Flame Plan ($25/месяц) и запустил альтернативу Blaze plan - Pay as you go. Тарифицируется каждое действие, каждый запрос. Программирование должно быть исключительно аккуратным. Так, например, если на форме есть список товаров, список товаров в корзине, список текущих акций и список наиболее популярных товаров в группе, это может потребовать четырёх запросов и чек может быть кратно выше, чем его первоначальная оценка. Практический опыт использования изложен в статье Mohammad Faisal Costly Mistakes: Why We Had to Abandon Firebase. Следует иметь ввиду, что Firebase содержит две базы данных: первоначальная - Realtime Database (была куплена) и собственная, новая - Firestore. На сайте Firebase есть конфигуратор для выбора того, или иного варианта.
Статья Денис Гордиенко "Firebase — наша история исхода с сервиса" описывает дискреминационные действия в отношения бизнес-пользователей в России.
Feathers.js - нужно исследовать, но вроде бы использует аутентификацию GitHub, что является бесплатным.
Если ваш сервис должен соответствовать требованиям Федерального закона «О персональных данных» (ФЗ-152), то развертывание его в облаке от зарубежного поставщика потребует внедрения дополнительных технических решений, так как первичная обработка персональных данных (ПДн) должна происходить на территории Российской Федерации и в дальнейшем данные должны передаваться по защищенным каналам связи. Невыполнение требований о защите ПДн может привести к блокировке доступа к сервису Роскомнадзором. Т.к. в России нет центров обработки данных от Amazon, Microsoft и Google, следует рассматривать российские облачные сервисы.
Yandex.Cloud. Ориентировочная цена слабого VPS ~300 руб/месяц. Хранилище на 100Gb ~120 руб/месяц. СУБД ~3500 руб/месяц.
@Cloud/VK Cloud. vCPU = 100% за 740 руб/месяц. Облачная база данных ~1500 руб/месяц.
SberCloud - на базе серверных платформ Huawai. С ценами всё не очень понятно.
Стоимость доменного имени для зоны ".com" при покупке на AWS составляет $12, а для ".net" - $11. Дополнительные затраты на хостинг DNS (AWS Route53) составляют $0.50/месяц за одну зону хостинга. Цены Zenon (Россия): 280 руб/год за ".ru" и 882 руб/год за ".com".
Электронная почта используется для регистрации нового пользователя и в случае, если пользователь забыл пароль и хочет его восстановить. Отправкой почты занимаются сервисы, такие как SendGrid. Стоимость отправки 100 тысяч писем в месяц начинается с $15/месяц.
Подобный сервис необходимо использовать и для рассылки SMS с теми же целями.
Google Firebase содержит бесплатный сервис рассылки SMS для регистрации пользователей с ограничением 10000 SMS/месяц.
Можно самостоятельно сделать сервис рассылки писем - это относительно не сложно в создании, но требует постоянного сопровождения. Либо можно арендовать российский сервис с низкими ценами.
Публичный сертификат можно получить у специализированной компании сформировав запрос на выпуск сертификата CSR (Certificate Signing Request). В CSR указывается подробная информация о компании, для которой сгенерирован сертификат. Центр сертификации проводит проверку всех указанных данных (именно это составляет основной вклад в сумму оплаты услуги).
Существуют разные типы сертификатов, которые применяются к разным уровням проверки комапании и применимости к другим доменным именам. Например:
- Обычные SSL-сертификаты только подтверждаю домен. Стоят $18-22/год
- Wildcard-сертификаты требуются если используются суб.домены на сайте, например: zheka.rozhkov.ru. Стоимость от $190/год
- Сертификат для сервера, на котором хостятся сайты для разных доменов – от $400/год
Стоимость SSL-сертификата Thawte SSL WebServer на Zenon составляет 6384 руб/год.
Статья о "бесплатном" получении SSL сертификата на AWS: https://hackernoon.com/getting-a-free-ssl-certificate-on-aws-a-how-to-guide-6ef29e576d22.
Бесплатные сертификаты можно сгенерировать на Let's Encrypt.
UPDATE 2022: на сайте ГосУслуги юридическое лицо может получить бесплатный серверный сертификат, который будет считаться доверенным в браузерах Яндекс.Браузер и VK Atom.
https://developers.google.com/maps/billing/understanding-cost-of-use
Нужно вчитываться - услуг очень много и цена до $0.10/запрос. Из рекламы Google для коммерческих проектов: "For most of our users, the $200 monthly credit is enough to support their needs. You can also set daily quotas to protect against unexpected increases".
Бесплатный лимит вызовов Geocoder - 10.000/месяц.
По Yandex.Maps: https://tech.yandex.com/maps/commercial/
С дневным лимитом в 1000 запросов, стоимость - 120 тысяч рублей/год.
Google Play - $25/единожды
Apple AppStore - $100/год
В случае использования React Native с Expo, установка приложений может осуществляться через клиент Expo. Распространение приложений осуществляется посредством push-сервиса, но в бесплатном тарифе, сборка приложения осуществляется в "порядке общей очереди", т.е. сборка и публикация может занять несколько часов (даже десятки). Для того, чтобы попасть в начало очереди, следует использовать специализированный тарифный план Priority, который стоит $29/месяц.
Для тестирования доступа к приложению из разных географическим мест, можно воспользоваться VPN. Одним из наиболее удобных является HideMyName. Месяц стоит 470 руб, а год - 2280 руб.
Создание публично доступного web-сайта в домашней сети.
Как и утверждали информированные лица в 2010-2020, публичные облака ни до чего хорошего не привели. Ключевых проблем оказалось две:
- Санкционное меры принятые в отношении жителей РФ
- Инфляция, общемировой экономический кризис
Санкционные меры привели к тому, что оплатить услуги провайдеров с использованием банковских карт оказалось невозможно. Некоторые организации приняли решение блокировать оказание услуг пользователям и России (например, Qt Company и MongoDB Company). В подобной ситуации, использование AWS, Google Cloud, Microsoft Azure - это неприемлемый риск.
Инфляционное давление привело к критичному росту стоимости оказания услуг. Так, в статье When Does Inflation Hit Cloud Prices and What Can You Do About It? by CAST AI указывается на рост стоимости услуг использования Google Maps в 1400%. Многие из популярных сервисов закрыли бесплатные тарифные планы. Так, например, Heroku прекратила возможность использования тарифного плана Энтузиаст, который был ранее бесплатным.
К концу 2022 года ожидания роста стоимости облачных услуг, а также их доступности для россиян, самый мрачные за всю историю этого молодого рынка.