Skip to content

Instantly share code, notes, and snippets.

@listochkin
Last active February 1, 2019 13:56
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save listochkin/0bc89f9fbc84aa8d6f30 to your computer and use it in GitHub Desktop.
Save listochkin/0bc89f9fbc84aa8d6f30 to your computer and use it in GitHub Desktop.
Andrey Listochkin as Backend Secret

Привет всем!

Сегодня 27 сентября 2015 годя я заканчиваю вести твиттер Backend Secret. Возможно, неделя получилась несколько малоактивной - изнь вносила свои коррективы. Тем не менее, мне очень понравилось общаться со всем вами. Я решил сделать темой недели разработку API и несколько разбавить разговоры о темах, связанных с Девопсом.

Для начала я поделился отличным видео от Dan Gebhardt об эволюции REST API. Я считаю, что это - одно из лучших видео по теме.

Ден - один из соавторов спецификации json-api - сегодня это стандарт де факто для REST API и я надеюсь, что вслед за Rails, Node, Python, PHP, Ember и Backbone он придет и на другие платформы.

Затем мы поговорили о том, какие технологии вы бы выбрали сегодня для разработки API-серверов. Больше всего люди рекомендовали Django REST и Ruby on Rails, но упоминались так же и Node, и Go. В целом все согласились, что самым лучшим вариантом будет та технология и платформа, с которой уже знаком разработчик.

Когда я говорил о Rails, я упоминал некоторые инструменты для сбора метрик и работы с производительностью. TuneMyGC - это сторонний сервис, который собирает метрики работы сборщика мусора на вашем сервере и на основе собранных данных дает вам рекомендации о том, каие параметры сборщика мусора в Руби будут для вашего приложения более предпочтительными. Rack Mini Profiler - потрясающий инструмент, который не только показывает вам метрики текущего запроса, но и может строить для них флеймграфы. Последний инструмент - Skylight - строит гистограммы времени выполнения запросов и позволяет вам понять, чем "быстрые" сценарии выполнения отличаются от медленных.

Также мы поговорили о том, как в современных приложениях сделать поддержку SEO, о связи API и фронтенда, о том, когда стоит использовать WebSockets, поспорили о кодах ответа (признаюсь, я немножко набросил, чтобы послушать разные мнения).

В середине недели я рассказал вам о Backend-as-a-Sevice а также устанавливаемых локально "бекендах". Я считаю, что разработка любого API-сервиса сегодня должна начинаться как раз с такого проекта, бекенд-разработчик по возможности не должен тратить свое драгоценное время на решение однотипных задач. Так же, как фронтенд-разработчики сегодня не пишут свои календарики и таблицы с нуля, так и бекендер не должен в очередной раз писать обработчики простых CRUD-операций. Вместо этого стоит больше времени уделить действительно интересным задачам по обработке данных и развитию продукта в целом. Я сам использовал на продакшене несколько таких BaaS и installable backends и очень рекомендую такой подход.

Связанная с BaaS тема - API Gateways - тут тоже вспомнили несколько решений, в частности Tyk. Это шлюз, который стоит между вашими сервисами и клиентами API и занимается авторизацией, rate limiting, собирает метрики по запросам и т.д.

Последняя полезная ссылка от меня - библиотека паттернов архитектуры мкросервисов. Очень рад, что появился подобный ресурс.

Я надеюсь, что вам было нескучно и что неделя была вам полезной.

Всем спасибо,

Андрей @listochkin

@devgru
Copy link

devgru commented Sep 27, 2015

Андрей, спасибо! А можно ссылки сюда вставить? Будет очень удобно.

@listochkin
Copy link
Author

@devgru часть я уже поставил, надо бы еще добавить ссылки на обсуждения тем

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment