Google cloud run это

Google Cloud’s serverless platform lets you build, develop, and deploy functions and applications, as source code or containers, while simplifying the developer experience by eliminating all infrastructure management. In this tutorial, you will get hands-on experience working with one of the GCP’s serverless offerings called Cloud Run. We start with deploying a simple Cloud Run service and learn how to build it using Cloud Build and deploy the docker image to Artifact Registry and setup continuous deployment. We will then integrate our Cloud Run service with Google Cloud Storage (GCS) to upload and download files. We will integrate with Secrets Manager to read secrets from Secret Manager.

We will integrate with Cloud Pub/Sub to invoke Cloud Run service in response to an event (Event-Driven architecture). Finally We will integrate our service with Cloud SQL and connect to Cloud SQL instance using Public IP and Private IP. Code: gitlab.com/salimpadela/cloud-run-demo-deep-dive-youtube

Say hello to serverless containers with Cloud Run

Источник: byashka.ru

Пошаговое руководство по настройке Laravel 6 в Google Cloud Run с непрерывной интеграцией

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

А создание чего-то вроде Kubernetes – это тяжелейшая задача. Именно в таких случаях Google Cloud Run выступает в лучшем свете, ведь с его помощью вы можете получить рабочий HTTPs URL-адрес для любого из ваших контейнерных приложений в считанные минуты.

Google Cloud Run является бессерверным и полностью управляется Google. Вы получаете супер-масштабирование, посекундную оплату, HTTPs URL и собственный маппинг домена.

Если вы хотите запустить stateless контейнеры, Cloud run – самый простой способ это сделать. В этой статье я подробно расскажу, как заставить ваше приложение Laravel 6 работать на Google cloud run с Continous Integration (CI).

Необходимые требования

  • Вы знакомы с PHP/Composer и знаете о Laravel (думаю, иначе вы бы здесь не находились);
  • Вы знаете, как использовать Git из консоли;
  • Ваш код для CI/CD размещен на GitHub и вы знаете, как им пользоваться;
  • Вы хорошо знакомы с Docker, может даже с многоступенчатой сборкой;
  • У вас есть рабочий аккаунт Google Cloud (они дают вам беспроцентный кредит в 300$ в течение 1 года, нет причин не заводить его).
Как включить вкладку инкогнито в гугле на телефоне

Почему Cloud Run – отличный вариант для начинающих

По двум причинам, которые я опишу ниже:

Google Cloud Platform (GCP) — Cloud Run

  • Вы познакомитесь с лучшими практиками и программным обеспечением, таким как Docker и CI/CD.
  • Основной каркас будет работать после нажатия кнопки, выбора двух вещей и пяти минут ожидания, и вы сможете получить рабочий HTTPs URL. Куда уж проще?

Шаги по развертыванию

Ниже приведено руководство по настройке и развертыванию Laravel 6 в Cloud Run:

1. Клонируйте Laravel или новый проект Laravel

Начните с клонирования Laravel или используйте composer или Laravel CLI, как указано в официальном руководстве по установке.

Я использую composer, чтобы получить последнюю версию Laravel, как показано ниже:

composer global require laravel/installer

Я запустил следующую команду, чтобы получить последнюю версию Laravel:

composer create-project —prefer-dist laravel/laravel laravel6-on-google-cloud-run

2. Сначала протестируйте локально

Затем запустите cd laravel6-on-google-cloud-run , а потом php artisan serve . Чтобы увидеть, что все работает, я перешел по адресу http://localhost:8000 в браузере и у меня все заработало. У меня был локально установлен PHP 7.2.

3. Создайте новый репозиторий на GitHub

Создайте новый репозиторий на GitHub, как показано ниже:

4. Добавьте репозиторий и README

Теперь после того, как вы создали репозиторий, добавьте его в локальную копию Laravel и добавьте README-файл.
Для этого выполните следующие команды в консоли:

После выполнения команды в моем репозитории на GitHub оказалось следующее:

5. Добавьте полный Laravel, откройте Pull Request

Теперь давайте отправим все приложение как pull request в репозиторий GitHub, выполнив следующие команды:

После этого откройте Pull Request в репозитории, подобно этому. Возможно, вы думаете, зачем мне нужен pull request, если я работаю над проектом один?

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

6. Настройка тестов с GitHub actions

