Рубрики
Uncategorized

Мы загрузили стартап SaaS, без компромисса и потратили всего 912 долларов на AWS

Снижение облачных затрат на AWS для стартапов. Tagged с AWS, DevOps, Cloud, Terraform.

Первоначально опубликовано по адресу: https://www.sensedeep.com/blog/posts/stories/bootstrap-for-under-1000.html

Мы создали настоящий продукт, а не просто прототип MVP. Он был надежным, обеспеченным и масштабируемым, и мы потратили менее 1000 долларов на AWS.

Мы хотели быстро попасть на рынок, но мы также хотели быть в безопасности и готовы к масштабу. Мы не хотели создавать MVP, который был просто прототипом, и при этом мы не хотели идти на компромисс по тестированию и безопасности.

Усугубляя проблему, мы были в строгом бюджете и хотели потратить как можно меньше на AWS, чтобы добраться туда.

Облачная магия

Магия облака заключается в том, что вы можете создавать и уничтожать инфраструктуру практически без усилий. Это замечательно для стартапов, так как запуск экспериментов практически ничего не стоит. Проблема заключается в том, что облачные ресурсы обычно выставлены вторым, а затраты могут быстро соблюдать, когда вы тестируете и растут. Поэтому важно, чтобы вы запустили только то, что вам нужно, и не более.

Наша цель состояла в том, чтобы минимизировать затраты AWS, но в то же время создать готовую к производству инфраструктуру.

Эта проблема усугублялась необходимостью воспроизведения всей нашей производственной среды для тестирования, постановки и потребностей разработчиков. Это означало, что в любой рабочий день мы могли бы иметь до 4+ копий нашей инфраструктуры. Эти дополнительные среды были полной реализацией нашего приложения с базами данных, серверами, контейнерами, лямбдами, балансировщиками нагрузки, кэшированием, сети и инфраструктуры безопасности. Создать и запустить их все 24×7 было для нас ограничивающим.

Автоматизация и воспроизведение инфраструктуры

Мы использовали Terraform Чтобы позволить нам создавать, уничтожить или изменить облачную инфраструктуру. Этот инструмент позволяет разработчикам создавать свои Инфраструктура как код Анкет

После того, как производственная среда была создана, ее можно трививиально воспроизвести для «постановки» или «теста», запустив Terraform с несколькими параметрами, настроенными.

Terraform обеспечивает возможность:

  • надежно инфраструктура автоматизирована.
  • Масштабная инфраструктура через параметры Terraform.
  • Конфигурации аудита для определения уязвимостей безопасности.
  • Включите и выключите полную среду.

Этот последний пункт был ключом к тому, чтобы оставаться в рамках бюджета. Мы могли бы отключить все ресурсы, которые нам не нужны в любой момент времени.

Повседневные дела

Каждый день мы запускаем необходимые среды, поскольку они были необходимы, и немедленно останавливаем их, когда это не требуется. Независимо от того, что в конце дня мы прекратили все. В первые дни это означало завершение всего (включая производство) в конце дня и заново заново каждое утро. Это было реализовано с помощью простого сценария, чтобы вызвать Terraform с правильным определением среды.

В то время как Terraform идеально подходит для автоматизации создания и репликации инфраструктуры, требуется значительное время, чтобы создать целую среду. Создание нашей производственной или тестовой среды с нуля занимает около 20 минут, в основном из -за накладных расходов на создание базы данных.

Эта задержка была разочарована нетерпеливыми разработчиками, которым пришлось ждать облачных ресурсов, прежде чем приступить к работе.

Быстрая питание вниз

Чтобы поддерживать низкие расходы, нам нужно было быстро запустить и остановить всю среду. Мы хотели сократить время, чтобы питание вверх и вниз до минуты для всей среды. Тем не менее, вы не можете быстро создавать и прекратить ресурсы. К счастью, ресурсы AWS, как правило, можно остановить, вместо того, чтобы быть прекращенными. После этого их можно быстро перезапустить. И, конечно же, когда остановлены, ресурсы не несут никакой платы.

Сценарий

Первоначально мы написали простой сценарий Bash, который призвал AWS CLI для включения каждого облачного ресурса в последовательности для всей среды. Это уменьшит автомасшестоящие группы и остановит экземпляры сервера. Этот сценарий сразу же сократил наш счет AWS на 70% и позволил нашим кредитам бесплатных уровней AWS длиться намного дольше. В совокупности это сохранило наши общие счета AWS ниже 1000 долларов до запуска.

Хотя эта стратегия сработала, она была несколько хрупкой, и это требовало ручного вызова. Он должен был быть явно запускаться, и разработчики иногда забывали прекратить окружающую среду в спешке, чтобы идти домой ночью или на выходные, что сократило бы сбережения.

Знание того, когда призывать сценарий было также проблематичным для отдаленных разработчиков, которые работали по другому графику, часто поздно ночью. Эти разработчики иногда были грубо удивлены, когда в конце дня были оснащены среды тестирования и разработки!

Чтобы надежно планировать питание вверх и вниз по необходимым средам для всех разработчиков, нам нужен лучший инструмент.

Выключить

Чтобы сделать следующий шаг и запланировать наши среды, мы использовали внутренний инструмент расписания облака, который с тех пор был выпущен как Powerdown Анкет

После определения нашей среды как Powerdown Resource Groups Мы могли бы запланировать их, чтобы они были нагреты как раз перед началом работы и остановились в конце дня.

Эта стратегия была установлена и забыла. Powerdown автоматически запускает и останавливает такие среды, как Clockwork.

Каждый разработчик определил свой личный график для облачных ресурсов и сред. Powerdown смешал личные графики в одно главное расписание. Если у разработчика была неожиданная работа, он мог бы временно переопределить график, используя CLI PowerDown или веб -интерфейс. После этого график возобновился.

Благодаря этой технике мы смогли надежно снизить наши облачные затраты AWS более чем на 70%.

Другие советы по экономии средств

Было несколько других предметов, которые помогли нам остаться в рамках бюджета.

Регионы AWS могут варьироваться по стоимости ресурсов более чем на 35%. Мы выбрали регион США-восток-1 в Вирджинии, США, так как это самый дешевый регион и обезвреживает рынки США и ЕС.

Экземпляры AWS также сильно различаются по цене. В начале мы широко использовали экземпляры T2 в качестве суррогатов для наших основных типов экземпляров. Terraform делает типы экземпляров переключения для тестирования довольно простым. Мы проверили более масштабированные экземпляры, а затем вернулись к T2 для экономии средств. Будьте осторожны при выборе типа экземпляра. AWS часто делает более новые типы экземпляров дешевле на процессоре за доллар.

Мы широко использовали экземпляры AWS, которые на 90% дешевле, чем их коллеги по требованию. (ПРИМЕЧАНИЕ: SPOT экземпляры T2 теперь доступны в большинстве регионов).

Времена меняются

В прошлом компании -разработчики программного обеспечения часто вынуждены собрать большие объемы венчурного капитала, чтобы финансировать свое развитие до выпуска продукта. По -настоящему удивительно, что сейчас мы можем создать продукт менее чем за 1000 долларов облачных расходов и быть полностью готовыми к производству и масштабе без компромисса тестирования или безопасности.

Узнайте больше о том, как снизить ваши затраты на облачные данные с помощью Powerdown по адресу: https://www.sensedeep.com/powerdown Анкет

Оригинал: «https://dev.to/sensedeep/we-bootstrapped-a-saas-startup-without-compromise-and-spent-only-912-on-aws-39if»