Краткое руководство по AWS: сервисы, которые вам обязательно стоит использовать

AWS (Amazon Web Services) — одна из самых популярных платформ облачных вычислений. AWS имеет основные сервисы, такие как вычисления, хранилище и сети, предлагая более 175 сервисов. Компании всех типов и размеров используют AWS, чтобы сократить расходы, ускорить внедрение инноваций и ускорить разработку. Благодаря платформе, которая предлагает так много функций и возможностей, многие команды не знают, с чего начать работу с AWS. Какие инструменты стоит использовать? Что только замедлит вас?

К счастью для вас, я обратился к бывшим инженерам Amazon, которые имеют более чем 15-летний опыт работы с AWS. Сегодня мы познакомим вас только с хорошими сторонами AWS. Давайте прорежем беспорядок!

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

  • Что такое облачные вычисления?
  • Что такое AWS?
  • Как принимать технологические решения.
  • Существенные части AWS
  • Плохие части AWS
  • Создайте свой собственный проект AWS
  • Подведение итогов и ресурсы

Изучите AWS вдвое быстрее

Пропустите обучающие видео, изучите AWS с , практические уроки.

Хорошие стороны AWS

Что такое облачные вычисления?

AWS — одна из самых популярных платформ облачных вычислений на рынке сегодня. Итак, что же такое облачные вычисления?

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

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

Преимущества облачных вычислений

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

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

Легче обновлять программное обеспечение. С облачной системой намного проще управлять и обновлять программное обеспечение быстро и в режиме реального времени..

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

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

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

Что такое AWS?

AWS — это сервис облачных вычислений, предоставляемый Amazon. Он предлагает недорогие, надежные и масштабируемые веб-службы для компаний любого размера. AWS включает четыре основных сервиса, которые представляют собой комбинацию IaaS и PaaS.

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

Хранилище: AWS предлагает несколько видов услуг хранения в зависимости от ваших потребностей. : S3, FSx, Elastic FilesSystem и другие.

База данных: AWS предлагает пять баз данных: RDS, Amazon DynamoDB, Neptune, ElasticCache и Aurora.

Сеть: AWS предоставляет множество сервисов для работы с сетями: CloudFront, VPC, Direct Connect, Load Balancing и Route 53.

AWS также предлагает услуги идентификации, соответствия, мобильной связи, маршрутизации, услуг ИТ-инфраструктуры, услуг Интернета вещей (IoT), машинного обучения и безопасности. AWS предлагает более 175 сервисов и инструментов для разработчиков. Базовое введение в AWS полезно для понимания этих инструментов.

Для чего используется AWS?

AWS можно использовать практически для чего угодно, от предприятия до стартапов и государственного сектора. Некоторые из распространенных применений — хостинг приложений, веб-разработка, резервное копирование и хранение, корпоративные ИТ и доставка контента. Компании и организации, включая Expedia, Shell, FDA, AirB & B, Lyft и другие, используют AWS.

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

AWS против. Конкуренты

AWS — не единственный существующий сервис облачных вычислений. Microsoft Azure и Google Cloud (GCP) — два других ведущих поставщика. У IBM также есть менее популярная служба облачных вычислений. Давайте посмотрим на тройку лучших для сравнения.

Зоны доступности и хостинг. AWS имеет 66 доступных зон, из которых 10+ на подходе . GCP доступен в 20 регионах, а Azure предлагает 54 региона в 140 странах. Победителем здесь является AWS.

Services. AWS предлагает более 170 услуг. Azure предлагает более 100 сервисов, а Google Cloud — около 60 сервисов. В то время как каждый поставщик облачных вычислений предлагает одни и те же базовые услуги с точки зрения услуг (включая файловые хранилища, VMware, DNS и т. Д.), AWS обычно имеет более разнообразный выбор. Победителем здесь является AWS, хотя важно отметить, что Azure лучше интегрируется с инструментами Microsoft Office.

Цены модель. Цены на любую службу облачных вычислений зависят от размера и объема. Для экземпляра с 2 виртуальными процессорами и 8 ГБ ОЗУ AWS взимает 69 долларов в месяц, Azure — 70 долларов в месяц, а GCP — 52 доллара в месяц. Для более крупномасштабного экземпляра AWS взимает 3,97 доллара США в месяц за 3,84 ТБ ОЗУ и 128 виртуальных ЦП. Azure взимает 6,79 долларов в месяц за 3,89 ТБ и 128 виртуальных ЦП. GCP взимает 5,32 доллара в месяц за 3,75 ТБ и 160 ЦП. Победителем здесь является AWS за его низкую стоимость, хотя важно отметить, что Google Cloud предлагает более низкую цену для небольших инстансов и моделей оплаты с оплатой за секунду.

Опыт и инфраструктура. AWS — старейший сервис облачных вычислений на рынке, что означает, что у него большая база пользователей и сообщество. Он лидирует с 30% доли рынка. Google Cloud и Azure несколько новее, поэтому они все еще догоняют. Они показывают большой прогресс и рост. GCP занимает 10% рынка, а Azure — 16%. Здесь AWS — победитель с более чем 15-летним опытом.

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

Минусы. Обратной стороной AWS является его система ценообразования; Несмотря на то, что затраты регулярно снижаются, в системе может быть сложно ориентироваться. Обратной стороной Azure является отсутствие технической поддержки и документации, что затрудняет получение помощи. Самым большим недостатком Google Cloud является его масштаб; у нее не так много глобальных центров обработки данных или услуг, как у других поставщиков. Победитель здесь также во многом зависит от ваших потребностей и предпочтений.

Заключение. AWS отличается глобальным охватом, надежными услугами и гибкостью. Лучше всего подходит для крупных компаний или команд, которые не знакомы с облачными технологиями.. Azure лучше всего подходит для первоначальной миграции в облако, организации на базе Windows и стартапов. Google — это наиболее экологичный и экономичный вариант, лучший для создателей, уже знакомых с облачными технологиями.

В целом, мы видим, что AWS сияет как более надежный вариант для облака вычислительные сервисы, увеличивая при этом зависимость, поддержку и общие сервисы/объем.

Как принимать технологические решения

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

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

  • Во-первых, продукты и инструменты, которые считаются «лучшими», часто бывают самыми дорогими.
  • Во-вторых, поиск «лучшего» решения — бред, либо потому, что его на самом деле не существует. или потому, что у вас недостаточно знаний для проведения надлежащей оценки.

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

  • инструмент, который вы хорошо понимаете;
  • инструмент, который вряд ли подведет вас
  • инструмент, проверенный временем.

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

Давайте применим эту логику к AWS и познакомимся с основными сервисами на основе значений по умолчанию и опыта разработчиков AWS.

Продолжайте обучение.

Изучите лучшие части AWS, не просматривая видео или разрозненные статьи. Текстовые курсы Educative легко просматривать и содержат среду программирования в реальном времени, что делает обучение быстрым и эффективным..

Преимущества AWS: преодоление беспорядка

Основные части AWS

AWS явно есть что предложить. И, как и любой другой инструмент, опытные разработчики AWS знают, какие сервисы хороши, а какие стоит игнорировать. Многие начинающие команды не уверены, куда вкладывать время и деньги. Итак, обратимся к Даниэлю Вассалло, бывшему инженеру Amazon с более чем 15-летним опытом работы с AWS. Он помог прорезать беспорядок. Итак, давайте глубже познакомимся с хорошими сторонами AWS!

База данных: Amazon DynamoDB

AWS предлагает множество вариантов для баз данных, но лучшим вариантом является Amazon DynamoDB. Думайте о DynamoDB как о высоконадежной структуре данных в облаке, которая может заменить реляционную базу данных. Он имеет некоторое сходство с Redis, но DynamoDB гораздо более согласован и сосредоточен вокруг единой структуры данных.

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

Основные характеристики DynamoDB:

  • Хранится на SSD
  • Строго согласованное чтение
  • Распространяется на 3 центра обработки данных
  • Согласованность чтения по умолчанию

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

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

Совет от профессионалов: при использовании DynamoDB включите точку входа -время резервного копирования.

Хранилище: Amazon S3

Использовать S3 для данных место хранения. Думайте об Amazon S3 как о высоконадежной хэш-таблице в облаке. Вы можете ожидать загрузки со скоростью 90 МБ/с на объект и около 50 мс с задержкой первого байта, а это стоит всего 2,3 цента за ГБ/мес. S3 предлагает неограниченную пропускную способность, и вы можете хранить сколько угодно объектов без проблем с производительностью.

Ключевые преимущества S3:

  • Недорого. S3 стоит 25,55 долларов США за ТБ в месяц с очень надежным классом хранения по умолчанию.
  • Простота настройки и использования. Известен тем, что является простой службой хранения.
  • Бесконечная пропускная способность.
  • Бесконечное пространство для хранения.

Самый большой недостаток, который следует учитывать при использовании S3, заключается в том, что буферизация может снизить надежность данных. Однако есть решение этой проблемы с использованием устойчивой очереди, такой как Amazon Kinesis.

Совет от профессионалов: не используйте параметр сокращенной избыточности.

Маршрут 53

Route 53 — это служба DNS, которая позволяет переводить имена доменов в IP-адреса. Route 53 прост и надежен с небольшими неудобствами (такими как отсутствие поддержки DNSSEC). Основные преимущества Route 53:

  • Хорошо интегрируется с балансировщиками нагрузки и ELB: Route 53 связывает запросы пользователей с инфраструктурой, включая балансировку нагрузки. , Сегменты S3 и многое другое.
  • Проверки работоспособности: Route 53 можно настроить для реализации проверок работоспособности для отслеживания работоспособности вашего приложения и конечных точек.
  • Простой визуальный редактор: Traffic Flow имеет простой визуальный редактор, так что любой может управлять маршрутизацией пользователей.
  • Гибкость : Route 53 может быть настроен для использования нескольких политик трафика и маршрутизации трафика на основе нескольких критериев.
  • Высокая доступность: легко получить, использовать, платить для и масштабирование

Медиа-сервис: Kinesis

Думайте о Kinesis как о надежном связном списке в облаке. Kinesis имеет множество преимуществ перед другими медиа-сервисами AWS, в том числе:

  • Несколько потребителей. Kinesis может иметь несколько потребителей, которые не влияют друг на друга.
  • Стабильность. Записи Kinesis добавляются в список в стабильном порядке и не удаляются из очереди. Когда потребители читают данные, они получают записи в том же порядке.
  • Рентабельно. Поток Kinesis может обрабатывать 1 КБ сообщений со скоростью 500 сообщений за вторую всего за 0,96 доллара в день.

Самый большой недостаток Kinesis в том, что его сложно использовать. Поток Kinesis состоит из сегментов (сегментов емкости), и ваша команда должна отслеживать, добавлять и управлять этими сегментами. Это может быть операционным бременем.

Вычисление: Лямбда и EC2

Представьте AWS Lambda как средство выполнения кода в облаке. Это сервис бессерверных вычислений или FaaS (функция как услуга). Он поддерживает широкий спектр потенциальных триггеров: HTTP-запросы, электронные письма клиентов, синхронизацию клиентских устройств и т. Д. . AWS Lambda позволяет сосредоточиться на основном продукте и бизнес-логике.

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

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

AWS также предлагает Amazon EC2 для вычислений и автоматического масштабирования. EC2 позволяет получить полный компьютер в облаке за секунды. преимущества в EC2 по сравнению с Lambda заключается в том, что вам не нужно адаптировать приложение к вашему хосту; вы можете запускать программное обеспечение на EC2 без необходимости вносить изменения.

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

Amazon EC2 предлагает более 250 типов инстансов, оптимизированных для различных нужд. Сетевая безопасность, обеспечиваемая EC2, является самым сложным аспектом этой услуги; есть много вариантов на выбор, но вариант по умолчанию подходит для большинства целей.

«Плохие» части AWS

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

Cloudwatch

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

Kubernetes и Docker

Kubernetes и Docker — мощные инструменты, и они далеки от плохих услуг. Однако они сложны и требуют значительного обучения.. Основная ценность, которую они приносят, — это возможность масштабирования, но процесс обучения и интеграции этих сервисов может привести к разочарованию и отсутствию гибкости/гибкости. Наличие этого дополнительного уровня, вероятно, того не стоит.

Amazon CodeCommit

CodeCommit — это служба управления исходным кодом диспетчера, используемая для масштабирования и размещения на основе Git репозитории. Хотя цены разумные, а хранилище неограниченно, многие разработчики советуют вам не использовать его. CodeCommit добавляет ненужную сложность, такую ​​как сложный процесс аутентификации, рандомизированные учетные данные и процессы длины для решения общих проблем. Вместо этого придерживайтесь того, что вы знаете: надежного, известного и недорогого GitHub. Вам просто не нужен CodeCommit.

Начните свой собственный проект AWS с нуля

Теперь, когда вы знаете, что есть в AWS чтобы предложить, давайте сделаем простое веб-приложение. Обычно вы создаете приложение и его инфраструктуру шаг за шагом и адаптируете один аспект под свои нужды. Сегодня я покажу вам, как запустить простое веб-приложение и написать приложение Hello World .

Примечание. : Код из этого упражнения взят из книги Даниэля Вассалло «Хорошие части AWS».

