Pull to refresh
13
0
Лев Тонких @STLEON

User

Send message

Абсолютно бесплатный VPN с бесплатного VPS

Reading time3 min
Views150K

Думаю про VPN слышали все, и многим приходилось им пользоваться. При этом использование готового VPN, которым руководит какой - то неизвестный человек, не является хорошей идей. Тем более в России на данный момент пытаются блокировать, как сами VPN провайдеры (Windscribe, Proton и другие известные сервисы), так и сами протоколы.

Читать далее
Total votes 96: ↑92 and ↓4+88
Comments112

Как создать свой VPN, если вы в России, и почему мы отказались от этой идеи

Level of difficultyEasy
Reading time9 min
Views17K

В феврале команда Mad Brains задалась вопросом: «Почему бы не создать собственный VPN?». Опирались на гипотезу, что VPN нужен для доступа к российским сервисам и внутри страны, и тем, кто уехал. Провели масштабное продуктовое исследование и отказались от разработки. Почему так решили, рассказали Rusbase, а депутат Госдумы Антон Горелкин предложил создать национальный VPN, ссылаясь на нашу статью.

Читать далее
Total votes 14: ↑12 and ↓2+10
Comments8

VPN: ещё раз просто о сложном

Reading time8 min
Views299K

Вы сталкивались с ошибкой “Это видео не доступно для просмотра в Вашей стране”? Пробовали заходить на LinkedIn? Подобные ограничения можно обойти с помощью включения VPN на своем девайсе. В последнее время огромное количество людей было вынуждено перейти на дистанционный формат работы и многие работодатели обязали своих сотрудников пользоваться VPN для защищенного доступа к корпоративным сервисам. Сегодня мы постараемся разобраться в том, что такое VPN и как это работает.

Что такое VPN?

VPN – Virtual Private Network – виртуальная частная сеть.

Это совокупность технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, Интернет).

Расшифровка названия: сеть – объединение нескольких устройств каким-либо видом связи, позволяющее обмениваться информацией. Виртуальная – неосязаемая, не физическая, то есть не важно, по каким именно каналам связи она проложена. Физическая и логическая топологии могут как совпадать, так и отличаться. Частная – в эту сеть не может войти посторонний пользователь, там находятся только те, кому разрешили доступ. В частной сети надо маркировать участников и их трафик, чтобы отличить его от остальной, чужой информации. Также в такой сети обеспечивается защита данных криптографическими средствами, попросту говоря, шифруется.

Приведем еще одно определение: VPN – это сервис, позволяющий защитить приватные данные при пользовании Интернетом.

Читать далее
Total votes 49: ↑35 and ↓14+21
Comments19

Best practices для клиент-серверного проекта PoC

Reading time21 min
Views10K
image

Типичный клиент-серверный проект PoC (Proof of Concept) для веба состоит из клиента с GUI, сервера c бизнес логикой и API между ними. Также используется база данных, хранящая оперативную информацию и данные пользователей. Во многих случаях необходима связь с внешними системами со своим API.

Когда у меня возникла необходимость в создании проекта PoC, и я начал разбираться в деталях, то оказалось, что порог вхождения в веб-программирование весьма высок. В крупных проектах для каждого компонента есть выделенные специалисты: front-end, back-end разработчики, UX/UI дизайнеры, архитекторы баз данных, специалисты по API и информационной безопасности, системные администраторы. В небольшом PoC надо самому во всем разобраться, выбрать подходящее техническое решение, реализовать и развернуть. Ситуацию ухудшает тот факт, что из обучающих материалов не всегда понятно, почему предлагается сделать именно так, а не иначе, есть ли альтернативы, является ли решение best practice или это частное мнение автора. Поэтому я разработал заготовку под названием «Common Test DB», отвечающую лучшим практикам. Ее можно использовать для начала любого проекта, остается только наполнить функциональным смыслом.

В статье я подробно опишу примененные best practices, расскажу про имеющиеся альтернативы и в конце размещу ссылки на исходники и работающий в сети пример.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments26

Блокчейн: что нам стоит PoC построить?

Reading time11 min
Views6.5K
Глаза боятся, а руки чешутся!

В прошлых статьях мы разобрались с технологиями, на которых строятся блокчейны (Что нам стоит блокчейн построить?) и кейсами, которые можно с их помощью реализовать (Что нам стоит кейс построить?). Настало время поработать руками! Для реализации пилотов и PoC (Proof of Concept) я предпочитаю использовать облака, т.к. к ним есть доступ из любой точки мира и, зачастую, не надо тратить время на нудную установку окружения, т.к. есть предустановленные конфигурации. Итак, давайте сделаем что-нибудь простое, например, сеть для перевода монет между участниками и назовем ее скромно Сitcoin. Для этого будем использовать облако IBM и универсальный блокчейн Hyperledger Fabric. Для начала разберемся, почему Hyperledger Fabric называют универсальным блокчейном?

image
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments2

Блокчейн: что нам стоит кейс построить?

Reading time8 min
Views12K
Вся история человечества — это попытки разрушить старый порядок вещей и построить новый, разумеется, лучший. (Анонимный автор)

В прошлой статье «Что нам стоит блокчейн построить?» мы разобрались с технологиями, на которых работают все блокчейны. Пришло время понять какие задачи могут решить современные блокчейны. Для начала давайте посмотрим на аналитику текущего состояния блокчейна и перспективах на будущее. Как техническому специалисту, мне импонирует компания Gartner с ее многочисленными циклами зрелости технологий (Hype Cycles). На графике показан цикл зрелости блокчейна в бизнесе на конец 2018 года. Какие выводы можно сделать?

image
Читать дальше →
Total votes 17: ↑12 and ↓5+7
Comments3

ASN.1 простыми словами (кодирование типа REAL)

Reading time14 min
Views82K

Введение для Хабра


Приведённый ниже текст является на самом деле первыми двумя главами моей статьи "ASN.1 простыми словами". Так как сама статья достаточно большая по меркам Хабра я решил сначала проверить являются ли знания по кодированию простых типов востребованными на этом ресурсе. В случае положительной реакции аудитории я продолжу публикацию всех остальных глав.


Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments13

NAT (Network Address Translation) для новичков

Reading time6 min
Views196K

Приветствую всех читателей статьи!

Данная статья будет полезна как новичкам в IT сфере, так и неопытным системным администраторам/ сетевым инженерам. Здесь затрагиваются понятия и принцип работы технологии NAT, ее значение в наше время, виды и создание с конфигурированием в программе-симуляторе Cisco Packet Tracer.

Читать далее
Total votes 13: ↑10 and ↓3+7
Comments43

Как мы в Dropbox перешли с Nginx на Envoy

Reading time26 min
Views47K

В этой статье мы будем говорить о нашей старой инфраструктуре, основанной на Nginx, ее болячках, а также выгоде, которую мы получили после миграции на Envoy. Мы сравним Nginx и Envoy различными способами. Также кратко коснемся процесса миграции, текущего состояния, а также проблем, возникших при переходе.


Читать дальше →
Total votes 99: ↑97 and ↓2+95
Comments69

Envoy как универсальный сетевой примитив

Reading time3 min
Views6.5K

В октябре прошлого года мои коллеги представили на EnvoyCon доклад "Построение гибкой подсистемы компрессии в Envoy". Вот он ниже



Судя по статистике сегодняшней статьи от SergeAx, тема компрессии сетевого трафика оказалась интересной многим. В связи с чем я немедленно возжелал вселенской славы и решил кратко пересказать содержание доклада. Тем более, что он не только о компрессии, но и том, как можно упростить сопровождение сетевой подсистемы как backend'а, так и мобильного frontend'а.

Total votes 14: ↑10 and ↓4+6
Comments4

Что вам нужно знать, если вы поменяете nginx на envoy: впечатления спустя два года

