Рубрики
Uncategorized

Что такое неизменная инфраструктура?

Когда-либо приходилось SSH на производственный сервер, чтобы вручную копировать файлы или запустить команду? Ладони… Теги с DevOps, облако.

Когда-либо приходилось SSH на производственный сервер, чтобы вручную копировать файлы или запустить команду? Пальмы потные и встряхивают. Вы не знаете, что будет результатом обновления, и если что-то пойдет не так, система может снизиться? Если у вас нет, ты один из счастливчиков!

Выполнение ручных изменений на существующий сервер означает, что вы, вероятно, работаете с «Мулюдной инфраструктурой» — знаете ли вы это или нет. Но есть другой путь. И это неизменная инфраструктура. И сегодня мы обсуждаем именно то, что представляет собой неизменную инфраструктуру, преимущества и инструменты, которые вы можете использовать для его реализации.

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

Что такое неизменная инфраструктура?

Давайте начнем с определения …

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

Я знаю, что определения могут быть сухими — поэтому давайте сломаем концепцию неизменной инфраструктуры вниз. Давайте начнем с взгляда на антитезисную, сочетую инфраструктуру.

Что такое смежная инфраструктура?

Мультиватная инфраструктура происходит из эпохи до облачных.

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

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

Но тогда облачное программное обеспечение изменило все …

Неизменная инфраструктура Родился

Помните проблему о необходимости нескольких битов оборудования? Для тех компаний, которые начали работать в облаке, эта проблема ушла.

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

Может ли сочетная инфраструктура звучала похоже на вас? Если это давайте посмотрим на преимущества неизменной инфраструктуры, так как это может быть шаблон, который вы хотите принять.

Преимущества неизменной инфраструктуры

Выгода 1 — прослеживаемость

Изменяемое программное обеспечение борьба для поддержания бумажной тропы того, как она добралась до текущего состояния. Единственный, который знает, является системным администратором, и, скорее всего, они даже не могут вспомнить, что они сделали.

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

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

Если вы новичок в инфраструктуре в качестве кода, ознакомьтесь с этой статьей: Инфраструктура как код: быстрое и простое объяснение.

Преимущество 2 — предсказуемость

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

С неизменной инфраструктурой легче создавать среды реплики для тестирования изменений до выпуска. Тестовые среды, скорее всего, будут представлять рабочие серверы производства и, следовательно, создаст более высокую уверенность в успехе выпуска.

Выгода 3 — масштабируемость

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

И из-за того, что сосредоточен на невосприимчивой инфраструктуре, как правило, легче масштабироваться в реализации горизонтального масштабирования. Горизонтальное масштабирование — это практика добавления большего количества серверов, чтобы справиться с увеличением нагрузки. Горизонтальное масштабирование часто предпочтительнее вертикали, поскольку это означает, что вы можете масштабировать только части вашей системы, а не все.

Инструменты неизменной инфраструктуры

Хорошо, до сих пор статья была довольно абстрактной. Мы много говорили о результатах неизменной инфраструктуры, но не как его реализовать.

Итак, давайте сделаем это сейчас и исследуйте некоторые из различных инструментов, которые мы можем использовать, чтобы помочь реализовать неизменную инфраструктуру.

Докер

Docker logo.

docker.com

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

Пакет

Логотип Packer

packer.io

Подобно Docker, Packer — это инструмент, который позволяет легко создавать изображения машин из шаблона. В то время как Docker позволяет вам упаковать контейнер, Packer позволяет создавать изображения для машин, которые запускают ваши приложения (которые могут включать в себя Docker).

Террафор

Логотип террафора

terraform.io

Террафор — это инфраструктура в качестве кода. В то время как инструмент агностик, если вы делаете или не выполняете обновления на подготовленных серверах через неизменяемую парадигму инфраструктуры, декларативный характер террафора поддается неизменной инфраструктуре Paradigm.

Если вы еще не Terraform Fanatic, проверьте эту статью, чтобы узнать, почему вы отсутствуете: 5 важных причин для изучения террафора до

Или если вы уже заинтересованы на идее террафора, обязательно проверьте статью: Узнайте 6 фундаменталов террафора — Менее чем за 20 минут

Заворачивать

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

С неизменной инфраструктурой мы уменьшаем вероятность того, что серверы становятся недокументированными и неизвестными, мы сокращаем риск в развертывании и увеличьте скорость нашего насаждения.

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

Говорите в ближайшее время облако коренного друга!

Пост Что такое неизменная инфраструктура? появился первым на DEV тренер Отказ

Лу — редактор Облако нативное программное обеспечение Инженерное рассылка Информационный бюллетень, посвященный упрощению программного обеспечения Cloud Software, каждые 2 недели вы получаете новости и статьи, которые охватывают фундаментальные темы облачного входящего в вашем почтовом ящике.

Оригинал: «https://dev.to/loujaybee/what-is-immutable-infrastructure-22d7»