Amazon Web Services (AWS) объясняется управлением пивоваренным заводом

1656569900 amazon web services aws obyasnyaetsya upravleniem pivovarennym zavodom

Кевин Кононенко

Если вы понимаете, как работает пивоварня, вы можете понять веб-сервисы Amazon (AWS).

1*QGoJbSOAuIoW-bkOxyY8iQ
Фото Elevate на Unsplash

Когда вы работаете над созданием своего первого веб-приложения, вы ВСЕГДА слышите о легкости запуска нового продукта по сравнению с прошлыми годами.

Люди скажут такие вещи, как «В мое время вам нужно было купить собственный сервер и настроить его самостоятельно!»

или, «Мы не спали всю ночь, налаживая последнюю проблему с нашей серверной инфраструктурой».

К счастью, те времена давно прошли. Вы можете развернуть новую веб-программу за 10 долларов в месяц в течение часа, если вы знаете, что делаете.

Но есть одна маленькая проблема. Стандартные инструменты, такие как Amazon Web Services (AWS), могут быть достаточно сложными, по крайней мере, для новичка. Хотя они предлагают невероятную возможность масштабирования от первых пользователей до сотен миллионов пользователей… они также нуждаются в определенной конфигурации.

Я хотел узнать все основные варианты, которые предлагает AWS. Подумав об этом несколько часов, я понял, что экосистема AWS похожа на все разные части большой пивоварни.

Вот краткий предварительный просмотр:

0*vdBGfOwhkhaQ2lTd

Итак, вот как 5 популярных инструментов AWS работают за кулисами веб-приложения. Я также объясню Heroku, популярный инструмент для развертывания веб-приложений, предлагающий меньшую гибкость, но с ним легче начать.

Официальное видео от AWS дает некоторый контекст об инструментах, которые мы будем обсуждать:

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

Контекст веб-сервисов Amazon

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

0*2zJ-RgXq4mX3eN-t

В вышеприведенном примере порядок поступает от a клиента один из ресторанов или дистрибьюторов. Это называется а запрос. Ваша пивоварня предоставит заказ и получит оплату через счет-фактуру. Это называется ответ.

Аналогично, веб-браузеры посылают запросы на серверы на основе действий пользователей. Сервер возвращает необходимую ответную информацию.

0*MsF4PEVc5qVit5Xc

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

Heroku Explained — гораздо более простая альтернатива AWS

Прежде чем мы перейдем к 5 частям AWS, вам наверняка следует знать о более простой альтернативе. Heroku управляет многими из этих систем за вас. На самом деле, он построен на основе инфраструктуры AWS.

Heroku позволяет вам развертывать новые версии вашей программы прямо из командной строки с помощью git push heroku master. Он также имеет богатую библиотеку дополнений, позволяющих добавлять новые функции. dynosили виртуальные серверы.

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

1*Ho0-aZixv74gV3-v0RbTyA
1*dosvXrcjnrJ9UetnJVZTyw

Это может показаться удивительным. Теперь вы можете пропустить все то болезненное время и энергию, которые вам нужно будет потратить на то, чтобы научиться управлять пивоварней! Но есть две причины быть осторожными.

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

Heroku имеет те же плюсы/минусы. Это немного дороже, но позволяет немедленно начать работу. Если вы увеличите масштаб, вам может понадобиться перенести свои услуги на AWS, что означает, что вам все равно придется изучить систему AWS.

Таким образом, давайте познакомимся с разными инструментами в AWS.

Инструменты хранения данных AWS

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

Это нечто вроде Amazon S3. S3 — это облачный сервис, позволяющий сохранять статические активы, например изображение. Это означает Simple Storage Service.

1*e9abmVhUIIGeLSkYlbHb6Q
1*n053ea_uJrzL4Wb0kBmp8A

Концепция «хранения статических активов» в этом случае несколько отличается от того, что вы можете думать в реальной жизни. В реальной жизни хранение статических предметов может означать поместить что-нибудь на чердак и забыть об этом. Но когда дело доходит до облачных сервисов, это означает подготовку объекта или изображения для использования в миллисекунде.

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

Службы баз данных AWS

Служба реляционной базы данных Amazon (RDS) позволяет настроить и управлять своей реляционной базой данных в AWS. Некоторые распространенные примеры включают в себя MySQL, PostGreSQL и Microsoft SQL Server.

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

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

1*ci_kNJOcrUCpn0mcW6VHqg
1*wWmbObMp__nfxL14zzW3cQ

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

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

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

Вот здесь и вступает в игру хранилище данных.

Инструменты хранилища данных AWS

Давайте проясним одну вещь: «хранилище данных» – ужасное название для облачного сервиса. Ладно, конечно, это может иметь смысл для разработчика с многолетним опытом, но для новичка… сколько вещей в веб-разработке похожих на склад? МНОГО.

Одним из распространенных примеров продукта хранилища данных является Redshift. Эти типы инструментов упрощают разработчикам анализ собственных данных. Они включают данные из реляционных баз данных, а также ERP, CRM и автоматизации маркетинга.

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

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

1*EySamZAufAFciP0g2y3U8g
1*AtoYuA5nKYjrwlOEBNL0gQ

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

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

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

Вычислительные инструменты AWS

Замечали ли вы на всех диаграммах, что «пивоварня» находится посередине, независимо от того, изображена ли на диаграмме фактическая пивоварня или среда облачных вычислений?

Это потому, что мы еще не рассмотрели сервис, связывающий все это вместе: EC2 или Elastic Compute Cloud. EC2 позволяет запускать виртуальные экземпляры, похожие на пивоварню в этой аналогии.

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

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

1*TbPj10B8QH10Dx_tiIC-Iw
1*l0y3g0gR4MUX7O8t5HhVvA

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

Инструменты управления AWS

Последняя категория инструментов – это инструменты управления, например Elastic Beanstalk или CloudWatch. Эти инструменты могут:

  1. Отслеживайте другие инструменты, перечисленные выше
  2. Настройте процессы, чтобы помочь инструментам из нескольких категорий работать вместе
0*V5AvyPtgGhHLXZF2
Кредит изображения: FreeCodeCamp

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

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

1*8hrWAJasTDpQaERaaF-aQ
1*d_Kx52WUCIS0tYPVGHm18Q

Получите новые наглядные пособия

Вам понравился этот урок? Дайте ему «хлоп» или зарегистрируйтесь здесь, чтобы получить мои последние пояснения по поводу веб-разработки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *