Как звучать как облачный эксперт
Опубликовано: 2022-03-10Ваш код написан, и дизайн выглядит великолепно. Новый проект почти готов к работе, когда клиент спрашивает: «Должен ли он работать в облаке?»
Тебя покрывает холодный пот. Вопрос массовый. Регионы и зоны , высокая доступность , балансировка нагрузки — у облака свой язык.
Не волнуйтесь; у вас есть это. В этой статье вы узнаете, как принимать разумные решения об облаке, и ответите на вопросы вашего клиента об облаке.
Четыре больших вопроса
Прежде чем вы и ваш клиент сможете решить, какое облако вам нужно, вам необходимо обсудить четыре вопроса:
- Насколько сложно программное обеспечение, которое вам нужно запустить?
- Насколько это необходимо для масштабирования?
- Насколько важно, чтобы она никогда не падала?
- Насколько быстро он должен работать для пользователей по всему миру?
В этой статье вы найдете справочную информацию и информацию, необходимую для ответа на эти вопросы, и почувствуете себя экспертом в области облачных вычислений.
Давай начнем.
- Что такое облако?
- Почему ваш клиент заботится об облаке
- Чем облако отличается от хостинга?
- Почему виртуальные машины так важны
- Поговорим немного о сети
- Различные типы облаков
- Основные части облака
- Вопросы, которые могут задать ваши клиенты
Что такое облако?
Когда мы говорим об облачных вычислениях , мы на самом деле имеем в виду возможность арендовать часть компьютера у кого-то еще. Вот и все.
У таких компаний, как Amazon и Google, много компьютеров, и они готовы сдать их вам в аренду. Аренда компьютеров у них экономически эффективна, потому что вам не нужно строить свои собственные центры обработки данных или нанимать собственный штат экспертов для их обслуживания.
Когда вы арендуете часть компьютера, вам нужно, чтобы он выглядел как целый компьютер, чтобы вы могли запускать любое программное обеспечение. Вот почему провайдеры предоставляют вам виртуальную машину (ВМ) — программное обеспечение, которое создает впечатление, что вы работаете на своем отдельном компьютере.
Почему ваш клиент заботится об облаке
Прежде чем узнать больше об облаке, важно понять, почему это важно для вашего клиента. Давайте не будем отказываться от привлекательности модных словечек; облако сейчас в моде. Ваш клиент может просто спрашивать, потому что все крутые ребята делают это, но есть причины , по которым крутые ребята делают это.
Начнем с основ. Хостинг собственного центра обработки данных будет головной болью в тылу. Вам придется беспокоиться о энергопотреблении, поддерживать свое оборудование в актуальном состоянии, нанимать команду экспертов для его запуска и о тысячах других проблем, которые не имеют никакого отношения к вашему бизнесу. Что произойдет, если отключится электричество, случится наводнение или обвалится крыша? Это все причины не размещать ваш сайт на сервере, работающем в вашей гостиной.
Вы не только можете переложить всю головную боль на кого-то другого, но и то, что они управляют центром обработки данных, дает вам три больших преимущества:
- Облака глобальны .
Они существуют в дата-центрах по всему миру, в том числе рядом с вашим клиентом. Это означает скорость . Вы не хотите, чтобы клиенты в Китае ждали загрузки данных из США. Когда я захожу на Google.com, я получаю другой центр обработки данных в Бостоне, чем в Чикаго или Лос-Анджелесе, и это только в США. Это большая часть того, что делает возможной скорость Google. - Облака растут и сжимаются .
Если я покупаю сервер, у меня есть один сервер; даже если моему приложению не нужен весь компьютер, мне все равно нужно платить за этот сервер. Когда мое приложение станет действительно популярным, мне нужно быстро купить больше серверов. Облако так не работает. Аренда доли серверов означает, что я могу изменить размер арендной платы: я могу увеличить заказ, когда я занят, и уменьшить его, когда мне не нужно столько. - Облака никогда не спускаются .
Никогда не говори никогда… но почти никогда. Облачные провайдеры говорят о «пяти девятках» — это означает, что они работают 99,999% времени (всего 5,26 минуты простоя в год). Вы можете сделать это еще меньше с помощью таких сервисов, как балансировка нагрузки и аварийное переключение.
Это все причины, по которым облака могут быть крутыми, но вы можете получить некоторые из них от простого хостинга. Если ваш клиент спрашивает об облаке, вам нужно знать разницу.
Чем облако отличается от хостинга?
У меня есть личный сайт на хостинге Media Temple. Мой сайт работает на WordPress, поэтому ему нужно несколько вещей:
- Каталог для размещения моих файлов
- HTTP-сервер
- База данных
- PHP
Мой каталог работает на Linux, мой HTTP-сервер — Apache, моя база данных — MySQL, и все это работает на PHP; вот почему они называют это стеком LAMP (Linux-Apache-MySQL-PHP). Может показаться, что их много, но они ограничены. Например, я не могу установить новое программное обеспечение. Если я хочу запустить свою базу данных на PostgreSQL, мне не повезло. Я не могу запускать другие языки, такие как Python или Go; Я не могу писать свои собственные отдельные программы. Я получаю только очень ограниченный, предварительно настроенный набор вещей, которые мне разрешено делать.
Мой сайт также работает только на одном сервере в одном месте. Где этот сервер? Не имею представления. Я думаю, что это где-то в Соединенных Штатах, но кроме этого я ничего не знаю, и мне все равно. Хостинг-провайдер предоставляет мне один сервер, я ввожу URL-адрес, и мой сайт открывается (в большинстве случаев).
Хостинг-провайдеры делают это просто. Некоторые из них содержат другие стеки, а некоторые допускают немного больше настроек, но это всегда установленный пакет.
Принципиальным отличием хостинга от облака является виртуальная машина. Услуга хостинга просто дает мне часть существующей операционной системы. Виртуальная машина дает мне всю операционную систему.
Почему виртуальные машины так важны
Виртуальная машина действует так же, как и реальная машина. Он может работать под управлением Linux или Windows и может делать все, что может обычный компьютер. Apple не позволяет вам запускать OS X на виртуальной машине (хотя несколько человек заставили это работать, создав «Хакинтош»).
Когда у вас есть виртуальная машина, у вас есть полный контроль. Там можно запускать все, что угодно — базы данных, почтовые серверы, шифрование, даже поиск инопланетян. Виртуальная машина позволяет вам делать все, что вы хотите.
Иметь всю операционную систему для себя — это действительно мощно, но прежде чем вы сможете сделать что-то полезное, вам нужно получить доступ к виртуальной машине.
Поговорим немного о сети
Виртуальные машины бесполезны, если вы не можете получить к ним доступ. Вам нужна сеть, хотя сеть может быть немного сложной.
Но эти основы дадут вам то, что вам нужно для начала. Давайте начнем с примера, с которым вы будете знакомы. Вероятно, он работает в вашем доме прямо сейчас.
У меня дома Комкаст. Comcast дает мне кабельный модем с IP-адресом вроде 10.0.0.89
. Хотя он дает мне только один IP-адрес, у меня есть два ноутбука, iPad и телефон; у моей жены и дочери еще больше устройств. Чтобы это работало, у меня есть беспроводной маршрутизатор, который подключается к моему кабельному модему. Мой беспроводной маршрутизатор дает каждому устройству, которое у меня есть, IP-адрес, например 192.168.0.100
, 192.168.0.101
и т. д., но эти адреса являются частными для моей сети.
Технический термин для этих частных адресов — немаршрутизируемый . Есть несколько адресов, предназначенных для частного использования; большинство начинаются с 10.
или 192.168
, как знак интернет-маршрутизаторам, что эти адреса не разрешены в дикой природе. Я использую эти специальные адреса, потому что их можно использовать повторно.
Каждый IP-адрес должен быть уникальным в данной сети; в противном случае маршрутизатор не знал бы, к какому компьютеру я хочу подключиться. Существует 4 294 967 296 возможных IP-адресов. Хотя сетевые разработчики думали, что это много, когда все это началось в 1970-х годах, сейчас у нас заканчивается. Есть некоторые другие протоколы, такие как IPv6, которые могут решить эту проблему в будущем, но сегодня мы решаем эту проблему с помощью преобразования сетевых адресов (NAT). Позвольте мне показать вам, как это работает.
Устройства в моем доме имеют адреса, уникальные для моего дома, но не для всего мира. Когда я хочу выйти в Интернет, мне нужен беспроводной маршрутизатор, чтобы перевести их для меня. Каждый раз, когда я нажимаю на ссылку, мой ноутбук обращается к моему беспроводному маршрутизатору, чтобы сделать запрос для меня; в свою очередь, беспроводной маршрутизатор разговаривает со всем миром от моего имени, но использует свой собственный адрес. Затем мой кабельный модем делает то же самое, когда общается с Comcast, и Comcast снова делает то же самое в гораздо большем масштабе, когда отправляет мой запрос в общий Интернет. Каждый маршрутизатор транслирует IP-адрес предыдущего. Все это означает, что многие компьютеры могут повторно использовать IP-адрес, например 192.168.0.101
, и все это работает без конфликтов.
Итак, каков мой настоящий IP-адрес в реальном Интернете? Прямо сейчас мой реальный IP-адрес — 66.30.118.150
, а мой частный IP-адрес — 192.168.0.103
.
Откуда взялся адрес 66.30.118.150
? Это IP-адрес, принадлежащий Comcast. Это дает понять, что я нахожусь в Кембридже, штат Массачусетс, на северо-востоке Соединенных Штатов. Мне не нужны подробности; все, что мне нужно знать, это то, что это настоящий публичный адрес, которым Comcast управляет для меня. Comcast, вероятно, использует один и тот же адрес для сотен или тысяч других людей.
Вся эта трансляция адресов делает еще кое-что очень важное. Это дает мне единую точку доступа, которая контролирует все, что входит в мою домашнюю сеть. Никто извне не может получить доступ к 192.168.0.103
; для них это другой адрес. Я получаю большую безопасность, контролируя входящий и исходящий трафик. Мой беспроводной маршрутизатор — это узкая точка, где я могу контролировать происходящее.
Большинство облаков работают так же, как моя домашняя сеть. Компьютеры виртуальные, сети называются подсетями , а беспроводной маршрутизатор называется шлюзом , но это одно и то же. У них есть виртуальные машины с частными адресами и шлюзами, которые транслируют их в общедоступные адреса. У них также есть пространство адресов, которые они могут использовать так же, как мой беспроводной маршрутизатор дома. Так:
Это может показаться сложным, но это не слишком сложно. Облако — это способ арендовать компьютеры у кого-то еще и настроить их так, чтобы они выглядели как моя домашняя сеть.
Самое главное, что нужно помнить:
- Частные IP-адреса доступны только в вашей частной сети;
- Общедоступные IP-адреса доступны в Интернете;
- NAT позволяет частным IP-адресам выглядеть как общедоступные IP-адреса.
Это не все, что происходит с облачными сетями, но этого более чем достаточно, чтобы приступить к работе и получить доступ к вашему облаку. Теперь вам нужно решить, какое облако вы хотите.
Различные типы облаков
Облако — это аморфный термин — люди используют его для обозначения самых разных вещей. На самом деле есть три разные категории облаков.
Инфраструктурные облака
Виртуальная машина и сеть являются строительными блоками для облачной инфраструктуры , также известной как инфраструктура как услуга ( IaaS ). Они предоставляют виртуализированную инфраструктуру, над которой у вас есть полный контроль. Вы выбираете операционную систему и все остальное, что работает поверх нее.
Вы получаете гибкость и контроль, но вы несете ответственность за управление и поддержку всего, что вы устанавливаете.
Инфраструктурные облака бывают статическими или эластичными . Статическое облако работает как моя домашняя сеть: у меня есть набор виртуальных машин, на которых работает все, что мне нужно. Они живут в частной сети с общедоступным шлюзом, который предоставляет им доступ в Интернет. Статические облака отлично подходят для обработки данных, имеют дополнительную вычислительную мощность или размещают более сложный сайт, чем может обслуживать хостинг-провайдер. Вы также можете реплицировать свое статическое облако в другие центры обработки данных по всему миру.
Эластичные облака работают как статические облака, но они динамичны. Вместо фиксированного набора виртуальных серверов у вас есть набор, который может увеличиваться или уменьшаться в зависимости от ваших потребностей. Ваше облако расширяется, когда у вас есть высокий спрос на ваш сайт или службу, и сжимается до нормального размера, когда вы этого не делаете. Все расширения и сокращения экономят ваши деньги. Вы возвращаете вычислительную мощность, которая вам не нужна, когда она вам не нужна.
Netflix использует IaaS. Amazon Web Services предоставляет инфраструктуру, а Netflix реализует всю свою систему сверху; она написала собственное программное обеспечение, обеспечивающее индивидуализированную поддержку потоковой передачи контента высокой четкости. Другим примером является компания Weather Company, которая работает поверх IBM Cloud.
Облака платформы
Облако платформы , также известное как Платформа как услуга ( PaaS ), представляет собой специализированное облако, которое предоставляет строительные блоки программного обеспечения для вашего приложения, в то время как поставщик облака управляет инфраструктурой и стеком программного обеспечения для вас.
Например, если вам нужно веб-приложение, PaaS может предоставить вам ванильный WordPress или Drupal для использования. Если вам нужна база данных, вы можете выбрать MySQL или PostgreSQL. Если вам нужны инструменты разработки, вы можете выбрать Node, Java или PHP. Вам не нужно беспокоиться о том, какая операционная система работает или нужно ли применять патч безопасности MySQL — поставщик облачных услуг позаботится об этом за вас.
Heroku — это облако PaaS. Он предоставляет программное обеспечение внизу, и вы просто пишете то, что хотите поверх него. Это дает вам некоторую гибкость, но дает гораздо больше возможностей для управления, чем облако IaaS.
Облака программного обеспечения
Облако программного обеспечения , также известное как «Программное обеспечение как услуга» ( SaaS ), представляет собой очень специализированный тип облака, который предоставляет вам четко определенный онлайн-сервис. Хостинг-провайдеры — это особый тип облака SaaS под прикрытием; они работают очень ограниченно.
Wix — еще один пример SaaS. Он предоставляет вам полную услугу хостинга веб-приложений с отличным редактором, поддержкой входа пользователя в систему и оплаты, а также широкий выбор шаблонов на выбор. Wix фокусируется только на одной работе. Он очень ограничен по функциональности, но также проще в использовании.
Основные части облака
Мы говорили о различных типах облаков и о том, зачем они вам нужны. Прежде чем вы действительно сможете звучать как эксперт по облачным технологиям, вам необходимо знать различные компоненты, из которых состоит облако.
Виртуальные машины
Виртуальная машина — это программное обеспечение, которое работает как аппаратное обеспечение, действуя как реальная машина, и никогда не нуждается в отдельном сервере где бы то ни было. Вы можете делать с виртуальной машиной все, что хотите, и она пройдет тест на уток — она ходит и крякает, как настоящий сервер. Ваше программное обеспечение никогда не заметит разницы.
Эта гибкость имеет свою цену. Вы несете ответственность за обслуживание своей виртуальной машины. Облачный провайдер позаботится о том, чтобы оборудование было в идеальном состоянии, но вам нужно будет выбрать свою операционную систему и все остальное, что работает поверх нее — исправления безопасности, обновления программного обеспечения, конфигурацию. Это все на вас.
И если вы не используете эластичное облако, вам лучше не забыть выпустить все виртуальные машины, которые вам больше не нужны. Поставщик будет взимать плату независимо от того, работает ли виртуальная машина или нет.
Подсети
Мы уже рассмотрели облачные сети. Подсети — это сети, работающие в облаке.
Частные IP-адреса и общедоступные IP-адреса
Облачная сеть назначит немаршрутизируемый IP-адрес виртуальным машинам в подсети. Они известны как частные IP-адреса, потому что они являются частными для моей сети. Когда виртуальная машина отправляет запросы в Интернет, общедоступный шлюз преобразует эти запросы. Облачные провайдеры называют это исходящим трафиком .
Точно так же, как я не могу получить доступ к своему домашнему принтеру из кафе, в облаке мне нужен общедоступный IP-адрес для доступа к виртуальной машине.
Общедоступные IP-адреса могут быть назначены виртуальным машинам, чтобы разрешить входящий трафик (трафик, поступающий из Интернета, направляется на виртуальные машины). Это важно, потому что облачные провайдеры будут взимать с вас разную плату за входящий и исходящий трафик.
SSH-ключи
Ключ SSH — это часть личной информации, которая позволяет вам получить доступ к вашему облаку. Он состоит из двух файлов. Есть открытый ключ, который выглядит так:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5b8xmtjUd1taP4svy9FM/WZc/n5gkqKVkhIsqW27hw2WuhfTVNLA6IBBOs9+br+HlqGYwgYB3DSh0Zm/3Bok1uQhinH77FmKsrPGDpvtJv16weIvGiTMVp+Mct8DVKl48KZxvQKa0Hp6MxEc7cQ9WPvzWn9BPLHERSkSNwXSUobqpFBgIPy9UBWr5DsI2Li5HeMgMgTcbuVVdO/8I/rhKoIyTqkhY4CZcyssmWhMvPmk6+9IcOr0O4SyW9TL+CZgDH1mW2dUypT+1j6HgFjr9H8NfJ4EKnWnFkQXo8HZ4oh6lSTaIfDQfnbrjVUO14N7FW9ZgXbL9cJVx5FLw3ny9 [email protected]
И есть закрытый ключ, который выглядит так:
-----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAuW/MZrY1HdbWj+LL8vRTP1mXP5+YJKilZISLKltu4cNlroX0 1TSwOiAQTrPfm6/h5ahmMIGAdw0odGZv9waJNbkIYpx++xZirKzxg6b7Sb9esHiL xokzFafjHLfA1SpePCmcb0CmtB6ejMRHO3EPVj781p/QTyxxEUpEjcF0lKG6qRQY CD8vVAVq+Q7CNi4uR3jIDIE3G7lVXTv/CP64SqCMk6pIWOAmXMrLJloTLz5pOvvS HDq9DuEslvUy/gmYAx9ZltnVMqU/tY+h4BY6/R/DXyeBCp1pxZEF6PB2eKIepUk2 iHw0H52641VDteDexVvWYF2y/XCVceRS8N58vQIDAQABAoIBAHU7UKW+m2X55Dui zf0SqW5rXUtDwhOq6qTZhoGIvFjOBwKGfXosjRyyGJ0o6jyqvM1L4Q7ZUDXzg5fT CwXIhAYKrFprRXvHcypnS2hHsKW27k3yZ6tkIX+XW+VT5fzdhCXUyKks3jcRBHtJ ux7BI0kLGR02e6MSHYkowp47p1Auukx1saRkFTwvy+znABgqVETvtHBxAiElXndL JfQntaQacgWWDjl2qUj+06IB/Qzd9/Mo1Vtdb8SUZxv/Qc2raSi3LL0N4aSJGLGU pq395ggv9NdhUQf+DN9uGaOC4hYeGdO8gm27yysZ4rTT5iln5wOaCAcMTMrGL4+k GoU/nKECgYEA7AP/Mh9sUi9AX/17a3A/zxNAO1ZrvM+Caj/X/t/pt3HEOhqLz7o5 z3g8/Z+H0CJLZNiP9XbMak2wvOiqRj0y+FihX/ESll6XgIEPTBUcFSirWMe4f9og FltrnelUjHG9MTDW0P4jmmp1E5V8RgnCCv2VjN40ulP5zHPXXdU2FP8CgYEAySNs /qlFL7DTB/A851y6cUzQC5kiKlr/T8aUtOHeBo626jlnHDy/VY9vIJ0ttsYyHCdM OSdqZh5wRwvshr94tpOBQNnDTI4Xv7t2couHl7q2xTOYeWViwGyZaatNYlWWFh/u YSCTd2jn6cvBZOZP3BAiWoF9nzLcsjfpNLdzAkMCgYAx8TaTOKsHSRBqP41aUspt 2zkAVW0+6vpB2Xivalpegyhu0yc6scGB8YOWd6eZl2g00s7DtnvTEtWPY/yEGHcs rjSXxL+WKjYM70J5aw4iPBTmGH0mMNYRZQ8Ev1cw0PCj9B3A48ZM6rITjtJZT79L 7BU1Vd/6fcKiTPEJ3hAvqQKBgBKOQBnmR8m0iGNtGFFHzrNxIKhRQkOiDXewnDtr su3r8Jf/H7INMKGWD+x0U6lO84SBY5jKOBifqkADq5hqxZoiVYREEq5XVX2Mr8q1 cJbg1MewkNpyLgAOhMCo2wS9XJFB9N3lAXW8qdh5waerT6a/nku3Mn2jVZTjb5I7 clK9AoGAZLuvLAJpFOf/mweajULV+oFMGzIArvbk1c+cGySeI5uZwfQ9lv2MOb0N DuFTXZt6QpKV9Nix/8KgBIP2Vac6gSAeF6kIXk2+nV6gXm5tojYrf6gG1jY8ceRD IFSeGlnBhYVrFcQ79fYwJtSQgGde4PtNF1yq9ipluAyLuy1cLUc= -----END RSA PRIVATE KEY-----
Вы используете эти два файла вместе вместо пароля.
Аутентификация с открытым ключом SSH — это надежный способ входа в удаленную систему, более безопасный, чем стандартное имя пользователя и пароль. (SSH означает «защищенная оболочка».) Вероятно, вы уже видели ключи SSH в виде вашего ключа Github.
Ключи SSH основаны на криптографии с открытым ключом и аутентификации типа «запрос-ответ» для предотвращения атак с использованием грубой силы и других угроз.
Эти ключи гарантируют, что только у вас есть доступ к вашим виртуальным машинам, и они отлично работают со сценариями и другими автоматизированными задачами.
Центры обработки данных
Дата-центр — это большое здание, заполненное компьютерами. Облачные провайдеры сдают их вам в аренду.
Компьютеры представляют собой мощные серверы, на каждом из которых может одновременно размещаться множество виртуальных машин. Эти серверы потребляют много энергии и выделяют много тепла, и они должны быть физически близко друг к другу, чтобы сеть работала быстро. Таким образом, центр обработки данных — это объект, в котором поставщик облачных услуг размещает все физическое оборудование, на котором работает часть его облака. Центру обработки данных требуется надлежащее охлаждение, резервный источник питания, большая пропускная способность сети, контролируемый доступ и квалифицированный персонал для обеспечения работы всех машин.
Центр обработки данных может справиться с большой нагрузкой, но он находится всего в одном месте. Глобальному поставщику облачных услуг необходимо распределить центры обработки данных по всему миру, чтобы гарантировать, что клиенты во всем мире будут иметь приемлемую задержку сетевого доступа к своим серверам.
Регионы и зоны
Облачному провайдеру необходимо организовать свои центры обработки данных, чтобы он мог продолжать выполнять запросы во время перебоев в подаче электроэнергии, наводнений, ураганов и других стихийных бедствий. Провайдеры называют это качеством обслуживания , и все это является частью гарантии того, что облако никогда не выйдет из строя.
Регион — это географическая область с определенной сетевой задержкой туда и обратно (откуда куда?). У регионов есть такие названия, как Даллас, Токио или Франкфурт. Вы гарантированно получите сетевую задержку, за которую платите, внутри этой области.
Регион состоит из одной или нескольких зон. Зоны — это изолированные центры обработки данных в регионе с независимой электрической, механической и сетевой инфраструктурой, разработанные таким образом, чтобы гарантировать отсутствие общей точки отказа между другими зонами. Это позволяет создавать высокодоступные отказоустойчивые приложения путем развертывания в нескольких зонах региона. Регион может продолжать работать в случае сбоя зоны, но очень плохо, когда все зоны выходят из строя.
Центр обработки данных содержит зону. Несколько центров обработки данных объединены в кластер для создания многозонного региона. Зоны имеют такие названия, как us-south-1, us-south-2 и us-south-3. Небольшой регион может обслуживаться одним надежным центром обработки данных, в то время как в густонаселенном регионе может потребоваться несколько центров обработки данных, чтобы справиться с потребностями в сети и вычислительных ресурсах.
Аварийное восстановление, высокая доступность и отказоустойчивость
Эти концепции заставляют попотеть даже самых опытных ИТ-архитекторов. Они не спят по ночам, задаваясь вопросом, как сделать так, чтобы облако никогда не спустилось.
Но у тебя есть это! Облако (почти) никогда не опускается, и легко убедиться, что вы застрахованы, если это произойдет. Давайте рассмотрим эти понятия один за другим:
Аварийное восстановление (DR) — это набор политик и процедур, подробно описывающих действия во время и после крупного инцидента. Спроектируйте свою систему так, чтобы она корректно выходила из строя (это означает, что ваши пользователи поймут, что что-то не так, но вы это предусмотрели), и после инцидента вы знаете, как вернуть его как можно быстрее. Вам нужно аварийное восстановление, когда целый регион выходит из строя, ваш сервис подвергается кибератаке или он уязвим, и вам нужно его отключить.
Высокая доступность (HA) — это всего лишь цель — «пять девяток», о которых мы говорили ранее. Вы хотите, чтобы ваше приложение было устойчивым к сбоям. Это почти невозможно, если вы запускаете сервер в своей гостиной, но это выполнимо с помощью облака. Вы достигаете цели высокой доступности, полагаясь на отказоустойчивую облачную инфраструктуру — обо всем позаботятся за вас.
Отказоустойчивая инфраструктура — это конструкция, обеспечивающая резервное копирование в случае сбоя. Облако — отказоустойчивая система. В случае сбоя зоны внутри региона другие зоны обеспечат непрерывность обслуживания. Вам нужно воспользоваться преимуществами этой отказоустойчивости, используя такие компоненты, как балансировщики нагрузки.
Балансировщики нагрузки
Высокая доступность обеспечивается одновременным запуском нескольких экземпляров приложения. Балансировщик нагрузки — это часть оборудования, которое будет направлять трафик от ваших пользователей к одному из ваших экземпляров, который работает и работает; он принимает запросы и отправляет их на следующий работоспособный сервер.
Балансировщик нагрузки отслеживает работоспособность ваших виртуальных машин и может учитывать различные параметры. Он может обнаружить сбой вашей виртуальной машины или приложения, а также проверить задержку в сети, конкретные данные в заголовках запросов и многое другое.
Вопросы, которые могут задать ваши клиенты
Итак, ваше приложение работает отлично, но ваш клиент думает о переходе на облако. Готовы ли вы к этому? Вот общие вопросы, на которые вы должны быть в состоянии ответить, чтобы звучать как эксперт по облачным вычислениям.
Когда мне нужно больше, чем хостинг-провайдер?
Ваш клиент может на полной скорости перенести все службы в облако. Благодаря большей гибкости, отказоустойчивости и географически распределенному присутствию облако позволяет легко воодушевиться.
Но хотя облако быстрее, гибче и надежнее, оно также и дороже; может даже потребоваться дополнительная ИТ-поддержка для поддержания работоспособности системы вашего клиента. Облако не для всех.
Если система вашего клиента в настоящее время работает на хостинг-провайдере, следует ли вам перейти в облако?
Учитывайте настоящие и будущие потребности: если вашему клиенту требуется высокая доступность для соблюдения нормативных требований, перейдите в облако. Если ваш клиент нацелен на глобальную аудиторию, перейдите в облако. Если в течение года ожидаются резкие скачки спроса, переходите в облако.
Если к системе в основном будут обращаться локальные пользователи в определенной географии или если она не является критически важной для вашего клиента, не переходите в облако.
Важный вывод: если система вашего клиента хорошо работает на хостинг-провайдере, вам следует рассмотреть существующие предложения SaaS, которые обеспечат отказоустойчивость и производительность облака, изолируя вашего клиента от ненужных расходов на ИТ. Есть традиционные хостинг-провайдеры, такие как Bluehost, предлагающие облачные услуги, и есть облачные провайдеры, предлагающие услуги хостинга.
Какой тип облака следует использовать?
Поиск подходящего типа облака может быть ошеломляющим, поскольку каждый поставщик предлагает широкий спектр услуг и вариантов. Первое, что нужно учитывать, — это сложность программного стека вашего клиента и аппаратного обеспечения, на котором он в настоящее время работает.
Если весь стек сильно настроен с помощью перекомпилированных библиотек с открытым исходным кодом, настроенных ядер Linux или специальной оптимизации хранилища, вам следует в первую очередь обратить внимание на IaaS. Некоторые провайдеры позволят вашему клиенту смешивать и сочетать, используя IaaS для настраиваемых компонентов и выбирая PaaS для других частей.
Однако, если потребности вашего клиента в основном основаны на готовых библиотеках, PaaS, скорее всего, будет лучшей отправной точкой; облачный провайдер позаботится о том, чтобы код вашего клиента всегда работал поверх актуальных зависимостей.
Как только будет определена правильная облачная модель, требования и критерии оценки будут уникальными для вашего клиента. Но всегда стоит обращать внимание на нефункциональные требования: должен ли ваш клиент соответствовать нормативным требованиям, сертификатам или стандартам, относящимся к предметной области? Есть ли у них какая-либо зависимость или партнерство с конкретными поставщиками?
Наконец, подумайте о поддержке миграции поставщиком облачных услуг и привязке к поставщику — насколько сложно вашему клиенту перейти к конкуренту после того, как система заработает. Продумайте план выхода, даже если ваш клиент не планирует уезжать.
Как мне убедиться, что мой сайт никогда не выйдет из строя?
Допустим, ваш клиент работает в сфере здравоохранения США. HIPAA требует, чтобы каждая организация имела какой-то план аварийного восстановления, в том числе и ваш веб-сайт. Бизнес вашего клиента потерпит неудачу, если сайт выйдет из строя, поэтому вам нужна отказоустойчивость облака.
Облако предоставляет вам инструменты, необходимые для того, чтобы ваш сайт никогда не вышел из строя. Вам потребуется несколько экземпляров вашего приложения, работающих одновременно, и способ управления трафиком, чтобы ваши пользователи никогда не обращались к неработоспособному экземпляру.
Если ваш клиент развертывает ваш сайт в облаке IaaS, вам потребуется несколько экземпляров вашего приложения и балансировщик нагрузки для управления трафиком. Если у вашего клиента есть облако PaaS, просто убедитесь, что у вас запущено несколько экземпляров, так как облако автоматически предоставит часть маршрутизации.
Если на вашем сайте используется база данных, убедитесь, что облако вашего клиента настроено на поддержку сходства сеансов (также называемого закрепленными сеансами ), чтобы гарантировать, что весь пользовательский трафик направляется на одну и ту же виртуальную машину.
Как сделать свой сайт быстрым для всех в мире?
Если ваш клиент выходит на глобальный уровень и требует, чтобы ваше приложение предоставляло быстрые услуги конечным пользователям по всему миру, вам нужна гибкость и географический охват облака.
Несмотря на то, что облако является глобальным, вам нужно, чтобы экземпляры вашего приложения работали рядом с вашими пользователями.
Поработайте со своим клиентом, чтобы определить, какие облачные регионы лучше всего обслуживают вашу пользовательскую базу, и где ваш клиент размещает API, поддерживающие ваш сайт — ваши экземпляры должны быть близки к обоим. Вы также можете обсудить настройку глобального прокси-сервера, который направляет трафик в разные географические области в зависимости от местоположения пользователя.
Заключение
Предоставление масштабируемого и устойчивого обслуживания растущей клиентской базе через Интернет очень сложно; мы едва поцарапали поверхность здесь. Вот почему мы хотим оставить детали Amazon, Google и другим облачным провайдерам. Ваша работа состоит в том, чтобы принимать правильные решения о том, как пользоваться их услугами.
Помните, когда ваш клиент спрашивает вас, должно ли что-то работать в облаке, вам нужно задать четыре вопроса:
- Насколько сложно программное обеспечение, которое вам нужно запустить?
- Насколько это необходимо для масштабирования?
- Насколько важно, чтобы она никогда не падала?
- Насколько быстро он должен работать для пользователей по всему миру?
Начните с этих четырех простых вопросов, и вы будете звучать как эксперт по облачным вычислениям. Работайте со своими клиентами, чтобы понять, что ответы на эти вопросы означают для них, принимая во внимание различные типы облаков, и вы будете играть большую роль в решении их потребностей.