Reading time4 min
Views14K


Мы используем envoy как front edge proxy, который перенаправляет входящий трафик в несколько кластеров kubernetes (для новых сервисов) и в бэкенды legacy-архитектуры исторического наследия. Т.е. там сочетаются функции как обычного балансировщика и ssl termination point, так и api gateway.

До envoy у нас там был nginx, как и у многих. Классный софт, мне нравится. Вся история с envoy началась в тот момент, когда начались микросервисы в большом количестве и даже шаблоны ansible не спасали от увеличивающегося времени на управление nginx-конфигом. Долго выкатывалось, плюс админы приунывали от однообразных заявок вида «заведите мне домен для нового сервиса». Явно была нужна более лучшая™ автоматизация. В идеале, чтобы тот, кому нужно что-то завести, мог сам это сделать и желательно в том же месте, где настраивал прочие параметры своего сервиса. Вдобавок хотелось побольше прозрачности в том, что происходит внутри front proxy и на отрезке между ним и апстримами, и больше нативных возможностей для балансировки (переповторы запросов разных типов, исключение нездоровых хостов по определённым условиям, хелсчеки). И привлекла edge-технология, конечно же.
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments12

Envoy для самых маленьких

Reading time7 min
Views15K


Всем привет!


Я работаю бэкенд-разработчиком в компании Tinkoff, где участвую в разработке платформы CRM-системы для обслуживания физических и юридических лиц.


Использование edge proxy и балансировщика в частности — это почти мастхэв при построении современных систем. Сегодня на рынке представлено большое количество разнообразных решений, у каждого из которых есть преимущества и недостатки. Мы остановимся на одном из самых свежих — Envoy.


Envoy — это высокопроизводительный балансировщик, реализованный на C++. Его разработала компания Lyft — сервис заказа такси в Штатах, прямой конкурент Uber — для использования как с отдельными сервисами, так и в качестве связующего звена в сложных микросервисных системах. В том числе для реализации относительно свежего архитектурного явления — service mesh.


Формируя основной фундамент нашей платформы, он реализует cors, access-control, rate limiting, outlier detection, проверку jwt и многое другое.


На Хабре есть отличная статья, которая разбирает его основные отличия от ближайших соседей и проливает свет на внутреннее устройство. Мы же сфокусируемся больше на прикладных моментах, разберемся с запуском и настройкой, попробуем сразу несколько видов балансировки трафика. Поехали!

Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments0

Envoy. 1. Введение

Reading time6 min
Views48K

Приветствую! Это небольшая статья, отвечающая на вопросы: "что такое envoy?", "зачем он нужен?" и "с чего начать?".


Что это


Envoy — это L4-L7 балансировщик написанный на С++, ориентированный на высокую производительность и доступность. С одной стороны, это в некотором роде аналог nginx и haproxy, соизмеримый с ними по производительности. С другой, он больше ориентирован под микросервисную архитектуру и обладает функционалом не хуже балансировщиков на java и go, таких как zuul или traefik.


Таблица сравнения haproxy/nginx/envoy, она не претендует на абсолютную истину, но дает общую картину.


nginx haproxy envoy traefik
звезд на github 11.2k/mirror 1.1k/mirror 12.4k 27.6k
написан на C C C++ go
API нет socket only/push dataplane/pull pull
active healthcheck нет да да да
Open tracing внешний плагин нет да да
JWT внешний плагин нет да нет
Расширение Lua/C Lua/C Lua/C++ нет
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments19

Миграция с Nginx на Envoy Proxy

Reading time10 min
Views37K

Привет, Хабр! Предлагаю вашему вниманию перевод поста: Миграция с Nginx на Envoy Proxy.


