Статьи

Подкаст SitePoint № 82: Облачный хостинг с Джеффом Барром и Лукасом Чаном

Эпизод 82 подкаста SitePoint теперь доступен! Джефф является автором последней книги SitePoint «Разместите свой веб-сайт в облаке» . Лукас является ведущим системным администратором в SitePoint , 99designs и Flippa .

Слушай в своем браузере

Сыграйте этот эпизод прямо в вашем браузере! Просто нажмите оранжевую кнопку «Play» ниже:

Скачать этот эпизод

Вы также можете скачать этот эпизод в виде отдельного файла MP3. Вот ссылка:

Стенограмма интервью

Кевин: 8 октября 2010 года. Два эксперта по облачным вычислениям объединяются, чтобы раскрыть детали размещения вашего сайта в облаке;

Привет и добро пожаловать на другой подкаст SitePoint. Я не хочу слишком долго ждать этого вступления, потому что нам еще многое предстоит пережить. Этот подкаст, вероятно, самый длинный почти на час из всех подкастов, которые мы выпускали в SitePoint ранее. То, что вы собираетесь услышать, это аудио для онлайн-семинара, который мы провели в поддержку выпуска нашей последней книги Джеффа Барра « Разместите свой веб-сайт в облаке ». Это было действительно успешное мероприятие, и если вы хотите увидеть слайды, которые сопровождают аудио, у нас есть эта версия презентации, у нас есть полная запись с этими слайдами на сайте, и я буду уверен чтобы ссылаться на это в заметках к шоу, но я думаю, что презентация отлично работает как аудио, потому что все, что упоминается на слайдах, также упоминается докладчиками в аудио. Так что вместо того, чтобы сидеть перед компьютером и читать слайды в течение двух часов, пока вы слушаете это, я думаю, вы знаете, планируете сделать какую-то домашнюю работу, выйти и заняться садоводством или даже пойти погулять, пока вы слушаете это и заняло два часа опыта у Джеффа Барра из Amazon и нашего собственного Лукаса Чана, который управляет серверами здесь в SitePoint, 99designs и Flippa. Я буду пасти кошек, выбрасывать вопросы здесь, но большую часть времени вы услышите, как они разговаривают, и это действительно хорошие вещи. Так что садитесь и, может быть, планируете сделать перерыв на полпути через этот, но я надеюсь, вам понравится.

Привет всем и добро пожаловать на этот специальный вебинар от sitepoint.com, организованный для вас в сотрудничестве с Amazon, чтобы отпраздновать запуск нашей новой книги « Разместите ваш веб-сайт в облаке: Amazon Web Services Made Easy , мы очень рады У нас есть автор этой книги, Джефф Барр, привет, Джефф.

Джефф: Привет.

Кевин: Джефф присоединился к Amazon в 2002 году, когда он решил, что разумная ставка на облако будет идти вперед и что Amazon станет крупным игроком, если не игроком в этом пространстве. В качестве старшего евангелиста Amazon Web Services Джеффа выступает с разработчиками на конференциях, в группах пользователей и на вебинарах, подобных этому, по всему миру. К нам также присоединился Лукас Чан, который является одним из наших, по сути, нашим ведущим системным администратором здесь, в SitePoint; привет, Лукас

Лукас: Привет всем.

Кевин: Лукас присоединился к SitePoint в 2002 году как веб-разработчик, но с тех пор он возглавил переход в облако для хостинга здесь, в SitePoint. В настоящее время он является одним из самых ответственных за серверную инфраструктуру SitePoint, и большая часть этого размещается практически на веб-сервисах Amazon. Итак, что мы собираемся сделать в течение следующего часа, это немного поговорить об облачном хостинге и о том, что именно охватывает эта книга, но наша самая большая миссия здесь состоит в том, чтобы дать вам, ребята и ребята, которые сейчас сидят на вебинаре, возможность задавайте и получайте ответы на все ваши вопросы об облачном хостинге, облачных вычислениях; у нас здесь есть сам человек, и мы хотим убедиться, что вы, ребята, сможете в полной мере воспользоваться. Итак, у нас есть примерно полчаса материала здесь, где мы собираемся провести своего рода неформальный тур по этой книге и поговорить о некоторых различных проблемах, которые в ней обсуждаются, но здесь есть функция для вопросов на вебинаре. поэтому, пожалуйста, как только у вас есть что спросить, или даже если вы пришли на вебинар, вооруженный некоторыми вопросами, на которые вы хотели бы получить ответы, не стесняйтесь задавать их в любое время. У нас есть Луи Симоне, один из наших технических редакторов здесь, в SitePoint, который будет проходить через все эти вопросы и помечать их, чтобы я мог задать их двум нашим экспертам на панели здесь.

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

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

Итак, что касается того, как я сюда попал, я живу здесь, в Саммамиш, штат Вашингтон, который, по сути, является следующим городом после Редмонда, дома Microsoft, и в течение моей более ранней карьеры я провел некоторое время в 80-х и 90-х годах. в ряде стартапов и небольших компаний. В 1997 году я и моя семья переехали по всей стране из Мэриленда в Вашингтон, чтобы я мог работать в Microsoft, и, находясь там, я потратил некоторое время на выпуск Visual Basic 6, который запомнился как последний замечательный выпуск Visual Basic, а потом я провел пару лет на visualstudio.net . После этого я ушел из Microsoft, хотел заняться чем-то более увлекательным, меня немного расстроил очень и очень большой темп циклов выпуска продукции, поэтому я связался с моим другом, который заработал немного денег в дот-коме, и он хотел, чтобы я помог ему расследовать и инвестировать в компании. Поэтому в течение нескольких лет я помог ему оценить компании, оценить технологии, рынки и людей и дать ему рекомендации о том, стоит ли ему инвестировать или нет. Итак, в то время многие компании, на которые мы смотрели в 2000, 2001 годах, говорили о XML, SOAP и веб-сервисах, и часто, если вы помните UDDI и тому подобные вещи, о которых лучше всего забыть, вроде разговоров о … Мы Мы много говорили об этой идее о возможности совершать звонки через веб-службу через Интернет и активировать удаленные функции, и мы говорили и говорили об этом, и, честно говоря, в то время аудитория была доброй скептически; когда мы обращаемся к потенциальным инвесторам и говорим: смотрите, мы думаем, что это будущее, возможность создавать приложения, которые эффективно используют преимущества программируемых сайтов и думают о том, что у самих сайтов будут API-интерфейсы, и вы сможете создавать программы, использующие преимущества этих API, люди смотрят на это, и они довольно скептически качают головой, и они действительно не совсем понимают, я думаю, что я, возможно, видел немного раньше, и только мощь API и мощность платформ. Итак, когда я увидел самый, самый первый релиз от Amazon, это была небольшая заметка на моей учетной записи. Однажды я вошел в систему, всплыла небольшая коробка и сказала: «У Amazon теперь есть XML», и я сразу же подумал, что это довольно аккуратно. Я провел расследование и через пару разных этапов обнаружил, что к лету 2002 года я работаю над веб-сервисами Amazon. Так что это было довольно удивительное путешествие за последние восемь лет; мы перешли от этой первоначальной услуги, доступа к каталогу продуктов, к большему количеству инфраструктурных услуг, на которых я сосредоточился в книге, и стали частью этой организации и наблюдаем, как она превращается из великих идей и некоторых замечательных людей в организация с большим количеством услуг и отличными клиентами и отличными приложениями. Это было довольно захватывающе до сих пор.

Кевин: Итак, давайте перейдем прямо к книге здесь. Книга состоит из одиннадцати глав, и мы собираемся использовать ее в качестве приблизительного руководства для презентации сегодня. И Лукас будет участвовать в каждой главе, чтобы дать немного практического взгляда на связанные вещи, которые происходят для нас здесь, в SitePoint. Потому что одна из причин, по которой мы больше всего рады публикации этой книги в сотрудничестве с Amazon, заключается в том, что переход к облачному хостингу для нас стал таким преображающим опытом. Итак, книга «Разместите ваш веб-сайт в облаке», а первая глава — «Добро пожаловать в облачные вычисления». И облачные вычисления — один из тех терминов, которые, как я знаю, для меня пугали меня в первый раз, когда я столкнулся с этим, казалось, как очень информатика … я должен делать работу для НАСА, чтобы это применимо ко мне. Почему бы тебе не рассказать немного об облачных вычислениях и о том, как облачный хостинг вписывается в это, Джефф?

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

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

Кевин: Точно. Итак, Лукас, насколько это повлияло на наше решение перейти на облачный хостинг; переживали ли мы собственную катастрофу успеха?

Лукас: Да, все это играет на самом деле. Особенно Джефф говорит о том, чтобы отворачивать людей за дверь, и где-то в 2006/2007 годах у нас были случаи, когда мы были на первой странице Digg, Slashdot или чего-то в этом роде. И наши серверы просто полностью прогибались под нагрузкой, поэтому в то время, когда не хватало емкости и совпало с масштабными усилиями по разработке для SitePoint Contests, а затем Marketplace, глядя на облако, оно стало действительно привлекательным для нас. И особенно легкость и скорость, с которой мы можем подключить эти серверы к сети с помощью некоторых экспериментальных конфигураций, да, время было действительно хорошим для нас, когда мы открывали Amazon Web Services.

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

Джефф: я согласен. И довольно часто я думаю, что случается так, что люди думают, что они запланировали, и они сделали некоторое моделирование, и они полагают, что они подготовили достаточную пропускную способность, но тогда часто случается так, что сайт может быть использован неожиданно ставки, где, возможно, несколько неэффективная функция, которая, как вы думали, могла быть чем-то второстепенным, для всего сайта, оказывается, является вещью, на которой все действительно сосредоточены. И поэтому, может быть, вы построили эту маленькую боковую часть и сказали, что никто не собирается ее использовать, поэтому я не буду индексировать таблицы или не буду оптимизировать код, а потом вдруг окажется, что эта часть всем нравится. А затем в старой модели она возвращается к чертежной доске, реорганизует, заново внедряет, в то время как с моделью Cloud вы говорите: хорошо, все в порядке, я просто настрою еще несколько ресурсов, я разберусь с неэффективность, просто заплатив немного больше денег за короткий промежуток времени, и тогда это выиграет мне время; буквально вы покупаете время, чтобы вернуться и сделать более оптимальную реализацию.

Кевин: Хорошо. Так что, если вы готовы, Джефф, мы можем перейти ко второй главе.

Джефф: Хорошо, так что вторую главу я действительно начинаю с описания каждой из различных веб-служб Amazon. Итак, я просто прошёл каждый из них, и я был очень осторожен, чтобы убедиться, что я обратился не только к технологии, но и к бизнес-аспекту облака. И когда я выхожу и говорю с аудиторией, я ясно даю понять, что Облако — это не просто новая технология, о которой нужно знать, но вы должны обратить внимание на деловую сторону, и вы должны понимать, что вы платите за Ваши ресурсы оплачиваются по мере поступления, поэтому я хочу убедиться, что люди понимают, что каждый отдельный ресурс, такой как обработка и хранение, пропускная способность и обмен сообщениями, каждый из них имеет цену за единицу, которую вы платите по мере их потребления. а также вы не платите, и, как правило, во время разработки вы не используете много этих ресурсов, поэтому вы не будете платить много, поэтому вы можете разработать свое новое приложение или новый сайт на очень экономическая основа, и вам даже не нужно масштабировать серверы большого размера или экземпляры, которые мы им называем, до тех пор, пока вы на самом деле не заработаете. Таким образом, наш самый маленький экземпляр называется Micro, который даже меньше, чем самый маленький, описанный в книге, а микро экземпляры на самом деле арендуют по два цента в час, поэтому я полагаю, что большинство людей тратят больше в своей любимой кофейне или автомате по продаже безалкогольных напитков. чем они делают на серверах по таким ценам.

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

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

Кевин: Лукас, в течение долгого времени мы поддерживали немного своего рода устаревший сервер, у нас были учетные записи в таких местах, как DreamHost и тому подобное, я думаю, что мы все еще делаем, но для вас есть какой-то эксперимент, слишком маленький, чтобы пойти на неприятности поставить его на облачный хостинг или это ваше решение по умолчанию для всего сейчас?

Лукас: Новый размер экземпляра, который Amazon выпустил на днях, был Micro size, верно, Джефф?

Джефф: Это верно.

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

Кевин: Я помню, когда в прошлый раз у нас была такая большая встреча, Лукас, и это было в первые дни Amazon Web Services, и я подумал, что мы, увлеченные разработчики, действительно хотели совершить прыжок к Облако, но мы должны были проявить должную осмотрительность и показать, сколько это будет стоить, чтобы пойти другим путем, и я думаю, что вы и Лахлан Дональд в то время составили большой огромный план того, как может выглядеть кластер серверов, который мог бы справиться с разумным количеством нагрузки в будущем, и цифры были довольно убедительными, не так ли?

Лукас: Знаете, цифры были убедительными, но фактический результат не соответствовал нашим прогнозам, и если вы поговорите с руководством в SitePoint, они скажут вам, что мы тратим на хостинг больше денег, чем мы на самом деле предсказывали в ответ. тогда. Но на самом деле вы должны учитывать тот факт, что мы запустили в облако гораздо больше приложений, чем мы когда-либо считали возможным в то время, поэтому на самом деле это просто дало нам гораздо больше возможностей для быстрого роста.

Кевин: Круто. Итак, глава третья, Джефф, готовится. Так о каких инструментах ты говоришь?

Джефф: Итак, идея в третьей главе. В общем, я хочу убедиться, что люди настроили свое локальное оборудование так, чтобы у них был свой ПК, я должен убедиться, что у них установлена ​​правильная версия PHP, чтобы они есть CloudFusion Toolkit, и они также знают о визуальных инструментах, о различных вещах, таких как AWS Management Console и других сторонних инструментах, которые они могут использовать. Я также хочу убедиться, что они знают, как перейти на сайт AWS, создать свою учетную запись и получить ключи, которые они используют для идентификации и подписания запросов, и понять все эти мелкие мелочи, которые иногда просто скоростной удар между тем, как вы видите код в книге, и вы говорите, что это выглядит потрясающе, я хотел бы попробовать, я хотел убедиться, что все эти шаги были просто тщательно прописаны. И я также хотел убедиться, что несколько вещей, таких как понимание того, что это действительно удобно, когда вы создаете веб-приложения для управления некоторыми DNS, наличие нескольких видов доменных имен, которые вы можете использовать для экспериментов, также довольно удобно, когда вы хотите просто выложить вещи в интернет и посмотреть, как они работают.

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

Лукас: Да, конечно. Итак, Кев, как вы упомянули в то время, изначально Amazon только предоставлял некоторые инструменты командной строки для доступа к их API, и мы подумали, что можем сделать это немного лучше. Мы создали небольшое веб-приложение для управления нашими экземплярами, которые запускали наши сайты, но это было довольно сложно; как мы потратили много времени на то, чтобы понять это, и в наши дни стало намного проще с Консолью AWS, которую предоставляет Amazon, и некоторыми другими сторонними инструментами, такими как ElasticFox, и мы даже сейчас используем некоторые сторонние сервисы управления облаком, такие как RightScale и CloudKick. Так что теперь очень легко управлять этим материалом, и вы знаете, что у нас было несколько бедствий, когда мы писали свои собственные инструменты, а затем случайно закрывали экземпляры и все такое, так что есть истории о войне в другой раз.

Кевин: Джефф, справедливо ли сказать, что Amazon изначально хотел отойти в сторону и позволить третьим сторонам контролировать историю инструментов, а они просто хотели сосредоточиться на создании действительно прочных труб?

Джефф: Я не думаю, что это было на самом деле мышление. Обычно, когда мы создаем новые сервисы, мы создаем сервис, мы накладываем API на внутреннюю реализацию, а затем мы создаем инструменты командной строки для реализации этих API, и это первый уровень, который мы можем предоставить. Затем выясняется, что объединение визуальных инструментов, как правило, требует гораздо больше работы, когда вы начинаете говорить, давайте создадим визуальные представления сервисов, разберемся с пользовательскими интерфейсами и проведем юзабилити-тестирование и т. Д., Чтобы не откладывать выпуск сервисы, мы обычно сначала выпускаем сервис и инструменты командной строки, а затем у нас есть отдельная временная шкала для инструментов визуального управления. Но мы, безусловно, уважаем, ценим и делаем много, чтобы помочь сторонним инструментам управления, но я думаю, что это действительно указывает на то, что когда мы создаем наши инструменты, мы строим поверх тех же API, что и сторонние.

Кевин: У нас есть вопрос от Роба Морроу, который спрашивает: «Так чего же это на самом деле стоит?». И вы в некотором роде разбирались с тем, за что платит Amazon, но я полагаю, вы можете дать нашим слушателям грубая идея, как минимум, запустить один экземпляр Micro-сервера, если вы просто — вам нужен был сервер для разработки и экспериментов, о чем мы говорим о стоимости здесь?

Джефф: О, давайте посмотрим, я действительно плохо разбираюсь в математике, поэтому микро-серверы стоят два цента в час, так что в основном это около пятидесяти центов в день, поэтому мы говорим о $ 15,00 в месяц на полный рабочий день доступ.

Кевин: Да.

