Terraform и другие ДевОпс штучки
Terraform и другие ДевОпс штучкиВ некоторых вакансиях я видел это слово, погуглив понимал что-то про девопс, вот за пару дней разобрался и внедрил к себе в проектЭто инструмент IaC (Infrastructure as Code), инфраструктура как код, это когда ты пишешь свою инфру в файлах, и она применяется где то в облаке, например в моем случае это три сервера 2 маленьких и 1 побольше, а есть компании и проекты у которых серверов и разных компонентов систем очень много, и тогда следить за всем через GUI становится очень сложно.А так например используя терраформ, вся инфраструктура расписана в .tf файлах декларативным языком, как например в докерфайлах, там указаны какие сервера нужны, каких размеров и тд, спецификации берут от провайдеров типа AWS (Amazon web services), GCP (Google Cloud Platform), Microsoft Azure и др., вместе с серверами там указывается и провайдер где разворачивать, таким образом можно легко мигрировать из облака в облако или простым копированием создавать новые окружения типа дев, стейдж, прод и тд.В итоге у меня два инстанса на ЕС2, на которых стоит легковесная версия Kubernetes (k3s), они являются нодами, одна мастер, а вторая воркер, на мастере у меня postgresql, а на воркерах поднимаются поды моего приложения (долгие джобы).А третий сервер у меня для vpn туннеля, чтобы эти инстансы и база была закрыта от интернета.Вот все эти настройки, порты, правила тоже хранятся в terraform. Ну и потом поставил еще на мастер prometheus и grafana чтобы все мониторить.Кто-то может подумать зачем мне на проекте такая сложная инфра когда можно было бы все упростить, ведь я один на проекте и еще не так много пользователей, но во первых я теперь точно знаю как быстро масштабировать если что, ну и я в первую очередь еще практикуюсь, чтобы потом на собеседованиях рассказывать. Например у нас на работе тоже впн и много окружений и тд., но как это все работало я понимал только примерно, а теперь точно знаю как чего, конечно без нюансов как настоящие девопсы, но понимания точно стало больше#девопс | @andreyposnov