Pull to refresh

Простой API gateway на базе PHP и Lumen

PHP *Programming *API *Laravel *
Tutorial
Термин «микросервисы» сегодня у всех на слуху – внезапно это стало очень модно, и многие компании объявляют переход на этот архитектурный паттерн даже толком не разобравшись в нём. Впрочем, обсуждение полезности микросервисов оставим за пределами этой статьи.

Традиционно перед коллекцией микросервисов предлагается дополнительный слой – так называемый API gateway, который решает сразу несколько проблем (они будут перечислены позже). На момент написания этой статьи open source реализаций таких gateway почти нет, поэтому я решил написать свой на PHP с использованием микрофреймворка Lumen (часть Laravel).

В этой статье я покажу насколько это простая задача для современного PHP!
Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Views 36K
Comments 12

Наш опыт создания API Gateway

True Engineering corporate blog .NET *Nginx *API *
Некоторые компании, в том числе наш заказчик, развивают продукт через партнерскую сеть. Например, крупные интернет-магазины интегрированы со службой доставки — вы заказываете товар и вскоре получаете трекинговый номер посылки. Другой пример — вместе с авиабилетом вы покупаете страховку или билет на аэроэкспресс.

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

Дано: экосистема и API-портал с интерфейсом, где пользователи зарегистрированы, получают информацию и т.п. Нам нужно сделать удобный и надежный API Gateway. В процессе нам нужно было обеспечить

  • регистрацию,
  • контроль подключения к API,
  • мониторинг того, как пользователи используют конечную систему,
  • учёт бизнес-показателей.



В статье мы расскажем о нашем опыте создания API Gateway, в ходе которого мы решали следующие задачи:

  • аутентификация пользователя,
  • авторизация пользователя,
  • модификация исходного запроса,
  • проксирование запроса,
  • постобработка ответа.

Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Views 17K
Comments 3

Бессерверная архитектура и микросервисы: идеальная пара?

OTUS corporate blog DevOps *Microservices *
Translation

image


Перевод статьи подготовлен для студентов курса «DevOps практики и инструменты» в образовательном проекте OTUS.




Когда в 2015 году начали появляться первые туториалы с использованием AWS Lambda и API Gateway, было неудивительно, что они в основном были сосредоточены на копировании микросервисной архитектуры. Но тем, кто использовал AWS Lambda в больших масштабах, с течением времени становилось понятно, что существуют значительные ограничения для применения микросервисного подхода к AWS Lambda…

Читать дальше →
Total votes 14: ↑11 and ↓3 +8
Views 8.8K
Comments 7

Serverless: на 15% медленнее и в восемь раз дороже

Server optimization *Server Administration *Amazon Web Services *DevOps *Cloud services
Translation
Недавно я решил поэкспериментировать с API на нашем сайте CardGames.io и попробовать фреймворк Serverless. Последние несколько лет он стал горячей темой в мире технологий, а я прокрастинировал хотел поддерживать технические навыки в актуальном состоянии и попробовать что-то новое. Поэтому решил потратить несколько часов на изучение Serverless и посмотреть, есть ли смысл в таком размещении API.

Текущая конфигурация


CardGames.io работает на AWS. Все html-страницы, CSS, JavaScript и изображения хранятся на S3. У нас есть API на C#, размещённый на Elastic Beanstalk, он работает на серверах Linux под управлением .NET Core с Docker. Наконец, мы используем CloudFront CDN перед статикой на S3 и API. Ниже приведён счёт EC2 за август 2019 года. У нас есть несколько других инстансов, но API работают на m1.small (да, вероятно, t2.small лучше подходит) с классической балансировкой нагрузки. Если суммировать выделенное красным, то выходит $164,21 в месяц, неплохо. Я даже включил туда EBS, поскольку не уверен, как разбить эти расходы, у нас ведь несколько проектов на EC2.
Читать дальше →
Total votes 47: ↑45 and ↓2 +43
Views 15K
Comments 11

Реализуем бессерверный API с AWS Gateway и Lambda

Southbridge corporate blog IT Infrastructure *Amazon Web Services *DevOps *Serverless *
Translation


Без API не обходится ни одно веб-приложение. Для их разработки используются разные методы. Сейчас, например, набирает популярность бессерверный подход — он экономичный, масштабируемый и относительно простой. Как ведущий провайдер бессерверных вычислений Amazon Web Services (AWS) вносит огромный вклад в бессерверную разработку. Здесь мы обсудим общие концепции реализации API с помощью AWS Lambda и других сервисов AWS.

Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views 4.8K
Comments 2

API security design best practices for enterprise and public cloud

Information Security *API *
Sandbox

Application Programming Interfaces or API’s are responsible for majority of system integration and functional components of modern computing landscape in both consumer and enterprise environments.

Properly constructed secure API’s provide significant benefits during initial build, integration with other systems and during entire application lifecycle while protecting sensitive information stored in business systems.

Based on author's experience designing and implementing API’s for variety of clients in financial, insurance, telecom and public sectors, security is often overlooked in favor of simplistic, vendor/product specific solutions.

This article addresses best practices for API security design in product neutral manner to help architects to plan and build easy to work with and secure API's.

Recommended approach is to separate API security from its business functionality and allow back-end developers to concentrate only on business functions. Once business logic for an API is ready, it can be published using common security components described in this article.

This article does not provide any product specific recommendations, but any modern API security/governance platform will be able to satisfy majority of suggested requirements using out-of-the-box functionality.

Read more
Rating 0
Views 2.3K
Comments 2

Разработчик в стране Serverless: создаем REST API (Часть 4)

Lineate corporate blog JavaScript *Programming *Node.JS *Serverless *

В предыдущих частях я сделал кубики, из которых состоит serverless приложение:

Часть 1. Первые шаги. Первая лямбда

Часть 2. Разворачиваем БД

Часть 3. Как подружиться с БД

Реализовано 4 функции, развернута БД. Функции интегрированы с БД, запускаются локально в режиме отладки. Вся инфраструктура поднимается буквально с помощью нескольких SAM команд.

Но пока это мало похоже на какое-то целостное приложение, т.к. у приложения нет API. Мои лямбда функции не умеют обрабатывать http запросы. Так что  в этой части займусь вопросами, связанными с построениями настоящего API. Также сделаю интеграцию с github api.

Читать далее
Total votes 4: ↑4 and ↓0 +4
Views 2K
Comments 0

GraphQL-gRPC API Gateway на Java

Java *API *Microservices *
Sandbox

В данной статье я хочу рассказать про процесс создания концепта API Gateway для обеспечения взаимодействия фронтенда, использующего GraphQL, и бэкенда, использующего gRPC, на Java с использованием фреймворка Quarkus.

Читать далее
Total votes 7: ↑6 and ↓1 +5
Views 4.5K
Comments 2

Зачем компаниям API Management

МТС corporate blog Information Security *Server optimization *Microservices *
Sandbox

Привет, Хабр! Мы – Ярослав Насонов и Надежда Колезнева – развиваем витрину для внешних API в МТС. Сегодня обсудим тему управления API в корпорации. Поделимся опытом внедрения API-менеджмента в МТС, расскажем, что уже сделали, сколько потратили времени, с какими ошибками столкнулись, и зачем все это вообще нужно.

Эта статья будет интересна всем, кто задумывается о централизации IT-сервисов в своей компании, не знает с чего начать внедрение API-менеджмента в компанию, и поможет ответить на вопрос – а нужно ли вообще это внедрение у себя?

Чтобы сделать статью полезной, мы побеседовали с главным по API-менеджменту в МТС – руководителем платформы ЦФК Алексеем Неботовым.

Читать далее
Total votes 9: ↑8 and ↓1 +7
Views 3.5K
Comments 1