Джефф: Теперь есть отдельная плата за пропускную способность, которая в настоящее время составляет пятнадцать центов на гигабайт, так что просто если сервер запущен и запущен, а затем есть отдельное хранилище, вероятно, мы ищем менее 20 долларов в месяц для своего рода минимального сервера. , Теперь, если вы собираетесь использовать их в течение длительного периода времени или если вы можете предсказать свое использование, у нас есть эта модель, называемая зарезервированными экземплярами, где вы можете заплатить аванс, чтобы в основном резервировать емкость, а затем, как только вы это сделаете, ваша почасовая ставка будет ниже. и чистая цена, когда вы вычисляете стоимость на основе 100% использования или 50%, будет даже меньшей ценой в час.

Кевин: Хорошо. Спасибо за вопрос, Роб; если у вас есть более конкретные вопросы о стоимости, пожалуйста, не стесняйтесь задавать дополнительные вопросы.

Джефф: У нас также есть онлайн-калькулятор, который, если люди используют Google для «Калькулятора AWS», есть хороший калькулятор JavaScript, который вы можете запустить, и вы можете моделировать различные сценарии того, сколько серверов и сколько памяти и пропускной способности вы потребляете.

Кевин: Итак, на данном этапе книги мы рассмотрим некоторые конкретные конкретные услуги и то, что они могут сделать для вас, и первым, на что вы обратите внимание, является S3, Simple Storage Service.

Джефф: Верно. Таким образом, S3 был одним из наших ранних сервисов, и я думаю, что когда мы развернули этот сервис, он действительно привлек внимание людей, они сказали: хм, это совсем не то, чего мы ожидали от Amazon, поэтому у нас действительно есть два сервисы, которые сочетаются друг с другом, как рука об руку, у нас есть S3, который является хранилищем для объектов, и у нас есть CloudFront, который является распределением контента, у которого есть множество узлов по всему миру, чтобы сделать его так, чтобы эти узлы были очень , очень близко к вашим пользователям, чтобы они могли получать контент очень быстро с низкой задержкой. Итак, здесь я в основном объясняю S3 и CloudFront и прохожу все основы: создаю коллекцию, называемую корзиной, показываю, как составлять список содержимого ваших корзин, загружать файлы в корзину, делаю забавные вещи, такие как вытягивание графики из корзины, используя простую графическую обработку для создания миниатюрных изображений и их сохранения, а затем использовать CloudFront для распространения. Одна вещь, которую я нашел действительно полезной для разработчика, заключается в том, что, когда у меня есть основная задача, я определенно работаю над ее выполнением, но я не боюсь сделать один шаг в сторону, а также изучить что-то еще, что интересно. Поэтому, когда я занимался программированием для S3, я сказал, что позвольте мне немного узнать о том, как выполнять графическую обработку, и именно так я попал в эскиз.

Кевин: Лукас, для чего мы используем S3?

Лукас: Один хороший пример использования S3 — это 99designs , которые формально были SitePoint Contests, мы храним конкурсные заявки, поэтому логотипы и веб-дизайны, представленные сообществом дизайнеров, сохраняем их в S3, а затем дополнительно сохраняем эскизы и версии с измененным размером. из этих представлений. Итак, на сегодняшний день у нас около 5,9 миллионов объектов, хранящихся в учетной записи 99designs S3, поэтому мы, безусловно, говорим о крупномасштабном и действительно надежном внутреннем хранилище. Сказав это, мы склонны не заставлять наших пользователей извлекать объекты непосредственно из S3, хотя это, безусловно, возможно, просто потому, что нам нравится иметь более детальный контроль над тем, как вещи кэшируются и тому подобное.

Кевин: Что меня привлекает в S3, так это то, что это почти возвращение к истокам веб-инфраструктуры, когда Веб был впервые задуман и когда такие серверы, как Apache, были впервые написаны, они в основном создавались для обслуживания статических ресурсов, файлов HTML, файлов изображений в в некоторых случаях, и эти вещи были просто, вы знаете, веб-браузер запрашивал URL-адрес, веб-сервер отправлял и извлекал файл и отправлял его в браузер, и это не должно было быть более сложным, чем это. И с годами я чувствую, что веб-серверы превратились в весь этот скриптовый, программный, динамически сгенерированный тип страниц, но S3 — это своего рода повод, но все же важно обслуживать статические объекты, и чем больше эти системы спроектированы для динамического генерация страниц тем менее оптимальна и тем больше денег вы тратите только на обслуживание этих статичных вещей, так почему бы не спроектировать нечто, специально предназначенное для статических.

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

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

Джефф: Конечно. Итак, для S3 существует полная модель ACL или списка контроля доступа, и есть несколько способов защитить свой контент. Одна вещь, которую вы можете сделать, это то, что вы можете настроить систему так, чтобы каждый раз, когда вы отображали страницу для определенного пользователя, вы генерировали уникальный ограниченный по времени URL, который действителен только в течение очень, очень небольшого промежутка времени, поэтому, когда Вы доставляете этот контент пользователю, даже если он скопирует URL-адрес и передаст его кому-то другому, срок его действия истечет, через некоторое время он не будет действительным. У нас также есть относительно новый сервис, он на самом деле новее, чем я мог описать в книге, под названием IAM, Identity Access Management, и с Identity Access Management у вас также есть очень, очень детальный контроль доступа к объектам, доступ к отдельные сегменты S3 и наборы объектов S3 и даже отдельные API S3. Вы можете установить защиту, скажем, у этого конкретного пользователя есть возможность вызывать некоторые API, у этих других пользователей есть возможность использовать только другое подмножество этих API, так что с S3 доступно много детального контроля.

Кевин: Круто. Итак, давайте поговорим о EC2 дальше, и для меня EC2 — это сердце Amazon Web Services. Кажется ли тебе так, Джефф?

Джефф: Я так думаю. Таким образом, несмотря на наличие всех этих замечательных сервисов, которые хранят данные, перемещают и выводят их и отправляют сообщения, вам необходимо выполнить некоторую обработку, так что вам почти всегда понадобится EC2 в центре событий. Итак, в этой главе я расскажу о таких вещах, как программируемый центр обработки данных, о том, что вы делаете распределение своих ресурсов через API. Я расскажу о многих важных аспектах EC2, а затем попытаюсь очень быстро освоиться, покажу, как запустить экземпляр с помощью Консоли управления AWS, покажу, как использовать Putty для фактического SSH в вашем экземпляре, а затем один раз. у нас есть тот базовый экземпляр, который мы делаем, например, назначаем Elastic IP-адрес, чтобы у него был постоянный IP-адрес, который вы можете переназначить на другие экземпляры по мере увеличения или уменьшения, Elastic Block Storage, который в основном состоит из томов виртуальных дисков, которые вы выделяете в облаке, а затем присоединяйте к своим экземплярам, ​​создавая пользовательские образы машин, а затем используя API-интерфейсы для выполнения некоторой части этой динамической обработки, которая, на мой взгляд, настолько увлекательна.

Кевин: Отлично. И, Лукас, это было EC2, которое действительно привлекло нас к Amazon Web Services, а затем мы обнаружили, что все остальное выходит оттуда?

Лукас: Да, это справедливо сказать.PHP5, чтобы наши клиенты могли проверять ее качество, бета-версия для конкурсов SitePoint, и мы действительно можем сделать это очень хорошо. Быстро с EC2, в наших днях мы используем комбинацию маленьких, больших и больших экземпляров ЦП, и у нас это просто отлично работает, так как мы можем ориентироваться на разные размеры экземпляров для разных приложений , Итак, Джефф немного говорит о создании доступных систем AMI, которые, как правило, не делают этого слишком много в SitePoint.процесс загрузки. Мы уже говорили о S3, мы склонны обслуживать слишком много данных непосредственно из S3, и мы в основном обслуживаем большую часть наших данных из наших экземпляров EC2, и они действительно хороши для этого. Я бы сказал.

Кевин: Хорошо.EC2 означает Elastic Compute Cloud. Это может быть EC2, что такое сервис EC2?

Джефф:Конечно. Таким образом, EC2 — это возможность ежечасно получать серверы под управлением Linux, Windows или Solaris. Таким образом, вы выбираете эти серверы из облаков, и когда вы выполняете этот запрос, вы видите несколько разных вещей, и на самом деле существует 10 различных типов Объем памяти до 70 гигабайт. Вы должны работать с 32- или 64-битными компьютерами, где у вас есть возможность работать в разных регионах или в кластерах центров обработки данных в четырех разных частях света, а также в нескольких других параметрах. Итак, это называется AMI,Таким образом, AMI фактически соответствует вашей операционной системе Linux, у вас есть готовые приложения, любые статические данные, которые вы хотите включить в него. Мы подготовили свой собственный AMI. Это значит, что у нас есть клиенты, которые запускают сотни или даже несколько тысяч экземпляров для своих приложений. Вы платите за использование в течение 24 часов, вы платите за это 24 часа в сутки за этот экземпляр. ,Мы подготовили свой собственный AMI. Это значит, что у нас есть клиенты, которые запускают сотни или даже несколько тысяч экземпляров для своих приложений. Вы платите за использование в течение 24 часов, вы платите за это 24 часа в сутки за этот экземпляр. , Мы подготовили свой собственный AMI. И я говорю «экземпляры», потому что у нас есть клиенты,Они запускают сотни или даже несколько тысяч экземпляров для своих приложений. Вы платите за использование в течение 24 часов, вы платите за это 24 часа в сутки за этот экземпляр. есть клиенты, которые запускают сотни или даже несколько тысяч экземпляров для своих приложений. Вы платите за использование в течение 24 часов, вы платите за это 24 часа в сутки за этот экземпляр. есть клиенты, которые запускают сотни или даже несколько тысяч экземпляров для своих приложений. Вы платите за использование на почасовой основе,Мы заплатили 24 раза в час за этот экземпляр.

Кевин: Круто.Хорошо, я думаю, что мы можем перейти от EC2, я уверен, что у нас есть все, что связано с этим, но давайте перейдем к шестой главе, которая посвящена SQS. , Так что же такое SQS?

Джефф:Итак, SQS — это сокращение от Simple Queue Service, и когда мы описываем что-то «простое» в Амазонии, мы не имеем в виду, что это похоже на маленькие детские приложения или игрушки, которые мы подразумеваем, что модель программирования, ментальная модель и Интерфейсы требуют, чтобы они были очень чистыми, очень простыми, и что-то, что вы можете понять. Итак, в этой главе я рассмотрел несколько различных способов использования SQS, поэтому SQS — это очередь сообщений «первый пришел — первый вышел», и вы можете использовать их для создания очень гибкой системы обработки. В этом случае вы можете использовать эти разные шаги вместе,Таким образом, если некоторые из этих шагов очень трудные и могут занять много времени или переменное количество времени, вы можете использовать очереди сообщений, чтобы в основном быть буферами между различными шагами. конвейер. Все это может быть сделано из-за того, что у вас есть только два приложения, два из которых были взяты из одного приложения. Вы можете создать собственное приложение, таким образом, чтобы выполнялось одно из следующих этапов:Вы также можете создать новое приложение, таким образом, чтобы получить одно приложение таким образом. создание и резервирование копий очередей, когда вы просто запускаете другой экземпляр службы.Если у вас есть два приложения, у вас есть два приложения, и вы отправляете результаты по пути.Если у вас есть два приложения, у вас есть два приложения, и вы отправляете результаты по пути.

Итак, я должен, вероятно, сказать, что это будет глава шестая, и я построил этот действительно аккуратный конвейер обработки, где была Я просто перетаскивал некоторые URL-адреса на веб-страницах в этой очереди, а затем я выполнял эти URL-адреса за пару шагов, где я получал HTML-код страницы, определяя ее, определяя URL-адреса изображений на странице. выберите любую из них, чтобы увидеть их в маленьких миниатюрах. Таким образом, все было в порядке.После того, как все будет готово, и будет загружена очередь, запустил приложение, протестировал его, получил вывод в следующую очередь, и затем спроектировал и построил следующий шаг по конвейеру обработки.

Кевин: Да, я должен признать, что SQS был тем, что, когда я был объявлен обычным веб-разработчиком, это был один из сервисов. Мне было приятно, что они сделали это для меня. Я довольно быстро нашел применение SQS, не так ли?

Лукас: Да, мы любим очереди сообщений; мы всегда говорим о них. Действительно, большим преимуществом принятия очередей является то, что нам больше не нужно заставлять пользователей больше ждать. Итак, вы знаете, используя в качестве примера изменение размера изображения, когда пользователь загружает изображение на наш сайт, мы не заставляем его ждать, пока PHP-скрипт изменяет размер изображения, а затем перенаправляет их обратно, чтобы получить подтверждение или страницу успеха. Все, что мы делаем, — это помещаем задачу в очередь сообщений, и пользователь может выйти и продолжить навигацию по нашему сайту, а в фоновом режиме у нас есть несколько экземпляров EC2, которые отслеживают эти очереди и выполняют такие задачи, как изменение размера изображения, ведение журнала и обслуживание. операции, и тому подобное, поэтому на самом деле ключ в том, что мы не хотим заставлять наших пользователей ждать чего-либо, и, когда это возможно, мы отправляем задачу в очередь и просто позволяем одной из наших рабочих машин справиться с ней. Итак, другие примеры использования очередей — это такие вещи, как задачи cron и обработка транзакций, а также другие операции по обработке и обработке данных, с которыми мы просто не хотим, чтобы наши серверы приложений имели дело с. И поэтому, если у нас когда-нибудь возникнет ситуация, когда очереди становятся действительно занятыми или выполняют резервное копирование, все, что нам нужно сделать, — это включить новый экземпляр EC2, который запрограммирован для мониторинга этих очередей и выполнения задач, которые мы над ним ставим.

Кевин: Мне кажется, что SQS — это хорошая вещь, которую стоит посмотреть, когда вы перевели свой сайт на платформу облачного хостинга. Если в данный момент вы создаете веб-сайты в среде общего хостинга, это, вероятно, для вас как бы другой мир, но как только вы перенесете материал на облачный хостинг, а затем вы спросите, хорошо, возможно, я немного экономлю денег или, может быть, я трачу примерно столько же, но получаю гораздо больше гибкости, но что еще, какие еще преимущества для меня. И если вы посмотрите на SQS, это одна из вещей, которую вы получаете в инфраструктуре облачного хостинга, которую вы не обязательно получаете в более традиционной инфраструктуре, которая может реально повлиять на пользовательский опыт, который вы предоставляете своим пользователям. Если вы идете, да, мне не нужно выполнять всю обработку, которая исходит из конкретного запроса веб-браузера, прежде чем я отправлю им следующую страницу обратно, что это значит, как это может изменить и улучшить пользовательский опыт, особенно с сайтами, которые делают трюки Ajax, чтобы чувствовать себя как приложения; Такая гибкость становится действительно жизненно важной.

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

Кевин: Я хочу быстро перейти к следующей главе, но у нас есть один вопрос от Мэтта С., который спрашивает: «Являются ли сообщения в SQS долговечными?». И в интересах наших слушателей вам, вероятно, следует расширить этот вопрос. значит, прежде чем ответить на него.

Джефф: Хорошо, да, так что сообщения долговечны, и когда вы отправляете сообщение в SQS, оно сохраняется избыточно и затем сохраняется в течение настраиваемого промежутка времени. В основном вы кладете его туда, и он доступен в течение нескольких дней, пока не истечет срок его действия из очереди. Теперь, когда вы извлекаете сообщение из очереди для его обработки, происходит очень, очень интересный процесс. Когда вы берете это сообщение и готовы начать его использовать, оно фактически не удаляется из очереди, вместо этого оно просто временно становится невидимым для любых других приложений, которые могут пытаться извлечь данные из очереди, что дает вам временное окно во время которого вы фактически обработаете сообщение и затем передадите его тому, что должно произойти дальше. Если вы должны были извлечь это сообщение из очереди, и по какой-то причине ваше приложение упало и умерло по любой случайной причине, после того, как для сообщения истечет этот срок, сообщение снова появится в очереди, и другое приложение сможет забрать его и продолжить на. Таким образом, это также еще один элемент обеспечения надежности системы, так что вы не можете случайно остановить приложение, находящееся в процессе обработки сообщения, и просто потеряете это сообщение.

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

Джефф: Это верно. Итак, в этой главе я действительно строю из идеи отдельного сервера, одного хоста идею о существенном масштабировании, чтобы вы могли иметь несколько параллельных серверов, все выполняющих один и тот же код, чтобы при поступлении веб-трафика вы могли используйте распределитель нагрузки, чтобы распределить этот трафик к любому из доступных серверов. Затем вы можете посмотреть на все серверы, и с помощью нашего сервиса CloudWatch вы можете использовать автоматическое масштабирование, чтобы сказать, хорошо, набор серверов, которые работают, нагрузка на эти серверы, которая слишком высока, я просто запускаю другой сервер, ставлю это в балансировщик нагрузки, а затем распределить трафик между этими серверами. Поэтому, когда вы начинаете думать о том, как мне справляться с большими объемами трафика, как мне создать сайт, который действительно может увеличиваться и уменьшаться, чтобы я использовал только достаточное количество ресурсов, не слишком много, вы начинаете думать об автоматическом масштабировании и балансировке нагрузки для реализации этого. И в традиционных ситуациях, при традиционном хостинге, это очень, очень сложно и может привести к тому, что вам, возможно, потребуется привлечь посторонних, чтобы помочь вам настроить и настроить его, но с EC2 это просто или вы выходите из командной строки или Вы идете к консоли и пару кликов, и вы можете настроить автоматическое масштабирование и балансировку нагрузки, так что это гораздо проще сделать, это проще. В этой главе я хотел продемонстрировать, как можно протестировать, чтобы убедиться, что что-то масштабируется, поэтому я использовал то, что называется Apache JMeter, приложение с открытым исходным кодом, настроил мое приложение для автоматического масштабирования и использовал JMeter. отправить переменную нагрузку в эту систему, а затем заметить, что автоматическое масштабирование произошло так, как я и предполагал.

Кевин: Круто. Лукас, ты хочешь показать немного мониторинга, который мы проводим в SitePoint и 99designs, и как это работает для нас?

Лукас: Да, вы, ребята, видите мой экран сейчас?

Кевин: Да.

Лукас: Хорошо. В настоящее время мы рассматриваем только визуализацию нагрузки на серверы приложений, на которых выполняется 99designs, и это в течение последних 24 часов, так что сейчас почти 10:00 утра и процесс, который я выполняю. Обычно, когда я вхожу в офис, я загружаю этот интерфейс — он работает на RightScale — и проверяю, что серверы приложений делали всю ночь.

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

Лукас: Да, это верно, и это то же самое, что делает Amazon, консоль AWS. Одна из других функций RightScale — это возможность создавать, они называются шаблонами серверов, и в основном это набор сценариев или инструкций, которые сервер запускает при загрузке, поэтому у них действительно хороший интерфейс для управление в основном процессами конфигурации сервера и загрузки сервера, а также управлением версиями. Я не буду показывать это сегодня, но я действительно хотел просто показать, что это тот тип мониторинга, который мы можем получить, и мы можем вернуться к тому, что нам понравилось за последний год, месяц или квартал. Если мы посмотрим, я просто переключусь на эту другую вкладку, так что одна из вещей, которые я мог бы сделать, это посмотреть на слой базы данных для 99designs, и это за последний месяц, и мы можем увидеть здесь эту вершину graph — это загрузка ЦП для нашего мастера базы данных. И вы можете видеть, что загрузка ЦП в последние несколько недель росла, поэтому процесс, который я мог бы здесь пройти, заключается в том, чтобы работать с разработчиками, чтобы увидеть, вы знаете, возможно, просмотреть их журналы коммитов контроля версий и посмотреть, что было выпущено возможно, на 36 неделе началось такое увеличение использования процессора. Таким образом, наличие таких инструментов действительно очень удобно, и, как я уже сказал, консоль Amazon обеспечивает это; В настоящее время мы в основном используем RightScale, мы также экспериментировали с другим сервисом под названием CloudKick. Итак, это касается того, что мы используем для мониторинга.

Кевин: Хорошо. У нас есть вопрос, который, я думаю, вы могли бы ответить, Лукас; «Как это автоматическое масштабирование работает с базами данных?» «Например, если у вас много пользователей, оценивающих базу данных и добавляющих посты, как на форуме, станет ли база данных тупиком?» Это от Джастина Эрреры.

Лукас: Да, это хороший вопрос. И ответ часто весьма различен в зависимости от типа, профиля использования вашей базы данных. Так, например, форум — это что-то, что обычно читается с большим количеством запросов или с большим количеством запросов SELECT , так что, как вы знаете, варианты масштабирования этого уровня состоят в использовании конфигурации master и slave, куда вы отправляете свои запросы на чтение. для раба и защиты или защиты вашего мастера в действии и оставления мастера, чтобы иметь дело с INSERT и UPDATE . Исходя из этого, вы можете перейти к конфигурации, в которой у вас есть более одного ведомого устройства, так что вы в основном подключены к нескольким ведомым устройствам, реплицируете с этого главного сервера БД, а затем распределяете нагрузку по своим запросам SELECT для этих ведомых устройств. Я полагаю, что наступает момент, когда вам нужно справиться с нагрузкой на базу данных master, и вы знаете, что ее можно решить несколькими способами, вы можете либо масштабировать по вертикали и переключиться на мастер с высокой загрузкой процессора, либо что-то, что увеличило I Емкость / O, еще одна вещь, которую вы бы тогда посмотрели, возможно, это разделение вашей главной БД, так что вы по существу разбили свои таблицы БД на два мастера и начинаете идти оттуда.

Кевин: Хм-мм. В этот момент для сайтов в масштабе SitePoint и 99designs справедливо ли сказать, Лукас, что чтение базы данных порой становилось задушевной точкой, к которой нам приходилось масштабироваться, но записи в базу данных для нас еще никогда не доходили до этого момента?

Лукас: Да, это в основном верно, я бы сказал. Так, например, flippa.com, который довольно тяжело читается, недавно мы масштабировали по вертикали для ведомого БД, поэтому вместо добавления другого считывателя БД и перехода к конфигурации с несколькими считывающими устройствами или конфигурацией с несколькими ведомыми устройствами мы выбрали вертикальное масштабирование в этом отношении. , Однако бывают случаи, когда, и я думаю, Кев, вы, возможно, помните, что имели дело с обновлениями сессии —

Кевин: О да!

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

Кевин: Круто. У нас был еще один вопрос от Мэтта С., и вот по поводу масштабирования. Он спрашивает: «Настраивается ли эта конфигурация для автоматической репликации содержимого / настроек с основного узла на ферму? Джефф, ты хочешь поговорить о стратегиях для такого рода вещей?

Джефф: Конечно. Это вопрос, который я мог бы написать половину книги о том, как вы можете это сделать. Итак, один из способов сделать это — использовать Amazon Simple DB, о которой мы поговорим ниже, в основном, для хранения конфигураций и настроек. Другой способ сделать это — настроить экземпляры EC2, также создавая тома виртуального диска, которые называются EBS, тома Elastic Block Storage. После того, как вы их создадите, вы можете перейти к консоли и просто щелкнуть мышью и превратить их в снимки. Затем вы можете при каждом запуске нового экземпляра создавать отдельные тома дисков из этих снимков. Поэтому, если у вас есть справочные данные или данные только для чтения, вы можете просто создавать новые копии виртуальных дисков при каждом запуске дополнительных экземпляров.

Кевин: Да. Это действительно гибкая система. Я думаю, что единственный определенный ответ, который вы можете дать на что-то подобное, — у вас есть много вариантов, и есть много людей, готовых дать вам совет для этого.

Джефф: Это звучит примерно так.

Кевин: Итак, давайте перейдем к восьмой главе и Amazon Simple DB, которые, я должен признать, не имеют никакого опыта работы с этим конкретным сервисом. Я не знаю, используем ли мы это где-нибудь в SitePoint. Лукас?

Лукас: Вы знаете, да, у нас нет большого опыта с этим, но мы весьма оптимистично использовали его, когда пытались написать клон, по сути, Google Analytics. Это была сумасшедшая идея, и это было довольно забавно, и мы ее больше не используем, но, безусловно, Simple DB был как бы правильным выбором для чего-то подобного, с нашей точки зрения.

Кевин: Хорошо, так проведите нас через Даб Джефф?

Джефф: Итак, Simple DB разработан, чтобы быть очень простым и очень простым способом хранения больших объемов данных, не беспокоясь о многих деталях. Вы просто создаете структуру хранения, которую мы называем доменом, и затем начинаете хранить каждую строку в этом домене как набор пар атрибут-значение. И простая вещь в Simple DB заключается в том, что вам не нужно иметь одинаковый набор имен атрибутов в каждой из строк вашей базы данных, поэтому у вас есть большая гибкость для изменения ваших структур данных при изменении приложения. Например, когда у вас есть традиционная реляционная база данных, вам нужно потратить некоторое время на предварительное проектирование вашей схемы, и если вы заполняете свои таблицы парой сотен тысяч или парой миллионов строк, а затем вы говорите, что у вас есть отличная идея, и вы говорите, хорошо, Теперь давайте обновим базу данных, добавив в нее новый столбец, который может фактически перевести вашу базу данных в автономный режим на часы, часы и часы. Таким образом, модель Simple DB позволяет избежать этого, позволяя вам иметь эту гибкую структуру хранения, которая является динамичной и более адаптируемой к вашим потребностям. Теперь это то, что называется NOSQL или нереляционной базой данных, поэтому вы всегда сосредотачиваетесь на одном домене, у него отличная модель SELECT но нет модели соединения, поэтому вы всегда извлекаете данные из один домен. В книге я привожу пример обработки RSS-каналов и показываю — я использую гибкие схемы, потому что разные RSS-каналы содержат разное количество деталей в информации заголовка, и мне вообще не нужно ничего хранить для каналы, которые не имеют этой дополнительной информации.

Кевин: Я знаю, что у NOSQL есть некоторое волнение — я думаю, вы могли бы почти назвать это движением — среди разработчиков здесь, в SitePoint. Лукас, что ты думаешь об этом?

Лукас: На самом деле это тот инструмент, который подходит для работы, да.

Кевин: Итак, есть особые типы приложений, в которых отказ от соединений с базой данных дает вам преимущество в производительности, гибкости; что вы получаете взамен?

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

Кевин: Круто. Есть ли что-нибудь еще, что ты хотел сказать о Simple DB, Джефф?

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

Кевин: Мне интересно, как у каждого из этих сервисов свой вид, я думаю, что в традиционном мире есть очень четкая грань между тем, что делает хостинг и сервер, тем, что делает ваш системный администратор, и тем, что разработчики делают, ваши разработчики работа над. И многие из этих сервисов действительно смешивают это и создают серые области между этим черно-белым миром. И это похоже на то, что прямо посередине, что с одной стороны это может действительно упростить работу вашего системного администратора, потому что им не нужно поддерживать, скажем, сервер баз данных MySQL, который может работать с огромными объемами данных, но на конце программирования это действительно влияет на то, что вы делаете; это изменит способ написания ваших приложений, если вы планируете использовать базу данных, такую ​​как Simple DB, а не MySQL.

Джефф: Это верно. И для меня это отражение того, что, как я вижу, происходит в стартапах и небольших организациях все время: в более крупной организации у вас есть разработчики, у вас есть оперативный персонал, у вас есть эксперты по базам данных, у вас есть все эти разные специальности, и каждый человек может внести свой вклад их уникальные знания для создания приложения. В небольших организациях, особенно в стартапах, просто нет таких разных людей; довольно часто один человек должен быть способным быть мастером на все руки и должен уметь строить, проектировать, развертывать, эксплуатировать, контролировать и обслуживать. И поэтому мы определенно размыли разработку по сравнению с операциями, и я думаю, что теперь есть фраза под названием «dev ops», которая действительно воплощает идею, что разработчик часто является оператором.

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

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

Кевин: Итак, глава девятая, RDS.

Джефф: Хорошо. Таким образом, RDS является одним из новейших сервисов, и это сокращение от Relational Database Service. Таким образом, идея здесь заключается в том, что мы взяли базу данных MySQL с открытым исходным кодом и поместили некоторые обертки внизу и поверх нее, если хотите, чтобы позаботиться о многих более сложных проблемах фактического запуска реляционного база данных. Таким образом, вам не нужно беспокоиться о покупке оборудования, установке ОС, установке в MySQL, работе с исправлениями MySQL, работе с резервными копиями, работе с масштабированием, работе с нехваткой дискового пространства; все эти вещи просто встроены в сервис, и вы можете создать полностью работоспособную базу данных MySQL с помощью пары кликов в консоли. После того, как вы это настроите и запустите, вы можете легко щелкнуть снова и сделать резервные копии снимков, вы можете масштабировать объем вычислительной мощности, который у вас есть, либо вверх, либо вниз, вы можете добавить дополнительное хранилище, вы можете создавать новые экземпляры базы данных из ваших резервных копий снимков и так что всякая невеселая боль в шее, то, что вам нужно сделать, чтобы запустить рациональную базу данных, было действительно упрощено, это всего лишь пара кликов в консоли.

Кевин: То есть, это не тот или иной выбор между Simple DB и RDS, в данном приложении вы можете использовать Simple DB для одного типа данных и RDS для другого, и вы можете использовать оба сервиса бок о бок. ,

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

Кевин: Итак, Лукас ранее говорил о том, что относительно просто масштабировать MySQL, работающий как набор экземпляров службы EC2, так, как мы это делаем. Относительно легко масштабировать, если вам просто нужно больше возможностей для запросов SELECT , только для чтения запросов, но это становится все сложнее, когда вам нужно масштабировать на стороне записи до уровня запросов INSERT , UPDATE , DELETE . Так что, когда вы дойдете до такого рода вещей, будет ли это естественным моментом, когда все будет хорошо, мы перестанем управлять нашими собственными экземплярами MySQL, и сейчас мы будем смотреть на что-то вроде RDS?

Джефф: Вероятно, не стоит ждать, пока вы окажетесь в панике, потому что люди могут (смеется) — мне всегда нравится быть — я больше похож на планировщика, и я всегда, когда меня удивляют вещи Я мысленно шлепаю себя и говорю что-то такое, чего мне следовало ожидать. Но с RDS у вас есть выбор из пяти экземпляров разных размеров, которые варьируются от 1,7 гигабайта оперативной памяти до 68 гигабайт оперативной памяти. Поэтому, если вы начнете с чего-то маленького или чуть большего размера, чем маленького, у вас будет большой запас мощности для наращивания с дополнительной вычислительной мощностью по мере изменения ваших потребностей. Когда вы начнете говорить, ну, самое большое из того, что мы можем вам предложить, может как-то увидеть, что вы достигнете своих пределов, вам действительно нужно задуматься о добавлении кэширования, может быть, вам нужно подумать о построении диаграммы базы данных различными способами, и эти это глубокие архитектурные решения, это не те вещи, которые вы просто хотите полюбить вечером, когда вещи внезапно становятся занятыми.

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

Джефф: Это была идея. Я хотел, чтобы люди могли легко начать работу, но я надеюсь, что они появятся на их полке в течение нескольких лет.

Кевин: Круто. Просто ради блага наших слушателей, да, мы бежим немного долго, сейчас пять минут десятого. Мы планировали уехать на час, но мы хорошо проводим время здесь, и никто не должен действительно убегать, поэтому, пожалуйста, оставайтесь с нами; Я бы сказал, что у нас есть еще 15, 20 минут, у нас есть еще две главы, и я хочу определенно убедиться, что у нас есть время ответить на все ваши вопросы. Говоря об этом, у нас есть пара вопросов по поводу этого слоя базы данных. Мы ответили на некоторые из них немного косвенно, но я хочу убедиться, что мы получим прямые ответы. Питер Готкиндт спрашивает: «Является ли Simple DB быстрой по сравнению с MySQL?»

Джефф: Ах, так что мы всегда рады услышать этот ответ, «это зависит», конечно, это действительно, действительно зависит от конкретной ситуации. Потому что одна из вещей, которую Simple DB делает для вас автоматически, заключается в том, что при хранении данных вам не нужно делать выбор, как вы делаете в реляционной базе данных, какие столбцы эффективно индексировать. Простая БД просто индексирует все столбцы, и во время записи есть небольшая цена, чтобы фактически сделать это — я говорю о стоимости обработки — чтобы фактически выполнить эту дополнительную индексацию, но вам не нужно беспокоиться, когда вы сделать запрос, вам не нужно хорошо думать, я помню, чтобы индексировать это конкретное поле или нет. Так что Simple DB настроена так, чтобы быть очень, очень отзывчивой во многих разных случаях. На стороне реляционной базы данных, и это своего рода функция и проблема для любой реляционной базы данных, у вас есть много детального контроля над различными параметрами, под которыми работает база данных, так что вы можете выбрать, что индексировать, Что касается индексов, вы можете часто выбирать типы таблиц, вы можете выбрать ряд параметров для размеров буфера и для различных параметров кэширования, очистки и индексации. Итак, я бы сказал, что Simple DB даст вам прямую производительность и не потребует много настроек. RDS даст вам хорошую производительность из коробки, я думаю, что на самом деле нет ничего из коробки, когда вы находитесь в облаке, но будет хорошая производительность, когда вы начнете, и у вас будет возможность, если ваша рабочая нагрузка Это очень, очень особенное в какой-то конкретной области, вы можете перейти в группы параметров RDS и начать точную настройку распределения памяти и тому подобное.

Кевин: Круто. Джейсон Мейс спрашивает: «Значит ли это, что мы должны переписать наши веб-приложения для использования нескольких баз данных или Amazon поддерживает что-то вроде XERound?» Я не знаком с XERound; Лукас, это то, о чем ты знаешь?

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

Кевин: Хорошо, может быть, вы могли бы поговорить о том, как, когда мы впервые переехали в Amazon, что требовалось от нас в наших приложениях для доступа к базам данных, какие изменения, если таковые были, мы должны были сделать?

Лукас: Да, я имею в виду, что в то время это действительно заставило нас задуматься о различных типах сценариев сбоев и модифицировать наши приложения для их решения. В частности, чтобы сделать слой базы данных, нам пришлось изменить нашу библиотеку БД, чтобы запросы INSERT , UPDATE и DELETE были отправлены на главный сервер, а операции чтения были отправлены на ведомое устройство, если это то, что мы хотим сделать. Я не думаю, что это было огромное изменение, как, например, это конкретное изменение в наших приложениях, так что есть варианты; если вы используете какой-то материал с открытым исходным кодом, например, vBulletin или WordPress, или тому подобное, я думаю, что у них есть несколько плагинов и различные другие модификации, которые вы можете сделать, которые довольно легко справятся с этим. Да, я думаю, что это покрывает это.

Кевин: Круто. Джефф, ты вообще хотел расширить этот ответ?

Джефф: Конечно. Итак, есть еще одна вещь, которую следует учитывать, что при запуске инстансов EC2 это просто старые старые серверы Windows или Linux, когда вы переходите к нему, и вы не хотите запускать MySQL, если есть другая база данных с открытым исходным кодом. или коммерческий, вы можете просто установить и запустить его на своем экземпляре EC2. На самом деле у нас есть отношения с рядом коммерческих поставщиков баз данных, у нас есть DB2, у нас есть Postgres, мы только что объявили о взаимоотношениях с Oracle, где они фактически позволят вам запускать экземпляры баз данных Oracle в облаке. различных стилей, которые создают стиль, где вы можете использовать RDS и полностью управлять всем для вас, или вы можете просто перенести существующий код в облако и запустить его там.

Кевин: Хорошо, таким образом, я отвечаю на этот последний вопрос Джованни Кастильо, который говорит: «Но я понимаю, что я могу получить доступ к серверу MySQL в моем приложении другими способами, кроме RDS, могу я / я должен?» Итак, это снова один из тех вопросов «это зависит», но вы, Джефф, говорили, что если вы хотите упростить миграцию в облако, то в большинстве случаев вы можете воспроизвести все, что у вас есть, в своей традиционной инфраструктуре в облаке, и после того, как он будет запущен, вы можете начать думать о том, хотите ли вы изменить дизайн, чтобы воспользоваться некоторыми уникальными преимуществами, которые вы получаете с облачным хостингом.

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

Кевин: Хорошо, отлично. Итак, я думаю, что мы готовы перейти к десятой главе, которая называется Advanced AWS. Мне нравится хорошая продвинутая глава, но, говоря сама за себя, многие вещи, которые мы уже рассмотрели, чувствуют себя довольно продвинутыми, если вы сейчас размещаете свой сайт на общем хостинге. Так что же более продвинутое, чем то, что мы уже видели?

Джефф: Итак, альтернативное название для этого было бы «Это то, что я надеялся осветить в некоторых из предыдущих глав, но у меня не было места для этого, но было слишком круто, чтобы не упоминать об этом», так что не вписывается в эту линию (смех). Итак, некоторые люди всегда спрашивали меня, например, как я могу получить более подробную картину того, как я использую ресурсы AWS, поэтому у меня есть пример, который показывает, как вы можете загрузить наши CSV-записи обо всех используемых вами сервисах, сохранить их в Simple DB, а затем я также любезно покажу вам, как использовать запросы Simple DB для обработки этих данных различными способами. Я показываю читателям, как использовать Elastic Block Storage; на самом деле создавать тома RAID поверх EBS для больших томов или для дополнительной пропускной способности. Есть такая действительно интересная идея, которая называется «Метаданные экземпляра», где вы можете передавать данные в свои экземпляры EC2 при запуске, и вы также можете опросить свою среду, чтобы выяснить, где работают ваши серверы, каков их IP-адрес, и я покажу вам, как чтобы получить доступ к этому. И потом, последнее, что я сделал, и признаюсь, что мне было очень весело с этим, я хотел еще раз поговорить о всей модели программируемой инфраструктуры, и на этот раз не создавая инфраструктуру, а фактически опрашивая облако и говоря: Что именно у меня запущено? »И поэтому я показываю читателям, как создать небольшое приложение для создания диаграмм, и что оно делает, это называется облаком и говорит, что дайте мне список моих экземпляров EC2, второй вызов говорит, что дайте мне список из всех моих томов виртуального диска EBS, а затем третий вызов дает мне список всех снимков или резервных копий, которые я сделал из этих томов, а затем с некоторыми очень и очень простыми графическими операциями и библиотекой PHP GD я просто вытягиваю диаграмма, которая показывает вот мои серверы, вот дисковые тома, подключенные к каждому серверу, а затем вот все резервные копии снимков, которые мы имеем на каждом из этих томов. Так что это довольно простое, но я думаю, действительно, действительно классное приложение для инвентаризации, которое просто говорит, что мы можем спросить у Облака, каковы мои ресурсы, и я могу узнать все, что мне нужно знать о каждом из них.

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

Джефф: Признаюсь, нам было очень весело собрать эту книгу.

Кевин: Лукас, ты хотел что-нибудь сказать об этом? Есть ли какие-нибудь веселые выходные или ночные эксперименты, которые вы хотели рассказать нам о том, что вы, ребята, сделали там?

Лукас: Ну, просто касаясь этого материала, Джефф говорил о метаданных экземпляра, которые мы используем или использовали довольно широко. Я уже упоминал об этом ранее, когда говорил о том, что мы склонны не слишком часто использовать настроенные образы машин, а вместо этого мы склонны передавать данные в экземпляр, чтобы при загрузке он мог настроить себя как сервер приложений или рабочий сервер или прокси-сервер или что-то в этом роде. И это на самом деле действительно крутой материал для работы. Мы очень любим EBS, или Elastic Block Storage, просто потому, что он дает нам большую гибкость и позволяет нам в основном клонировать сервер базы данных, вообще не мешая его работе. Да, смотри, на самом деле, я бы сказал, что в этой главе не так уж много всего, на что меня действительно волнует — я немного болтаю, когда смотрю на все графики использования CPU, графики загрузки и тому подобное, и я определенно согласен с тем, что Джефф говорил о внесении одного изменения за раз, потому что довольно удивительно видеть различия, которые могут вносить тонкие изменения, особенно когда у вас есть команда разработчиков, которые ежедневно выпускают код на серверы основа, вещи могут определенно стать волосатыми время от времени.

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

Джефф: Хорошо, поэтому в этой главе я действительно хотел иметь законченное приложение, которое показывало бы читателям, как использовать несколько различных сервисов вместе для создания приложения. А в США сайт Craigslist очень и очень популярен, поэтому я сказал, могу ли я создать очень, очень простую систему классифицированных объявлений, которую я мог бы задокументировать и полностью объяснить внутри главы, и оказалось, что у меня EC2, а у меня S3 Простая база данных. Я создал простую, но полностью функциональную систему классифицированных объявлений, состоящую из примерно 500 строк PHP, поэтому я смог сделать это, и, как и все остальное, было просто забавно собрать все это вместе, придумать то, что я хотел данные, которые должны выглядеть, и настройка ряда инструментов командной строки для создания новых состояний и новых городов для этого, а затем у меня были инструменты командной строки для загрузки данных; поэтому, прежде чем я начал работать в Интернете, у меня был набор инструментов командной строки, чтобы дать мне базовую возможность редактировать и проверять данные. А потом создать веб-интерфейс было довольно просто, хотя мои навыки веб-дизайна очень и очень плохие, а плавающие div ы и цвета фона примерно такие же причудливые, как я знаю, как их получить.

Кевин: Круто. Итак, давайте… Итак, это было приложение PHP, которое вы собрали. Я хочу ответить на этот вопрос: что если вы не являетесь разработчиком PHP, если вы привыкли работать на языке, таком как Python, Ruby или даже ASP.NET, чему вы можете научиться из этой книги.

Джефф: Так что я думаю, что одна вещь, которая всегда привлекала меня к PHP — это довольно читаемый язык. Вещи изложены, это не похоже на некоторые другие языки, например, когда я пытаюсь читать Perl, большая часть семантики как бы скрыта под поверхностью и вызываются какой-то забавно выглядящей пунктуацией или подразумеваемым, что вы Я просто должен знать, каковы правила, я думаю, что PHP намного более очевиден и намного проще, поэтому я думаю, что у разработчиков, привыкших к любому другому языку сценариев, не должно быть проблем с чтением и пониманием того, что происходит с PHP, и я подозреваю, даже если они не знали PHP с самого начала, что они могли бы начать писать некоторые приложения всего за пару глав.

Кевин: Да, круто, я согласен. Хорошо, давайте углубимся в некоторые вопросы здесь. Я собираюсь попросить Джеффа и Лукаса, пожалуйста, не будьте слишком вежливы, если у вас есть что сказать, нырните сюда. Итак, первый вопрос с самого начала: у нас есть Джейсон Мейс, который спрашивает: «Можете ли вы как-нибудь ограничить свой ежемесячный бюджет?» «Я не хочу получать счет на миллион фунтов, если получу Slashdotted».

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

Лукас: Да, я бы сказал, что отворачивать людей от дверей — большая ошибка.

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

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

Кевин: Хорошо, у меня здесь очень конкретный вопрос. Это от Дэвида Кастро, который спрашивает: «Я консультируюсь с разработчиком виджетов, у которого есть серверный компонент для их инструментария, продукт довольно дорогой, поэтому я предложил, чтобы у них был платный AMI, Amazon Machine Image, чтобы платить за свой продукт часами час; однако, если им нужно загрузить ключ продукта на сервер, размещенный в экземпляре, как он будет удерживать клиента от копирования этого файла на свой сервер и пиратства лицензии? »

Джефф: Хорошо, глубокий вопрос, поэтому я, наверное, должен объяснить идею платного AMI.

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

Кевин: Так это круто. Я полагаю, что вопрос заключается в защите от копирования; Когда ты собираешься получить доступ к вашей платформе AMI

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

Кевин: Круто.Эгимону говорит: «Могут ли небольшие фирмы, которые используют обычные повседневные бизнес-услуги, пользоваться облачным хостингом? В принципе, выгодно ли им пользоваться услугами? ». Я хочу, чтобы это был вопрос для бизнеса.

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

Кевин: Круто.Сегодня я прислал несколько вопросов. Он говорит: «Как некоторые из этих API работают с точки зрения моего приложения?». PHP, .NET и т. Д. Я хочу делать необработанные или REST-представления для доступа к этим вещам? »

Джефф:Хорошо, Мэтт, так что у нас есть набор инструментов для нескольких языков. У нас есть ряд сторонних разработчиков, которые также разработали набор инструментов для разных языков. Если вы действительно, действительно хотите, вы можете сделать необработанные вызовы REST или необработанные SOAP, и мы покажем вам, как это сделать; Это должно быть сложно, потому что вы должны выполнить эту задачу.Чтобы мы могли быть уверены в том, что он притягивает вас.

Кевин: Дэвид Биер спрашивает: «Экземпляр Micro действительно полезен, чтобы поставить свой почтовый сервер на экземпляр Micro, это идеальная вещь для запуска на экземплярах Micro при низкой нагрузке?»

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

Кевин: Круто, так что это зависит от того, сколько электронной почты ты получил, Дэвид.

Джефф: Да, и, возможно, сколько он обрабатывает спама и тому подобное.

Кевин: Здесь есть пара взаимосвязанных вопросов. Рон П. спрашивает: «Существует возможность использовать мой собственный сервер».

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

Кевин: Круто.Таким образом, самая большая часть соответствует большой части инфраструктуры.

Джефф: Да, это фактически само по себе как сервер. Он называется «Большой Большой Четырехместный Очень Большой». У него восемь виртуальных ядер, 68 гигабайт оперативной памяти, 1,7 терабайта локального диска, и все это за 2,40 доллара в час.

Кевин: Круто.Я хочу услышать твой ответ на этот вопрос. «Если я настраиваю экземпляр EC2 с установкой Apache и PHP на сервере моего веб-сайта, мне нужно беспокоиться об установке обновлений программного обеспечения в соответствии с последней версией Apache, исправлений ОС и т. Д.? »Для этого?

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

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

Лукас: Да, я бы определенно согласился с этим.

Кевин: Что бы вы предложили, Джефф?

Джефф: Итак, есть пара разных мнений, и одна из них считает, что вы должны просто создавать новые золотые AMI с новыми патчами, и вы просто убиваете свои старые экземпляры и запускаете новые из новых МАСС. Таким образом, вы можете использовать сценарий или использовать инструмент рецепта, такого как кукольный или шеф-повар, для создания своих мастеров, и вы должны иметь полный контроль над тем, что там происходит.

Кевин: Хорошо. Дэвид Биер спрашивает: «SNS — это новая услуга, которую я действительно вижу интенсивно используемой, как я предполагаю, что функции будут передаваться в сообщении простую информацию?» Я думаю, он может говорить о SQS.

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

Итак, SNS — это сокращение от Simple Notification Service, и это в основном модель публикации и подписки на основе тем. Таким образом, вы можете публиковать в этих темах и при публикации в теме все получатели будут уведомлены по электронной почте или через HTTP, что была опубликована для них.

Кевин: Значит, это как PUSH SQS, верно?

Джефф: Итак, SQS — это модель, основанная на очереди, где фактически есть хранилище, тогда как SNS — это немедленная доставка; Вероятно, миллисекунд.

Кевин: Извини, я тебя там отрезал, Лукас.

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

Джефф: Звучит отлично.

Кевин: У нас есть замечательный вопрос от Питера Готкиндта, который спрашивает: «Как лучше всего рассчитывать на время отключения сервера, а не платить за 30 секунд нового? час? »Биллинг действительно работает в часах?

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

Кевин: Круто.И я вижу пару хороших заключительных вопросов, но я хочу убедиться в этом; просто пара быстрых пушек здесь для тебя, Джефф. Sparc для Solaris?

Джефф: Не так, насколько я знаю. Этот вопрос возникает всегда. Спарк, так что это будет запрос на 2010 год, и я с нетерпением буду ждать запроса 2011 года (смех).

Кевин: Значит, год, когда тебе это нечего делать?

Джефф: Серьезно, если кому-то это действительно нужно, не стесняйтесь, присылайте мне письма с дополнительной информацией о том, что вам нужно, и я буду рад передать это команде разработчиков. Если хотите, чтобы кто-нибудь захочет отследить меня.

Кевин: Хорошо.Мэтт С. спрашивает: «В этой сфере есть какие-то опасные данные о владении данными в облаке, какие-либо мысли или комментарии со стороны SitePoint, а также о ваших данных, когда они размещены на виртуальных серверах Amazon?»

Джефф: Да, это все время возникает, это связано с красной сельдью. Мы не заявляем о принадлежности ваших данных. Вы сохраняете его в облаке, когда хотите, где хотите, вы решаете, когда хотите удалить его, у вас есть полный контроль. Вы можете хранить его в США, в Азии или Европе. Я думаю, что это все из-за облачных мифов. и отказывается давать это обратно вам или что-то. Определенно не тот случай.

Кевин: Я знаю, что иногда у нас есть стратегия, что в худшем случае Амазонка исчезает в одно время, у нас все еще есть стратегия.

Лукас:Да, конечно. Я бы сразу сказал, что у вас есть большой контроль, вы всегда можете зашифровать их. Итак, MySQL, мы склонны к репликации. MySQL из среды EC2, которая обычно является нашим офисом, поэтому, если не хочу бог, Amazon полностью исчезнет, ​​очевидно, MySQL, и мы могли бы запустить ее где-то еще, если что-то случится. Амазонка в другом месте, чтобы при необходимости их можно было запустить где-то еще.Я бы сказал, что это не вызывает особого беспокойства.

Кевин: Хорошо.Адам Бернс говорит: «Я занимаюсь бизнесом, я не технический специалист, а мы просто переходим на AWS. Сегодня было немного над моей головой. Альтернатива для нетехнических специалистов? »

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

Кевин: Да, я бы сказал, что вы можете купить книгу, прочитать первые пару глав. Мы хотели бы услышать некоторые отзывы об этом. Давайте посмотрим, что мы здесь убиваем. Давайте обратимся к Рону П., который говорит: , кроме динамической инфраструктуры, я видел только SQS и Simple DB; звучит примерно так?

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

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

Джефф: Я бы согласился, и поэтому мы можем сказать, что Облако дает вам возможность получить такую ​​гибкость на более позднем этапе. Итак, что-то, что происходило в этой отрасли довольно часто. Облако »не нужно называть облаком. Чтобы это привлекло внимание людей.

Кевин: Хорошо, так что я думаю, что мы завершим это на этом этапе; могут быть, подкались мыслями.

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

Лукас: Я думаю, что все, что я действительно хотел бы сказать, это просто поблагодарить всех за то, что они пришли, и я всегда очень рад поговорить с этим магазином. адрес lucas на сайте. com, если вы хотите больше задавать вопросы; Я всегда рад поболтать об этом.

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

Кевин: На этом фронте в настоящеевремя на домашней странице sitepoint.com есть пост об этой сессии, Я думаю, что это все из-за нас в SitePoint, так что это было первое онлайн-семинар, который мы провели. там, просто отправляйтесь на сайт Pointpoint. com и щелкните историю на этом веб-семинаре на первой странице, оставьте нам комментарий и дайте нам знать, если вы хотите, чтобы мы делали это снова, и возможно, даже некоторые темы. от нас о. (Смеется)

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

И спасибо за прослушивание подкаста SitePoint. Если у вас есть какие-либо мысли или вопросы по поводу сегодняшнего интервью, пожалуйста, свяжитесь с нами.Вы можете следить за SitePoint в Твиттере @sitepointdotcom , и вы можете найти меня в Твиттере @sentience . Посетитеsitepoint.com/podcast, чтобы каждый из них автоматически подписывался. Мы вернемся на следующей неделе с новым показом новостей и комментариев с нашей обычной группой экспертов.

Этот эпизод подкаста SitePoint был создан Карном Броудом, а я — Кевином Янком. А сейчас до свидания!

Тема музыки Майка Меллы .

Спасибо за прослушивание! Не стесняйтесь сообщить нам, как у нас дела, или продолжить обсуждение, используя поле комментариев ниже.