Инфраструктура кода — это просто процесс написания того, что делает конкретную машину уникальной, так, как компьютеры, так и люди могут понять. (Когда я говорю инфраструктуру здесь, это чаще всего серверы, которые составляют и поддерживают данную заявку или услугу.)
В зависимости от того, какое программное обеспечение для управления конфигурацией вы решите помочь вам с этим, вы можете использовать Ruby, Python или даже Bash.
Запускает ли он HTTP-сервер? Есть ли у него увеличение количества файловых дескрипторов? Какие файлы конфигурации должны быть на месте для его работы?
Этот результирующий код может быть запущен, чтобы воссоздать машину или, если она была изменена неправильно, даже принесет его обратно в соответствии с тем, как это должно быть, если бы изменения были сделаны вручную.
Наличие определения быть кодом позволяет делать некоторые вещи, такие как:
- Версию это. Вы можете знать, когда было сделано изменение, и увидим разницу между версиями.
- Вы можете просмотреть изменения. Поскольку определение является кодом, вы можете начать применять процесс проверки процесса обзора (у вас есть процесс проверки рецензии?).
- Это облегчает делать правильные вещи. Когда-нибудь нахожусь в сервере (возможно, даже prod?!) И внес изменение, все время думая «Я документирую это позже, после того, как я уверен, что это работает. «IAC помогает вам избежать этого. Способ сделать изменение является таким же образом систематизировать его.
Как это отличается от документации? Код является читабельным человеком, но и Machine Runnable, поэтому серверы могут быть воссозданы/обновлены по мере необходимости, как с документами, есть отдельные шаги, обновите машину (вручную?), А затем обновите документы.
С инфраструктурой в качестве кода определяя/обновление состояния, которое вы хотите, — это то же самое, что документирует его.
Инфраструктура как код не такой, как документация. Просто определение кодифицированного и воссоздания сервера не является заменой документации, но позволяет сосредоточиться на ваших документах на разных вещах.
Вместо того, чтобы пройти и писать все снова, о чем на сервере, вы можете написать о том, почему этот сервер делает то, что он делает, и как оно относится к другой инфраструктуре или приложениям.
Например, вместо того, чтобы Say Server X представляет собой CentOS Server, который запускает приложение Y и имеет Ruby версию 2.2.3 и брандмауэрена с такими и такими правилами iPtables. Вместо этого вы можете сосредоточиться на документах, такими как Server X — это сервер для приложения Y и имеет решающее значение для него, чтобы продолжить работу. Если вам нужно знать, что на коробке и его версии, см. Код.
Что вы думаете? Оставить комментарий. Для большего, как это см.: https://thaiwood.io/devto.
Оригинал: «https://dev.to/thaiwood/what-is-infrastructure-as-code-and-why-should-you-use-it-5efd»