Envoy — это высокопроизводительный распределенный прокси-сервер (написанный на C++), предназначенный для отдельных сервисов и приложений, также это коммуникационная шина и «universal data plane», разработанный для больших микросервисных архитектур «service mesh». При его создании были учтены решения проблем, которые возникали при разработке таких серверов, как NGINX, HAProxy, аппаратных балансировщиков нагрузки и облачных балансировщиков нагрузки. Envoy работает вместе с каждым приложением и абстрагирует сеть, предоставляя общие функции независимо от платформы. Когда весь служебный трафик в инфраструктуре проходит через сетку Envoy, становится легко визуализировать проблемные области с помощью согласованной наблюдаемости, настройки общей производительности и добавления основных функций в определённом месте.


Возможности


  • Архитектура вне процесса: envoy — это автономный, высокопроизводительный сервер занимающий небольшой объем оперативной памяти. Он работает совместно с любым языком приложения или фреймворком.
  • Поддержка http/2 и grpc: envoy имеет первоклассную поддержку http/2 и grpc для входящих и исходящих соединений. Это прозрачный прокси от http/1.1 до http/2.
  • Расширенная балансировка нагрузки: envoy поддерживает расширенные функции балансировки нагрузки, включая автоматические повторные попытки, разрыв цепи, глобальное ограничение скорости, затенение запросов, локальную балансировку нагрузки зоны и т. д.
  • API для управления конфигурацией: envoy предоставляет надежный API для динамического управления своей конфигурацией.
  • Наблюдаемость: глубокая наблюдаемость трафика L7, встроенная поддержка распределенной трассировки и наблюдаемость mongodb, dynamodb и многих других приложений.
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments28

Как управлять вашими секретами с git-crypt

Reading time7 min
Views11K

Большинство программных проектов используют секреты – обычно, как ключи к удаленному API или данные для доступа к внешнему ресурсу, например к базе данных. Вашему приложению необходимы эти ключи во время работы, поэтому вам нужно предоставить их при развертывании приложения или на этапе подготовки окружения.
В данной статье я покажу вам, как использовать git-crypt так, чтобы вы могли безопасно хранить секреты ваших приложений в репозиториях исходного кода, даже публичных.

Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments10

Строим надёжный процессинг данных — лямбда архитектура внутри Google BigQuery

Reading time5 min
Views23K
В этой статье хочу поделиться способом, который позволил нам прекратить хаос с процессингом данных. Раньше я считал этот хаос и последующий ре-процессинг неизбежным, а теперь мы забыли что это такое. Привожу пример реализации на BiqQuery, но трюк довольно универсальный.

У нас вполне стандартный процесс работы с данными. Исходные данные в максимально сыром виде регулярно подгружаются в единое хранилище, в нашем случае в BigQuery. Из одних источников (наш собственный продакшн) данные приходят каждый час, из других (обычно сторонние источники) данные идут ежедневно.

В последствии данные обрабатываются до состояния пригодного к употреблению разнообразными пользователями. Это могут быть внутренние дашборды; отчёты партнёрам; результаты, которые идут в продакшн и влияют на поведение продукта. Эти операции могут быть довольно сложными и включать несколько источников данных. Но по большей части мы с этим справляется внутри BigQuery с помощью SQL+UDF. Результаты сохраняются в отдельные таблицы там же.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments2

Когда хочешь красную таблетку: гайд по matrix

Reading time14 min
Views63K

В статье рассказывается о том, как использовать Matrix для повседневной переписки.

Статья написана для тех, кого не устраивают существующие мессенджеры и соцсети, и кто хочет найти им лучшую замену.

Предполагается, что вы знаете самые основы безопасного общения: не приклеиваете пароли на мониторе и не боитесь ключей шифрования.

Погружение в матрицу стоит начать с понятия федерации.

Погружаемся в matrix далее
Total votes 31: ↑31 and ↓0+31
Comments22

Как поднять инстанс Mastodon (аналог Twitter)

Reading time8 min
Views4.3K