Не самая веселая часть. После того как вы смерджите свой pull request, GitHub будет знать, что это проект Laravel. Нажмите на вкладку Actions на странице своего репозитория и вы увидите что-то вроде того, что изображено ниже:

Щёлкните Set up this workflow под Laravel, а на следующей странице нажмите кнопку Start commit в правом верхнем углу. После этого добавьте сообщение коммита, как показано ниже и нажмите Commit new file.

Вот так у вас появилась ваша установка CI. Тесты Laravel по умолчанию теперь будут запускаться при каждом git push. Разве сложно?
Спасибо Великому Разуму GitHub!
Больше никакого создания .myCIname.yml файлов!

7. Добавьте docker и выполните docker-compose для запуска приложения локально

А теперь давайте добавим docker и сделаем docker-compose, чтобы запустить приложение локально без PHP или artisan serve.

Как удалить память Google

Эта часть руководства вдохновлена статьей Laravel on Google Cloud Run от Nicolas.

Если вы хотите узнать больше о Docker и Laravel, обратитесь к этой статье.

Для начала выполните следующие команды, чтобы обновить ветку master, так как мы добавили новый workflow-файл с помощью интерфейса GitHub:

git checkout master git fetch git pull —rebase origin master # as we added the workflow file from github interface git checkout -b docker

Добавьте ключ в файл .env.example , скопируйте его из файла .env , как показано ниже:

APP_NAME=Laravel APP_ENV=local APP_KEY=base64:DJkdj8L5Di3rUkUOwmBFCrr5dsIYU/s7s+W52ClI4AA= APP_DEBUG=true APP_URL=http://localhost

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

Добавьте такой Dockerfile в корень проекта:

FROM composer:1.9.0 as build WORKDIR /app COPY . /app RUN composer global require hirak/prestissimo composer install FROM php:7.3-apache-stretch RUN docker-php-ext-install pdo pdo_mysql EXPOSE 8080 COPY —from=build /app /var/www/ COPY docker/000-default.conf /etc/apache2/sites-available/000-default.conf COPY .env.example /var/www/.env RUN chmod 777 -R /var/www/storage/ echo «Listen 8080» >> /etc/apache2/ports.conf chown -R www-data:www-data /var/www/ a2enmod rewrite

Добавьте следующий файл в docker/000-default.conf :

После этого добавьте docker-compose.yml :

version: ‘3’ services: app: build: context: ./ volumes: — .:/var/www ports: — «8080:8080» environment: — APP_ENV=local

Сведем все к главному.

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

  • Мы используем официальный образ PHP Apache docker для запуска Laravel, он имеет версию PHP 7.3.
  • Мы задействуем многоступенчатую сборку, чтобы получить зависимости с Composer, а затем копируем их в основной docker-образ, в котором есть PHP 7.3 и Apache.
  • Поскольку Google Cloud Run требует, чтобы веб-сервер слушал на порту 8080, мы используем 000-default.conf , чтобы это сконфигурировать.
  • Чтобы упростить запуск docker-compose, введите всего одну команду docker-compose up.
  • Теперь, когда вы дочитали до этого момента, запустите docker-compose из корня и все должно заработать по адресу http://localhost:8080 , в этом случае вы поймете, что Laravel 6 запущен локально в Docker.

Если у вас Laravel заработал с Docker, откройте новый pull-request (например, такой) и добавьте Docker в свой проект.

Следующие команды я запустил в корне проекта перед открытием Pull Request:

git status

Вы получите что-то в таком роде:

On branch docker Untracked files: (use «git add . » to include in what will be committed) Dockerfile docker-compose.yml docker/ nothing added to commit but untracked files present (use «git add» to track)

И запустите следующие команды:

git add . git commit -m «Add docker and docker compose» git push origin docker

В качестве бонуса они запустят тест Laravel по умолчанию после push, как видно ниже:

Только владелец репозитория имеет доступ к вкладке Actions, поэтому другим людям не обязательно знать результаты ваших тестовых сборок

Getrange Google script что это

Теперь давайте развернем эту установку Laravel в Google Cloud Run простым способом. На данном этапе считается, что вы смерджили свой pull-request из ветки docker.

Давайте выполним следующие команды:

git checkout master git fetch git pull —rebase origin master git checkout -b cloud-run-button

Добавьте следующее в свой файл readme.md :

### Run on Google cloud run

[![Run on Google Cloud](https://storage.googleapis.com/cloudrun/button.svg)](https://console.cloud.google.com/cloudshell/editor?shellonly=true_image=gcr.io/cloudrun/button_git_repo=https://github.com/geshan/laravel6-on-google-cloud-run.git)

Внимательно замените последнюю часть HTTPs URL вашего репозитория, например, если ваш репозиторий находится по адресу он изменится на, затем сделайте коммит и push.

Ваш Pull Request должен выглядеть примерно так.

9. Деплой на Google Cloud Run

После мерджа вашего pull request перейдите на страницу репозитория и нажмите кнопку Run on Google Cloud.

После этого, если вы вошли в аккаунт Google и у вас есть Google cloud setup с одним проектом, нажмите кнопку «Продолжить». Возможно, вам придется немного подождать, после этого:

  1. Выберите проект — Choose a project to deploy this application
    Выберите регион — Choose a region to deploy this application, я обычно выбираю us-central-1
    Затем дождитесь, пока контейнер соберется и развернется, процесс в моем случае выглядит так:

То, что случилось выше это:

  1. После выбора региона, скрипт построил образ docker-контейнера из Dockerfile в репозитории;
  2. Затем он сделал push собранного образа в Google Container Registry;
  3. После этого с помощью gcloud CLI он разворачивает собранный образ в Cloud Run, который возвращает URL – адрес.

После того, как вы получите URL, вы увидите ваше приложение, работающее на Google Cloud Run, как показано ниже:

Если вы хотите развернуть другую версию, вы можете изменить свой pull request в master и снова нажать кнопку для деплоя.

Больше о Google Cloud Run

Цены на Google Cloud Run очень щедрые. Вы можете запустить любое приложение в контейнере или веб-приложение в Google Cloud Run.

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

Под капотом он использует Knative и Kubernetes. Он также может быть запущен в вашем кластере Kubernetes, но кто захочет управлять кластером K8s, если можно просто сделать push и поучить масштабируемое бессерверное полностью управляемое приложение

TLDR

Чтобы запустить Laravel 6 на Google Cloud Run быстро, следуйте следующим шагам:

  • Убедитесь, что вы вошли в свой аккаунт Google Cloud;
  • Перейдите по ссылке: https://github.com/geshan/laravel6-on-google-cloud-run;
  • Нажмите синюю кнопку “Run On Google Cloud”;
  • Выберите свой проект;
  • Выберите свой регион;
  • Подождите немного и получить URL-адрес для вашего приложения Laravel как показано ниже. Возрадуйтесь!

Надеюсь, запуск приложения Laravel на Google cloud run оказался для вас простой задачей. Вы даже смогли запустить тесты с помощью Github actions. Надеюсь, эта статья оказалась для вас полезной.

В чем особенность экосистемы Гугл

Чтобы применить подход CI/CD, вы можете прочитать эту статью, в ней рассказывается об использовании сборки в облаке. Поскольку один и тот же контейнер работает локально и на продакшене (Google Cloud Run), вам не нужно изучать новый фреймворк, чтобы перейти на бессерверную архитектуру.

Любое веб-приложение в контейнере может запуститься на Google Cloud Run, поэтому я считаю его отличным сервисом!

На этом все, а мы напоминаем о том, что уже 21 и 22 января все желающие могут посетить бесплатный онлайн-интенсив, в рамках которого мы создадим Telegram-бота для заказа кофе в заведении и оплаты онлайн. Записаться на второй день интенсива можно тут.

Источник: habr.com

Пример набора данных BigQuery для Google Analytics 4

Контекстная, таргетированная реклама и веб-аналитика

Хотите начать изучение облачного хранилища Google BigQuery и написание SQL-команд для Google Analytics 4, но не имеете под рукой статистики, для которой можно было бы выполнять запросы? Не беда! Разработчики Google для всех желающих открыли публичный набор данных BigQuery для GA4.

Теперь вы можете просматривать тестовые данные, экспериментировать с функциями и изучать возможности работы Google Analytics 4 в BigQuery. Все, что для этого нужно — стремление к изучению нового и время на тренировки!

Данные, с которыми вы будете работать, принадлежат демонстрационному интернет-магазину Google Merchandise Store с настроенной электронной торговлей и активированной улучшенной статистикой. Однако этот публичный датасет следует отличать от тестового аккаунта GA4 для Google Merchandise Store, поскольку это другие данные. Публичный набор данных в BigQuery содержит обфусцированные данные за три месяца (с 1 ноября 2020 года по 31 января 2021 года), то есть немного искаженные и запутанные для анализа. Некоторые поля содержат плейсхолдеры, в том числе , NULL и » «. Из-за обфускации внутренняя согласованность набора данных может быть несколько ограничена.

Сам набор данных в BigQuery называется ga4_obfuscated_sample_ecommerce. Для его использования вам понадобится доступ к проекту Google Cloud c включенным BigQuery API.

Создание проекта в Google Cloud

Чтобы создать новый проект, используйте любую учетную запись Gmail и перейдите в Google Gloud по ссылке. Если вы работаете с облаком Google впервые, то вас попросят указать страну и согласиться с условиями использованиями Google Cloud Platform:

Начало работы с Google Cloud

В связи с текущими событиями в мире Google приостановил работу для пользователей из России. На момент публикации данной статьи вы не сможете привязать свою банковскую карту, выпущенную на территории РФ, чтобы использовать все возможности Google Cloud Platform, а также выбрать страну Россия из списка. Поэтому выберете из списка наиболее подходящую и нажмите Agree and continue.

На открывшейся странице Google Cloud в левом верхнем углу нажмите на Select a project:

Select a project

И создайте проект — NEW PROJECT:

В поле Project name вы можете оставить автоматически добавленное название проекта, а можете указать свое собственное название, например BigQuery Public Dataset:

Гугл кейборд что это

В завершение нажмите кнопку Create (Создать). В вашем Google Cloud будет создан новый проект. Об этом будет свидетельствовать уведомление в правом верхнем углу (Notifications):

Уведомление о создании проекта

Включение BigQuery API

Когда вы создали новый проект, API BigQuery включается автоматически. Но я рекомендую перепроверить это. Для этого в Google Cloud выберите свой проект из выпадающего списка:

Выбор проекта в Google Cloud

Затем перейдите по ссылке. Проверьте, что вы вносите изменения в выбранный проект и нажмите Next:

Подтверждение изменений в проекте

Включите BigQuery API:

Включение BigQuery API

На этом предварительная настройка вашего проекта в Google Cloud завершена.

Платное и бесплатное использование

Google Cloud и BigQuery являются платными инструментами инфраструктуры Google Cloud Platform. Но вы можете бесплатно использовать режим тестовой среды BigQuery (она же Песочница или Sandbox) с ограниченным набором функций BigQuery.

Тестовая среда BigQuery

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

Использование публичного набора данных

Общедоступные наборы данных BigQuery по умолчанию доступны в консоли Google Cloud. Добавить публичный датасет с данными интернет-магазина Google к себе можно просто перейдя по ссылке.

Вам откроется страница BigQuery, а в ней публичный проект со множеством наборов данных:

Публичные датасеты BigQuery

Один из них — это датасет с данными Google Merchandise Store ga4_obfuscated_sample_ecommerce для Google Analytics 4:

Публичный набор данных BigQuery для Google Analytics 4

Внутри датасета отображается 92 таблицы с названием events_ Это и есть статистика за три месяца (с 1 ноября 2020 года по 31 января 2021 года), где каждая таблица с events_ — конкретный день:

Статистика в публичном датасете BigQuery для GA4 за три месяца

Теперь вы можете выполнять запросы к этому набору данных.

Примеры запросов

Перед тем, как вы начнете писать SQL-команды для публичного набора данных BigQuery для Google Analytics 4, я рекомендую ознакомиться с другими материалами моего блога:

  • Схема данных Google Analytics 4 в Google BigQuery
  • Выполнение запросов нескольких таблиц GA4 events_ с _TABLE_SUFFIX

Если вы не знаете, как правильно составить запрос или не уверены в корректности его написания, попробуйте инструмент ga4sql.com.

Чтобы создать свой первый запрос для публичных данных BigQuery, нажмите на Query и выберите один из доступных способов:

  • In new tab (В новой вкладке);
  • In split tab (На вкладке рядом).

Вам откроется окно запроса, в котором вы будете писать SQL-команды.

Рассмотрим несколько примеров запросов.

Количество уникальных событий, пользователей и дней

Скопируйте нижеприведенный код и вставьте его на вкладку запроса:

Источник: osipenkov.ru

Рейтинг
Загрузка ...