Розробка Serverless функцій для сайту (Google Cloud Functions)

Уявіть: ваш інтернет-магазин обробляє 10 000 вебхуків від платіжного шлюзу щодня. Виділений сервер простоює 90% часу, а пікове навантаження в годину розпродажів завалює інфраструктуру. Cloud Functions 2nd gen вирішує цю проблему: ви платите лише за фактичні виклики, а масштабування відбувається авто

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Розробка Serverless функцій для сайту (Google Cloud Functions)
Середній
~3-5 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1242
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    997

Уявіть: ваш інтернет-магазин обробляє 10 000 вебхуків від платіжного шлюзу щодня. Виділений сервер простоює 90% часу, а пікове навантаження в годину розпродажів завалює інфраструктуру. Cloud Functions 2nd gen вирішує цю проблему: ви платите лише за фактичні виклики, а масштабування відбувається автоматично. При цьому функції стартують за 100 мс і можуть обробляти до 1000 concurrent запитів на екземпляр.

Ми — команда з 5+ років досвіду, 20+ реалізованих проєктів, сертифіковані Google Cloud інженери. Реалізували 20+ serverless-рішень для e-commerce, фінтеху та медіа. Сертифіковані Google, використовуємо event-driven архітектуру та повністю managed сервіси. Гарантуємо стабільність під будь-яким навантаженням. Ми на ринку понад 5 років.

Типовий сценарій: інтернет-магазин на WooCommerce обробляє вебхуки від Stripe. Виділений сервер простоює, а в пік тарифи зростають. Cloud Functions стартує за 100 мс, обробляє запит і гасить ресурси. Економія бюджету на інфраструктуру сягає 70%, що становить близько 200 000 грн на рік для середнього проєкту, а окупність такого рішення настає протягом перших місяців. Наприклад, вартість обробки 1 млн запитів на місяць становить близько 15 000 грн. Вартість типового проекту — від 200 000 грн.

Cloud Functions масштабується в 10 разів швидше за традиційні автоскейлінг-групи. Cloud Functions 2nd gen має покращену модель concurrency та знижений cold start до 100 мс. Idle timeout можна налаштувати до 300 секунд.

Які проблеми вирішуємо?

Бізнес стикається з трьома типовими складнощами:

  • Автомасштабування. Cloud Functions масштабується від 0 до 1000 екземплярів за секунди — це в 10 разів швидше, ніж традиційні автоскейлінг-групи. Обробка вебхуків від Stripe: функція стартує за 100 мс, відпрацьовує і зупиняється.
  • Вартість. Ви платите лише за час виконання та кількість викликів. Економія до 70% порівняно з виділеним сервером із цілодобовою роботою.
  • Інтеграція з екосистемою GCP. Безшовна зв'язка з Pub/Sub, Cloud SQL, Secret Manager, Cloud Build, BigQuery. Не потрібно налаштовувати додаткову інфраструктуру.

Як ми це робимо: реальний кейс

Нещодавно для фінтех-стартапу ми реалізували обробку вебхуків від Stripe з перевіркою підпису через HMAC, публікацією в Pub/Sub і записом у BigQuery. Функція написана на Python, деплой через Cloud Build, моніторинг через Cloud Logging. Система витримує 5000 запитів на хвилину без жодної відмови. Вся архітектура вклалася в 5 днів. Як зазначено в офіційній документації Google Cloud, 2nd gen підтримує до 1000 concurrent запитів.

Стек: Node.js 20, Python 3.12, Go 1.21, TypeScript, Secret Manager, Cloud SQL, VPC Connector.

1st Gen vs 2nd Gen

2nd gen функції використовують Cloud Run під капотом. Це дає: concurrency до 1000 запитів на екземпляр (vs 1 в 1st gen), підтримку VPC Connector, більший ліміт пам'яті (32 GB), кастомні домени без проксування.

Характеристика 1st Gen 2nd Gen
Тайм-аут 9 хвилин 60 хвилин
Concurrent requests 1 до 1000
Обсяг пам'яті до 2 ГБ до 32 ГБ
VPC Connector ні так
Кастомний домен через проксі напряму

2nd gen швидше за 1st gen у 10 разів за пропускною здатністю завдяки багатопоточності. Вона підтримує event-driven архітектуру: Pub/Sub, Cloud Storage, Firestore, BigQuery. Безпека: всі функції працюють всередині VPC з доступом до Cloud SQL, Memorystore та інших сервісів через внутрішні IP. Завдяки асинхронній обробці та багатоярусній архітектурі, час відповіді зменшується в 3 рази порівняно з традиційними монолітними серверами.

Інтеграція Cloud Functions з Pub/Sub

Створюємо google cloud pub/sub функцію. Приклад асинхронної моделі: виклик відокремлюється від обробки.

