К основному содержимому
#Linux

Inside Envoy: The Proxy for the Future [OFFICIAL FILM]

#Linux #Kubernetes #Networking #DistributedSystems #SystemDesign #Software #Engineering #Architecture

Крутой документальный фильм про Envoy, который начинается с рассказа Matt Klein, создателя Envoy. Мэтт рассказывает про

  • Свой опыт работы с TSA (Twitter Streaming Aggregator), который можно считать предшественником Enovy
  • Дальше Мэтт немного нафакапил с настройкой обработки дат, а дальше миллионы людей оказались разлогинены
  • Дальше Мэтт нашел искать новые возможности и ушел в Lift, куда до этого ушел его руководитель
  • В Lift Мэтт занялся созданием нового прокси сервера, который из коробки давал observability и performance, сравнимый с Nginx
  • Потом Envoy был выложен в open source и начался поиск adoption Дальше рассказ переходит к сотрудникам Google, которые рассказывают как они планировали в это время делать service mesh, который потом стал Istio. И они выбрали Envoy в качестве data plane для этого нового service mesh. Интересно описывается как принималось решение о выборе в пользу Envoy по сравнению с Nginx, где одним из вопросов был, а что это за продукт, где было всего 6 пул реквестов в репозитории. Но плюсы Envoy перевесили и дальше Google засетапила 10 инженеров в отдельную команду, которая начала развивать Envoy и дальше использовать его внутри Google Cloud. И дальше проект пошел в бурный рост ...

P.S.

  • Помню как лет 15 назад я работал сначала с Apache Http Server (apache httpd), где сервер на обработку запроса форкал процесс или использовал пул префоркнутых процессов
  • Примерно в то же время я увидел Nginx и его модель работы показалась мне прорывной по сравнению с httpd - в Nginx были master и worker процессы, где worker processes могли обрабатывать много зпросов, используя state machine (подробнее тут)
  • А теперь у нас есть Envoy, который гораздо лучше подходит к cloud native миру. Подробнее схему обработки запроса можно посмотреть здесь

#Linux #Kubernetes #Networking #DistributedSystems #SystemDesign #Software #Engineering #Architecture