БЕКЕНД ТА API
Бекенд і API для мобільних додатків.
Створюємо серверну частину, з якою працює мобільний застосунок: API, облікові записи, синхронізацію та сповіщення. Враховуємо нестабільний зв’язок, різні версії клієнта й зростання навантаження.
$ ls ./deliverables
Що входить у послугу «Бекенд та API».
Дизайнери й інженери працюють над погодженим обсягом. Нижче наведено основні завдання, з якими можемо допомогти.
Проєктування й розробка API
Проєктуємо REST або GraphQL API та правила його версіонування. Зберігаємо сумісність, коли застосунок і сервер оновлюються в різний час.
Автентифікація й облікові записи
Налаштовуємо вхід через Apple і Google, токени, оновлення сесій, ролі та відновлення доступу.
Обмін у реальному часі та сповіщення
Реалізуємо сокети, статус присутності й push-сповіщення. Опрацьовуємо порядок повідомлень, повторну доставку та вибір пристрою.
Синхронізація та офлайн
Налаштовуємо розв’язання конфліктів на сервері та передавання лише змінених даних, щоб застосунок міг синхронізуватися після роботи без інтернету.
Хмарна інфраструктура
Налаштовуємо контейнери, інфраструктуру як код і тестове середовище, наближене до робочого. Передбачаємо повернення до попередньої версії після розгортання.
Моніторинг і контроль витрат
Додаємо трасування запитів, сповіщення про проблеми та облік витрат. Перевіряємо запити й ресурси перед збільшенням потужності серверів.
$ ./build --steps
Як організовуємо роботу.
Узгоджуємо завдання й показуємо результати кожного етапу. Ви знаєте, що вже готово та що заплановано далі.
- Узгоджуємо структуру даних і контракт API, щоб мобільна та серверна команди могли працювати паралельно.
Модель даних і контракт API
- Розробляємо типізовані сервіси з тестами та документацією API. Керуємо доступністю нових функцій за допомогою прапорців.
Сервіси й API
- Складаємо модель загроз, налаштовуємо захист API та проводимо тести на проникнення для сценаріїв із платежами й персональними даними.
Перевірка безпеки
- Проводимо тести за очікуваними сценаріями навантаження. Налаштовуємо кешування та індекси бази даних за результатами вимірювань.
Навантаження та швидкодія
- Автоматизуємо розгортання, готуємо панелі моніторингу та інструкції для реагування на інциденти.
Розгортання та моніторинг
$ cat stack.json
Технології та інструменти.
- Node.js
- TypeScript
- PostgreSQL
- Redis
- GraphQL
- Firebase
- AWS
- Docker
$ pk --outcomes
На чому зосереджуємося.
p95 < 200 мс
цільовий час відповіді для 95% запитів
Керовані оновлення
розгортання з можливістю повернення до попередньої версії
Один контракт
iOS, Android і веб з одного API
$ man mobile-backend
Питання та відповіді.
$ ls ../related
Пов’язані послуги.
$ ./start_project --service backend
Обговорімо
ваш проєкт.
Розкажіть про завдання. Запропонуємо план роботи, строки й оцінку вартості.