Почему инфраструктура как код?
Ранее в этом году мы запустили Harperdb. Облако , полностью управляемая облачная размещенная версия Harperdb. Мы хотели, чтобы Облако Харпердб быть быстрым и низким образом, чтобы стать Харпердб. Зарегистрироваться , ответьте на пару вопросов, и через несколько минут у вас есть рабочий экземпляр Harperdb. Чтобы это произошло, мы поняли, что все аспекты развертывания инфраструктуры для размещения рабочей нагрузки клиентов должны быть автоматизированы. Другими словами, нам нужно использовать инфраструктуру в качестве кода (IAC)
Что такое инфраструктура как код?
Традиционно развертывание ИТ-инфраструктуры (создание виртуальных машин и установка приложений, обеспечение хранения и сетей и т. Д.) Была в основном ручная работа. Значение, IT-администраторы будут использовать серию инструментов CLI и GUI, может быть, некоторые скрипты, чтобы построить и настроить каждую часть инфраструктуры. Этот способ строительной инфраструктуры очень неэффективно и склонен к ошибке. IAC — это ответ на эти проблемы.
IAC — это способ определения набора компонентов инфраструктуры в одной или нескольких файлах конфигурации (обычно в форме YAML, JSON или аналогичного формата), которые затем передаются в инструмент программного обеспечения IAC (например, Hashicorp Terraporm или AWS Облачная информация ) Это обеспечит эти компоненты на облачной платформе. IAC позволяет строить инфраструктуру быстрой, последовательной и повторяющейся моды!
Как и почему мы используем облачность
Облако Харпердб состоит из:
- Harperdb Studio, наше размещенное приложение для управления вашими экземплярами Harperdb.
- AWS LAMBDA Функции, которые строят ресурсы AWS для запуска рабочих нагрузок клиентов (функции также делают различные другие вещи, такие как обновление наших платформ оплаты и CRM.)
- Ресурсы AWS, которые запускают рабочие нагрузки клиентов, такие как VPCS, EC2 экземпляры, объемы EBS, упругие балансировки нагрузки и т. Д.
Функции лямбда используют облачность для создания ресурсов AWS. Конечно, мы могли бы назвать индивидуальные AWS APIS для VPC, EC2, Route53 и т. Д. Для создания каждой из этих ресурсов, но нам придется создать логику для решения зависимостей ресурсов (ждать, чтобы построить это до тех пор, пока это будет построен) и откат Когда ресурс не может построить (экземпляр EC2 не делает никакого хорошего, если нет связанного правила ELB.) Инструмент IAC, как облака, заботится обо всем этом, и больше, для нас! 😁
Как насчет террафора?
Есть много отличных инструментов IAC, помимо облака. В настоящее время мы размещаем только рабочие нагрузки клиентов Harperdb Cloud на AWS, и мы уже используем Услуги AWS для других бэкэндских частей Harperdb Cloud ( David имеет отличную статью для большего количества об этом), поэтому используя AW Нативный инструмент IAC имел смысл. Не волнуйтесь все, что вы любите любители, мы используем и люблю инструменты Hashicorp (мы используем Упаковщик Чтобы автоматизировать сборку всех наших изображений Amazon Machine), поэтому, конечно, мы рассмотрели с использованием террафора! Облакоформация и террафору у каждого есть разные сильные стороны, но либо работает или IAC-инструмент.
С небольшим количеством помощи от системного менеджера автоматизации
Хотя облачность является потрясающим при обеспечении и прекращении ресурсов AWS, руководство существующей инфраструктуры, в частности, гостевой ОС и приложения экземпляра, часто требует другого инструмента. Нужно исправить Linux, затем обновить Harprdb и сделать изменение конфигурации, чтобы сотни экземпляров EC2 всего за несколько минут? AWS Автоматизация Systems Manager (SSM) может сделать это! Да, есть другие отличные инструменты для выполнения этой работы ( кашель! Аналим. Кашель! ), но автоматизация SSM отлично работает для нас.
Что дальше?
Этот технологический стек отлично работает для нас, но что дальше? Много! Вы, наверное, заметили, что я сказал несколько тиховых слов, таких как «экземпляр EC2» и «патч», но я не упомянул «контейнеры» или «неизменную инфраструктуру». » Ну, не волнуйтесь, мы зарабатываем планы. Кроме того, теперь, кажется, вероятно, у нас будет требование клиентов в размещении Harperdb Облачные рабочие нагрузки на облачных платформах, кроме AWS. Хм, об этом террафоре … 😅
Если вы заинтересованы, Марго имеет Отличная статья о том, что делает Harperdb разным и особенным. Кроме того, вы можете попробуй harprdb , бесплатно!
Оригинал: «https://dev.to/harperdb/how-we-use-infrastructure-as-code-in-harperdb-cloud-41mh»