Прошло уже месяца два как я начал миграцию из Twitter в Mastodon (далее прописью). Мастодон это полный аналог твиттера, только ты можешь поднять свой сервер и все сервера соединены между собой, так что ты можешь общаться со всей сетью. Контента, особенно англоязычного, в мастодоне море, журналисты, NASA, все крупные новостные издания уже там и среди моих подписок. Если не хочется возни, то можно на любом сервере завести себе аккаунт где открыта регистрация. Есть веб клиенты и приложения для android и ios. Все это называется федеративная сеть. Не нравится модератор сервера, заводишь свой или мигрируешь на другой. Все реже появляюсь в твиттере теперь. Но просто создать аккаунт в мастодоне было не интересно так что я поднял себе инстанс (так называют сервера мастодона обычно), о чем и напишу.

Особо хочу отметить адекватность и интересность обитателей. Пока что это сеть не пораженная раком как твиттер. Так что шитпостинга и неадекватов там мало. И как в твиттере нет одного Илона, нашего всего, Маска, способного забанить кого угодно по желанию левой пятки. Мало того так как админ сервера вы, вы можете банить целые сервера федиверса так что всякая гадость, с вашей точки зрения, быстро остается в изоляции и может совершенно спокойно коммуницировать межу собой на своих серверах и между своих серверов внутри своего сегмента федиверса. Есть много инстансов где пускают только по приглашению или вообще не пускают. При этом они могут читать всех, их могут читать все, но они могут забанить кого не хотят видеть. В общем все честно и спокойно, все живут с кем хотят и как хотят, и могут общаться. Инстансов сотни, может уже тысячи. С миллионами пользователей уже.

Читать далее
Total votes 9: ↑6 and ↓3+3
Comments7

Заметка о Mastodon — аналоге Twitter из вселенной децентрализованных соцсетей Fediverse

Reading time3 min
Views12K

Заметка о Mastodon — аналоге Twitter из вселенной децентрализованных соцсетей Fediverse

На фоне текущих событий, когда уже привычным становится, что владельцы соцсетей своими собственными решениями блокируют отдельных пользователей (по их мнению, являющихся нехорошими), заинтересовался возможностью использования децентрализованных p2p-соцсетей. Дабы посмотреть, как функционирует экосистема Fediverse, зарегистрировался в соцсети Mastodon (микроблоггинг, аналог Twitter), и поизучал ее аккаунты.

Mastodon представляет собой свободное распространяемое ПО для развертывания децентрализованных соцсетей, предоставляющих услуги микроблоггинга, схожих с Twitter. В отличие от архитектуры популярных социальных сетей, в нем нет центральных серверов и любой может развернуть собственный узел или подключиться к существующему. Каждый узел имеет свои правила, условия использования и политику модерации, и пользователь может выбирать приемлемый для него, а при необходимости - переходить на более подходящий с сохранением своего аккаунта.

Входит в объединение децентрализованных интернет-сервисов Fediverse, в составе которого имеются также сервисы фото- (PixelFed), видео- (Peertube), файлового хостингов и многое другое, являющихся аналогами Facebook, Youtube, Twitter, Spotify и т.д. В настоящее время в Mastodon зарегистрированы более 4,4 млн. пользователей.

Кстати, Д.Трампа его новая социальная сеть Truth Social использует код Mastodona (аккаунты Дональда практически все соцсети блокировали год назад, на фоне протеста против результатов президентских выборов 2020 года, и он учел это)

В ходе изучения блуждания по аккаунтам Mastodon и дойдя до Южной Америки обнаружил, что политики Венесуэлы, наряду с использованием Twitter, Facebook, Instagram, Youtube и Telegram, присутствуют и там.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments9

CRDT: Conflict-free Replicated Data Types

Reading time10 min
Views43K

Как считать хиты страницы google.com? А как хранить счётчик лайков очень популярных пользователей? В этой статье предлагается рассмотреть решение этих задач с помощью CRDT (Conflict-free Replicated Data Types, что по-русски переводится примерно как Бесконфликтные реплицированные типы данных), а в более общем случае — задачи синхронизации реплик в распределённой системе с несколькими ведущими узлами.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments14

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity