Обновить
0

Google App Engine *

Платформа для размещения приложений

Сначала показывать
Порог рейтинга
Уровень сложности

Кэши для «чайников»

Время на прочтение12 мин
Количество просмотров38K
Кэш глазами «чайника»:


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

Давайте прокрутим полный оборот ситуаций.

Tl;dr: добавляя в архитектуру кэш важно явно осознавать, что кэш может быть средством дестабилизации системы под нагрузкой. Смотрите конец статьи.
Читать дальше →

Google избавляется от частных клиентов в России

Время на прочтение2 мин
Количество просмотров73K
Вчера получил из Google письмо, в котором говорится:
Добрый день!

Вы получили это сообщение, так как пользуетесь Google Cloud Platform, Firebase или API. Сообщаем Вам об изменении в работе сервисов Google Cloud, которое затронет Ваш аккаунт.

Начиная с 7 декабря 2016 г. сервисы Google Cloud Platform, Firebase и API можно будет использовать в России только в коммерческих целях. В связи с этим 7 декабря 2016 г. тип Вашего аккаунта будет изменен на юридическое лицо вместо физическое лицо.

Тип аккаунта «Юридическое лицо» означает, что Вы используете его в коммерческих целях. Владельцем такого аккаунта может являться коммерческая организация, аффилированное лицо, индивидуальный предприниматель или товарищество.

Мы не будем включать НДС в платежи по Вашему аккаунту, и Вам необходимо будет самостоятельно рассчитывать сумму налога по ставке, установленной в России.

Если Вы используете службы Google Cloud Platform, Firebase и API в некоммерческих целях, Вам следует отказаться от их использования до 7 декабря 2016 г. Для этого нужно отключить оплату для всех проектов. Подробнее об изменениях читайте в Справочном центре.

Если у Вас есть вопросы, обратитесь в службу поддержки Google Cloud или к менеджеру по работе с клиентами.

Читать дальше →

Пример получения данных из AWS Cloudwatch используя Google Script

Время на прочтение2 мин
Количество просмотров4.6K
Cloudwatch Log это сервис AWS в который приложения или Bash скрипты могут отправлять данные в виде строк или JSON, потом их можно найти или построить различные графики средствами того же AWS.

Как то раз у меня возникло желание получить данные из AWS Cloudwatch Log, обработать их особым образом и красиво представить в виде графика. Google Spreadsheet хорошо справляется с визуализацией данных, и ранее для подобных задач я загружал в него данные используя Ruby. Но тот же ruby скрипт нужно где-то хостить и периодически запускать, а все что он будет делать это запрашивать данные из одного API (AWS) и ложить их в другой (Spreadsheet). Хорошо бы, если бы Spreadsheet сам мог бы запрашивать данные, и оказывается он может, используя Google Script. Удивительно, сколько всего на самом деле умеют гугл доки.

Google Script позволяет не только создавать пользовательские функции и макросы используя JavaScript, но и обращаться к внешнему API.
У AWS есть SDK под JavaScript, так что я не ожидал никаких сложностей, но не тут то было. Оказалось, что этот SDK будучи импортированным в проект GS не может найти объект «window» и не работает.

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

Читать дальше →

Как я поменял основной домен в Google Apps

Время на прочтение2 мин
Количество просмотров24K
Недавно мне понадобилось организовать почтовый сервис для небольшой фирмы. И я вспомнил про завалявшийся у меня бесплатный аккаунт в Google Apps. К сожалению, основной домен, к которому аккаунт был привязан давно почил в бозе и оказался занят на текущий момент. Благо, к аккаунту были привязаны несколько дополнительных бесплатных доменов, один из которых оказался свободным и я его снова зарегистрировал. И тут передо мной возник вопрос, который вынесен в заголовок. Знакомая ситуация? Если обратиться к справке уважаемого Google, то узнаем, что это сделать невозможно.
Читать дальше →

Как работает Google Поиск?

Время на прочтение9 мин
Количество просмотров62K
Как работает Google Поиск, основные алгоритмы обновлений



В наше время поисковые системы, в частности Google, напоминают «витрину» Интернета и являются наиболее важным каналом распространения информации в цифровом маркетинге. С помощью глобальной рыночной доли, которая составляет более 65% по данным за январь 2016 года, Google явно доминирует в поисковой индустрии. Хотя компания официально не раскрывает степень своего роста, к 2012 году было подтверждено, что их инфраструктура обслуживает около 3 миллиардов поисковых запросов в день.
Читать дальше →

Аналитика Instagram и GAE

Время на прочтение4 мин
Количество просмотров8.4K


Некоторое время назад на Хабре была опубликована статья про поиск похожих аккаунтов в Twitter'e. На комментарии автор, к сожалению, не реагировал, потому пришлось изобретать велосипед. Но чтобы не делать уж совсем то же самое, было решено искать похожие аккаунты в Instagram с помощью Google App Engine, да так, чтобы воспользоваться сервисом мог каждый. Так появился instalytics.ru*.

Самое сложное...

Google Cloud Storage c Java: изображения и другие файлы в облаках

Время на прочтение15 мин
Количество просмотров14K
В продолжение серии статей о веб-разработке на Java на платформе Google App Engine / Google Cloud Endpoints рассмотрим сервис для облачного хранения файлов Google Cloud Storage.

В целом схема выглядит следующим образом: сервер на бэкэнде генерирует временную ссылку (адрес) для передачи файла в определенный контейнер (bucket) нашего хранилища, которая на фронтэнде вставляется в форму для передачи файла. Пользователь на указанный адрес посылает POST HTTP-request с одним или несколькими файлами в теле запроса, файлы принимаются и размещаются в хранилище, и HTTP-request вместе с данными о размещенных файлах принимается сервлетом, который обработав информацию о размещенных файлах, возвращает пользователю HTTP response: JSON или text/html, или в общем что пожелаем.

Файлы сохраняются в хранилище, у сервлета есть в распоряжении ключ который дает возможность доступа к файлу, в частности можно выдать файл пользователю с помощью другого сервлета либо создать «статичную» ссылку (https://).
Доступ к хранилищу также доступен через веб-интерфейс, и из командной строки с помощью утилиты gsutil.
Читать дальше →

Cайт на Django-nonrel на платформе Google App Engine для Python

Время на прочтение3 мин
Количество просмотров8.9K
В этой статье я хочу немного рассказать о разработке своего проекта — сайта egaxegax.appspot.com.

Поскольку являюсь большим поклонником языка Python, свой сайт я решил создать на популярном фреймворке Django. Чтобы использовать его на бесплатном хостинге appspot.com, адаптировал код для использования NoSQL версии Django и платформы Google App Engine (GAE).

Читать дальше →

Работа с базой данных в Google App Engine/Google Cloud Endpoints на Java: фреймворк Objectify

Время на прочтение10 мин
Количество просмотров12K
В предыдущих статьях («Google Cloud Endpoints на Java: Руководство. ч. 1», «Google Cloud Endpoints на Java: Руководство. ч. 2 (Frontend)», «Google Cloud Endpoints на Java: Руководство. ч. 3») мы разбирали создание API на Google Cloud Endpoints и фронтенда к нему на AngularJS.

Однако руководство по созданию API было бы неполным без работы с базой данных.

В этой статье мы рассмотрим фреймворк Objectify для работы с встроенной в GAE базой данных App Engine Datastore.
Читать дальше →

Google Cloud Endpoints на Java: Руководство. ч. 3

Время на прочтение4 мин
Количество просмотров7.1K
предыдущие части:
Google Cloud Endpoints на Java: Руководство. ч. 1
Google Cloud Endpoints на Java: Руководство. ч. 2 (Frontend)

Работа с версиями


Google App Engine предоставляет возможность загрузить до 10 различных версий приложения.
Одна из них (по умолчанию — первая загруженная) является основной (default) и доступна по основному адресу приложения, и соответственно по адресу собственного домена(ов).
Читать дальше →

Google Cloud Endpoints на Java: Руководство. ч. 2 (Frontend)

Время на прочтение26 мин
Количество просмотров8.5K
Часть первая: Google Cloud Endpoints на Java: Руководство. ч. 1
Часть третья: Google Cloud Endpoints на Java: Руководство. ч. 3
Часть четвертая: Работа с базой данных в Google App Engine/Google Cloud Endpoints на Java: фреймворк Objectify
Часть пятая: Google Cloud Storage c Java: изображения и другие файлы в облаках

В первой части мы рассмотрели создание проекта на Google Cloud Endpoints с Java, в этой статье речь пойдет о создании фронтенда к нашему API.

В дополнение к инструментам, использовавшимся в первой части, нам понадобится:

AngularJS, и начальное общее представление о том как он работает, опционально Bootstrap или Foundation.

Простейший веб-сервер на локальной машине для тестирования, и сервер для деплоя приложения.
Читать дальше →

Google Cloud Endpoints на Java: Руководство. ч. 1

Время на прочтение15 мин
Количество просмотров24K
Google Cloud Endpoints — это надстройка над Google App Engine (GAE) для создания API для веб и мобильных приложений, делающая разработку проще и включающую в себя «из коробки» защиту от DoS-атак, OAuth 2.0 аторизацию, веб-интерфейс для тестирования API, SSL, атоматическую масштабируемость (сайт не упадет под хабра-эффектом), а также возможность использования сервисов доступных в Google App Engine (отсылка и прием электронной почты и XMPP-сообщений, загрузка данных из Интернет (URL Fetch service), задачи по расписанию (Task Queues and Scheduled Tasks) и др.)

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

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

Фреймворк Objectify предоставляет удобные стредства для работы со базой данных встроенной в GAE, а модуль angular-google-gapi для подключения веб-приложения на AngularJS c авторизацией пользователей.

Под катом много картинок и текста, и предполагается, что читатель знаком с Java Servlets.
Читать дальше →

Google против Microsoft: чьи облака круче?

Время на прочтение2 мин
Количество просмотров26K
Google Apps и Microsoft Office 365 — облачные платформы, ориентированные на бизнес. Но здесь и заканчивается сходство, особенно в области демографических характеристик пользователей. Как показывает аналитика BetterCloud, опросивших 1500 ИТ-профессионалов в 53 странах, аудитория Google Apps моложе, и компании, в которых они работают, моложе и меньше. Пользователи Office 365, с другой стороны, чаще являются компаниями, основанными раньше и имеющими более зрелую ИТ-инфраструктуру.


Читать дальше →

Ближайшие события

Закон Мура для Google Compute Engine: больше мощностей за те же деньги

Время на прочтение3 мин
Количество просмотров11K
И снова доброе утро для всех пользователей облачных продуктов!

С 18 мая 2015 вычисления и запуск продуктов в Google Compute Engine стали еще выгоднее:
  • Снижены цены на облачные инстансы (Google Compute Engine Instance):
  • Появился новый тип «вытесняемых» (preemptive) инстансов, которые можно использовать для пакетной обработки данных в течение короткого времени по очень низкой фиксированной цене.

Читать дальше →

Как подружить Google Диск и Google Календарь? Пробуем GAS на вкус

Время на прочтение5 мин
Количество просмотров29K
Корзина покупателя GASПредлагаю читателям «Хабрахабра» историю о том, как мне удалось повысить свою покупательскую способность в кризисное время при помощи Google Apps Script (GAS). Под катом вы найдете нестандартный пример использования и узнаете о возможностях работы со службами Google Drive и Google Calendar.

Началось все с того, что цена импортируемых товаров в России неуклонно росла вверх. Работая IT-специалистом в крупной ритейл-сети, у меня возникла идея о том, как можно воспользоваться преимуществом наличия доступа к товарной базе, не нарушая установленных правил компании и тем более закона. Наибольший интерес с точки зрения экономии личных денежных средств представляют так называемые «промоакции» (тарифы со скидкой). Необходимо было организовать ежедневную выгрузку «промоакций» на интересующие товары и реализовать возможность своевременного получения уведомлений о наличии скидок на Android-смартфон.
Читать дальше →

Как я мучал Selenium тесты для GAE Django и к чему пришел в итоге

Время на прочтение3 мин
Количество просмотров5.3K

Предистория


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

Google бесплатно раздает $300 на аккаунт в GAE

Время на прочтение1 мин
Количество просмотров35K


Увидел статью про $25 от Amazon и вспомнил, недавно было необходимо создать новый апп в GAE и тут увидел, что Google даёт $300 кредит на все сервисы Google Cloud Platform. Надеюсь это сподвигнет к развитию платформы PaaS в целом везде.

Но самое главное, что «Гугл» не отключает при этом бесплатные квоты. Т.е. расход денег идёт только после израсходования квот.
Читать дальше →

Orb. DIY-cервер новостей

Время на прочтение2 мин
Количество просмотров11K
Привет всем!

Перед закрытием Google Reader в 2013-м году захотелось написать что-то свое на эту тему. Чтобы оно собирало новости из RSS и было видно, что читал, а что — нет. Плюс было желание поработать с GAE и Angular. Позднее, после нескольких разочарований в собственных CSS cross-browser скиллах, к этой компании присоединился еще и IonicFramework. То, что в итоге получилось, на мой взгляд, довольно удобно, используется мной ежедневно и, может быть, кому-то тоже пригодится.

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

Вместе веселей: python + flask + google app engine

Время на прочтение6 мин
Количество просмотров29K
Предыстория: я, как и многие на Хабрахабре, чертовски люблю слушать музыку. Чаще всего делаю это в ВКонтакте. Иногда уже сфомированный плейлист надоедает — хочется чего-нибудь нового; но так, чтобы не сильно отличалось от того, что уже есть. Для этого на всех сервисах, предоставляющих возможность прослушивания музыки, существуют рекомендации. Признаюсь честно, рекомендации в ВКонтакте меня ужасают. Может кому-то нравится, но у меня тамошний подбор вызывает желание закрыть браузер (ИМХО, конечно). В общем, решил я эту ситуацию для себя исправить и реализовать свои собственные рекомендации с использованием API ВКонтакте и Last.fm. Так как я много слышал и читал про Google App Engine, но никогда его не использовал, решено было приобщиться к этой платформе.

Сразу скажу, что тонкости взаимодействия с API или алгоритм подбора рекомендаций здесь я описывать не буду. Об этом — в следующих статьях, может быть. В данной статье описан только процесс создания, настройки и деплоя приложения на платформе Google App Engine с использованием python и flask.
Об опечатках и неточностях просьба сообщать в личку. Спасибо.
Читать дальше →

Статистика из Android-приложения на своем GAE-сайте

Время на прочтение2 мин
Количество просмотров6.1K


Android, Google Analytics, App Engine — продукты одной компании. Казалось бы — что может быть проще, чем показать данные из одного продукта в другом? Например, статистику Google Analytics из Android-приложения на сайте App Engine? Оказалось, что сделать это действительно несложно. Только не все шаги очевидны.
Что делать?

Вклад авторов