Чтобы создать наше приложение, нам нужно установить git и npm . Мы создаем простое приложение и git-репозиторий для хранения.

 mkdir aws-bootstrap && cd aws-bootstrapgit initnpm init -y 
terminal

Наше приложение будет ждать HTTP-запросов на порту 8080 и отвечать «Hello World». Приложение находится в одном файле, server.js.

 const {hostname} = require ('os'); const http = require ('http'); const message = 'Hello World  n'  ;  const порт = 8080;  const server = http.createServer ((req, res) => {res.statusCode = 200; res.setHeader ('Content-Type', 'text/plain'); res.end (сообщение);});  server.listen (порт, имя хоста, () => {console.log (`Сервер работает по адресу http://$ {hostname ()}: $ {port}/`);}); 

сервер. js

Мы можем запустить приложение с узлом и протестируйте ее с помощью curl из другого терминала.

 node server.jsServer, работающий на http://localhost: 8080/
terminal

 curl localhost: 8080Hello World 
terminal

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

 {"name": "aws-bootstrap", "version": "1.0.0", "description": "", "main"  : "server.js", "scripts": {"start": "node ./node_modules/pm2/bin/pm2 start ./server.js --name hello_aws --log ../logs/app.log",  "stop": "node ./node_modules/pm2/bin/pm2 stop hello_aws", "build": "echo 'Building ...'"}, "dependencies": {"pm2": "^ 4.2.0"}  } 

package.json

В терминале мы используем npm , чтобы получить зависимость, добавленную в пакете . Json .

  npm install  

Теперь мы хотим создать наш каталог вручную. Это предотвращает удаление каталога журналов.

  mkdir ../logs  

Теперь мы можем запустить приложение с менеджер процессов.

 npm start [PM2] Применение действия restartProcessId к приложению [hello_aws] (ids: [0]) [PM2] [hello_aws] (0) ✓ [PM2] Процесс успешно запущен ────┬──────  ──────┬───────┬──────┬───────────┬───────────┬─────  ─────┐│ id │ имя │ режим │ ↺ │ статус │ процессор │ память │├────┼────────────┼───────┼──  ────┼───────────┼──────────┼────────── 0 │ hello_aws │ fork │ 0 │ онлайн │  0% │ 8. 7 МБ │ 

терминал

Давайте посмотрим, как все это работает вместе.

 const {hostname} =  require ('os'); const http = require ('http'); const message = 'Hello World  n';  const порт = 8080;  const server = http.createServer ((req, res) => {res.statusCode = 200; res.setHeader ('Content-Type', 'text/plain'); res.end (сообщение);});  server.listen (порт, имя хоста, () => {console.log (`Сервер работает по адресу http://$ {hostname ()}: $ {port}/`);}); 

server.js
 {"name": "aws-bootstrap"  , "версия": "1.0.0", "описание": "", "main": "server.js", "scripts": {"start": "node ./node_modules/pm2/bin/pm2 start. /server.js --name hello_aws --log ../logs/app.log "," stop ":" node ./node_modules/pm2/bin/pm2 stop hello_aws "," build ":" echo 'Здание ..  . '"}," dependencies ": {" pm2 ":" ^ 4.2.0 "}} 
package.json

Вывод: Hello World

Мы фиксируем все наши изменения в git.

  git add server.js pac  kage.json package-lock.jsongit commit -m "Создать базовое веб-приложение hello world"  

Теперь вы запустили базовое веб-приложение с помощью AWS! Пришло время перейти к более продвинутым концепциям и построить остальную инфраструктуру. Ознакомьтесь с ресурсами, чтобы узнать, как создавать автоматические развертывания, балансировку нагрузки, сетевую безопасность, масштабирование и многое другое.

Заключение и ресурсы

Теперь вы знакомы с облачными вычислениями, лучшее из сервисов AWS и основы создания веб-приложений. Вы готовы приступить к работе самостоятельно!

Курс Даниэля Вассалло Хорошие стороны AWS: преодоление беспорядка проведет вас через все, что вам нужно, чтобы получить начали с AWS наиболее эффективным способом. Он знакомит вас с функциями AWS, которые составляют основу Интернета.

К концу курса вы создадите полнофункциональное веб-приложение с персонализированными сервисами AWS..

Продолжить чтение об AWS и облачных вычислениях

  • Что такое AWS Lambda
  • Что такое облако? Руководство для начинающих по облачным вычислениям
  • План создания облачных рабочих мест: как и почему стать инженером по облачным вычислениям
Оцените статью
nanomode.ru
Добавить комментарий