Поскольку облако становится все более популярным, так же как и неизменная инфраструктура, и исторически мы использовали изменяемую инфраструктуру.
Но эй, что является изменчивым или неизменным? По словам Кембриджского словаря:
- Изменчиво: способный или может измениться
- Неизменный: не меняется или не может быть изменено
Что такое изменчивая инфраструктура?
Теперь, с точки зрения инфраструктуры, Minable подразумевает, что инфраструктура будет постоянно обновляться, изменена и настроена, чтобы удовлетворить прогрессирующие потребности по причине, по которой она служит. Международная инфраструктура простирается на каждый сервер, а переключатель — экстраординарный. ИТ -персонал знает каждого сервера, его характеристики и часто тратил неисчислимые часы, обнаруживая, откуда возникла проблема, чтобы определить его, поскольку это быстрее и гораздо менее ужасает, чем реконструкция упомянутой структуры. Эта модель — то, на чем была основана индустрия информационных технологий и услуг, и она направила, как она работает.
Пример изменяемого в реальном мире
Чтобы лучше понять идею общей изменчивой инфраструктуры в ИТ-индустрии, это общий вариант использования, который показывает сервер, развивающийся через постоянно обновлять на месте.
Шаг 1 — разверните новый сервер Ubuntu на DigitaloCean или любом VPS
Для цифрового океана:
$ curl -X POST "https://api.digitalocean.com/v2/droplets" \ $ -d'{"name":"My-Droplet","region":"nyc2","size":"512mb","image":"ubuntu-16-04-x64"}' \ $ -H "Authorization: Bearer $TOKEN" \ $ -H "Content-Type: application/json"
Шаг 2 — Подключитесь к серверу
Подключитесь к серверу и примените последние обновления, а также установите и настройте Apache с помощью PHP
$ ssh root@my-ubuntu $ apt-get update $ apt-get upgrade $ apt-get install apache2 $ apt-get install php5 libapache2-mod-php5 php5-mcrypt
Шаг 3 — Рендерная графика
Несколько дней спустя разработчикам требуется новая библиотека PHP для рендеринга графики.
$ ssh root@my-ubuntu $ apt-get update $ apt-get install php5-gd
Шаг 4 — Установите сервер
Платание сервера ежемесячно, по соображениям безопасности и поддержки.
$ ssh root@my-ubuntu $ apt-get update $ apt-get upgrade
Этот вид цикла будет продолжаться до тех пор, пока не появится повод для восстановления сервера.
В настоящее время, неизменная инфраструктура
Поскольку мы думаем о том, что такое изменяемая инфраструктура, и мы знаем значение неизменного, как насчет того, что мы рассмотрим, что приносит идея об неизменной инфраструктуре.
Идея неизменной инфраструктуры: Идея об неизменной инфраструктуре заключается в производстве инфраструктуры для тщательного расположения подробностей. Нет отклонений, нет изменений. Чему быть, того не миновать? В случае, если требуется изменение в деталях, в этот момент совершенно иное расположение инфраструктуры обеспечивается в зависимости от обновленных потребностей, а прошлая инфраструктура удаляется из администрирования, поскольку она устарела. Эта идея похожа на то, что происходит в разных компаниях, таких как аппаратное обеспечение клиентов. В настоящее время для мобильных телефонов чрезвычайно регулярно иметь батареи, которые нельзя вытеснить, или емкость, которую нельзя пересмотреть. Таким образом, в отличие от перепроектирования гаджетов в этой области, эти гаджеты в настоящее время неизменны, и весь гаджет должен быть вытеснен. Это дает степень последовательности, которая упрощает защиту. Несмотря на количество гаджетов в администрировании, вы точно знаете, каковы определения каждого гаджета и могут без особого вытеснения, как это есть в случае проблемы.
Необываемая инфраструктура в нем: Основной технологией, которая делает неизменную инфраструктуру, способной в любом масштабе, является виртуализация (как программирование, так и оборудование) в рамках системного администрирования, серверов и пропускной способности. Виртуализация находится в центре передовой серверной фермы и делает распределенные вычислительные вычисления. Предоставление и уход с физическим оборудованием для каждого изменения является затрат и ограничительным временным. Именно поэтому изменяемая инфраструктура была стандартом во всем, кроме величайших организаций, пока в последнее время, когда виртуализация не стала обычной. Контейнеры (например: Docker) являются наиболее современной схемой в неподвижной инфраструктурной пространстве, и они являются всего лишь еще одним слоем виртуализации.
Инфраструктура как код является идеальным методом для изготовления неизменной инфраструктуры. Запустите его на виртуализированных платформах и поставщиках общественного облака, и у вас есть то, что обычно намекается как DevOps.
Реальный пример им неизвестной инфраструктуры и непрерывной доставки
Теперь, когда мы рассмотрели концепции, давайте пройдемся через простой сценарий, показывающий, насколько простой неизменной инфраструктурой может быть инфраструктура. Это может быть вызвано регистрацией кода, которая является первым шагом к получению непрерывной доставки.
Развертывание простого приложения PHP на Heroku Heroku-это удобная для разработчиков платформа для развертывания приложений. Это простой первый шаг к неизменной инфраструктуре. С каждым приложением, которое вы создаете, вы выбираете версию времени выполнения, и эта версия используется до тех пор, пока система не должна уйти в отставку, обычно по соображениям поддержки или безопасности.
Шаги по созданию и развертыванию приложения под названием еще большее тест-приложение:
Шаг 1 — Создайте приложение
Сначала давайте создадим очень простое приложение, которое печатает информацию о среде:
$ mkdir test-app $ cd test-app $ echo "# test-app" >> README.md $ echo '' > index.php $ composer require "php:^5.6|^7.0"
Шаг 2 — Включите управление версией
$ git init $ git add . $ git commit -m "first commit"
Шаг 3 — Выберите WebServer
Теперь мы установили тип двигателя, который мы запускаем на Heroku:
$ echo "web: vendor/bin/heroku-php-apache2" > Procfile
Шаг 4 — Создайте репозиторий
Теперь пришло время создать хранилище на стороне сервера, к которому можно получить доступ к другим людям (членам команды) и будет доступен для Heroku.
Во -первых, создайте учетную запись на GitHub и создайте публичный репозиторий (так что это бесплатно). Затем подтолкните местный репозиторий GIT к GitHub:
$ git remote add origin https://github.com/rishabkumar7/test-app.git $ git push -u origin master
Шаг 5 — развернуть в Heroku
Создайте учетную запись на Heroku.com и следуйте мастеру, чтобы создать приложение, которое подключено к репозиторию, которое вы создали на GitHub. Не волнуйтесь, вы получаете один Dyno (Web Runtime) бесплатно. Как только вы подключите его к своему репозиторию GitHub, есть два варианта. Первый — включить «автоматические развертывания», которые перераспределяют приложение в любое время, когда есть коммит в главном отделении репозитория GitHub. Это самая основная форма непрерывной доставки, которую вы можете иметь.
Второй вариант-«Ручное развертывание», которое является единовременным развертыванием. Это использует неизменную инфраструктуру Героку.
Примечание. У Heroku есть возможность для простых и простых трубопроводов для непрерывной доставки, который прост в включении, и позволяет дополнительным этапам, таким как обзоры, и для проведенной среды, которую необходимо пройти перед производством. Это руководство предполагает, что вы не позволяете этой функции.
Шаг 6 — Запустите приложение
После развертывания приложение становится доступным в https://test-app.h … Этот шаг завершил, теперь вы воспользовались неизменной инфраструктурой, созданной через инфраструктуру в качестве кода в рамках модели непрерывной доставки.
Оригинал: «https://dev.to/rishabk7/what-is-immutable-infrastructure-44ik»