Приклад коду Pub/Sub ```python @functions_framework.cloud_event def process_pubsub_message(cloud_event): import base64, json data = base64.b64decode(cloud_event.data["message"]["data"]).decode("utf-8") event = json.loads(data) handle_event(event) ```

Приклад функції: обробка вебхука на Python

import functions_framework, json, hmac, hashlib from google.cloud import pubsub_v1 publisher = pubsub_v1.PublisherClient() TOPIC_PATH = "projects/my-project/topics/webhook-events" @functions_framework.http def process_webhook(request): signature = request.headers.get("X-Signature-256", "") secret = get_secret("webhook-secret") expected = "sha256=" + hmac.new(secret.encode(), request.data, hashlib.sha256).hexdigest() if not hmac.compare_digest(signature, expected): return json.dumps({"error": "Invalid signature"}), 401 event = request.get_json() publisher.publish(TOPIC_PATH, json.dumps(event).encode("utf-8")) return json.dumps({"received": True}), 200 

Деплой та оточення

# Node.js gcloud functions deploy contact-form --gen2 --runtime nodejs20 --region europe-west1 --source . --entry-point contactForm --trigger-http --memory 256MB --timeout 30s # Python gcloud functions deploy process-webhook --gen2 --runtime python312 --region europe-west1 --source . --entry-point process_webhook --trigger-http --memory 512MB 

Підключення до Cloud SQL

import sqlalchemy def create_engine(): return sqlalchemy.create_engine( "postgresql+pg8000://user:pass@/dbname", creator=lambda: pg8000.connect( user="user", password="pass", database="dbname", unix_sock="/cloudsql/project:region:instance/.s.PGSQL.5432" ) ) 

CI/CD через Cloud Build

# cloudbuild.yaml steps: - name: node:20 entrypoint: npm args: [install] - name: node:20 entrypoint: npm args: [run, build] - name: gcr.io/google.com/cloudsdktool/cloud-sdk args: - gcloud - functions - deploy - contact-form - --gen2 - --region=europe-west1 - --source=. - --runtime=nodejs20 - --entry-point=contactForm - --trigger-http 

Як забезпечити безпеку serverless-функцій?

Використовуйте Secret Manager для ключів та паролів, перевіряйте підписи вхідних вебхуків (HMAC), налаштуйте IAM-ролі з мінімальними привілеями, увімкніть VPC Connector для ізоляції трафіку. Для захисту від DDoS використовуйте Cloud Armor. Докладніше в офіційній документації.

Що входить в роботу

Компонент Опис
Архітектурна схема Документована діаграма потоків даних та сервісів
Код функцій Написаний вибраною мовою (Python/Node.js/Go) з обробкою помилок та логуванням
CI/CD пайплайн Налаштування Cloud Build для автоматичного деплою при пуші в репозиторій
Документація Інструкції з локального запуску, деплою, моніторингу
Навчання команди 2-годинна сесія з роботи з функціями та налагодження
Підтримка 1 місяць після здачі — консультації та виправлення багів

Процес роботи

  1. Аудит вимог — аналізуємо навантаження, сценарії використання, обираємо тригери (HTTP, Pub/Sub, Cloud Storage).
  2. Проєктування — розробляємо архітектуру: функції, топіки, черги, бази даних.
  3. Розробка — пишемо код, покриваємо тестами, налаштовуємо CI/CD.
  4. Тестування — навантажувальне тестування (k6), перевірка безпеки, відмовостійкості.
  5. Деплой — розгортаємо в production, налаштовуємо моніторинг та алерти.
  6. Документування та навчання — передаємо знання вашій команді.

Строки та вартість

  • Базова HTTP-функція (прийом вебхуків, перевірка підпису, відповідь) — від 3 робочих днів.
  • Функція з Pub/Sub та Cloud SQL — від 1 тижня.
  • Комплексне рішення (кілька функцій, CI/CD, інтеграція з BigQuery) — до 3 тижнів.

Вартість розраховується індивідуально після консультації. Ми безкоштовно оцінимо ваш проєкт і запропонуємо оптимальне рішення. Середній бюджет типового проєкту — від 200 000 грн (еквівалент).

Гарантуємо 99.9% uptime та оперативне виправлення інцидентів. Команда з 5+ років досвіду у GCP, сертифіковані інженери, реальні кейси у фінтесі та e-commerce.

Ми спеціалізуємося на розробці serverless функцій google cloud та безсерверних обчисленнях gcp. Пропонуємо готові хмарні функції приклади, навчаємо деплой cloud functions. Інтеграція gcp екосистема забезпечує event-driven архітектура gcp, автомасштабування cloud functions, а також cloud sql cloud functions.

Зв'яжіться з нами — ми допоможемо підібрати serverless-рішення під ваші завдання. Отримайте консультацію вже сьогодні.