Как стать автором
Обновить
10
0
Юрий Шуткин @Loyreni

Инфраструктурный инженер

Отправить сообщение

Организация стенда локальной разработки для самых маленьких с автоматической пересборкой приложения (фронтенд + бэкенд)

Уровень сложностиПростой
Время на прочтение25 мин
Количество просмотров15K

Вносить изменения в код приложения и тут же автоматически получать задеплоенные изменения, чтобы быстро тестировать его, — мечта разработчика. В этой статье мы посмотрим, как реализовать такой подход для небольшого приложения с фронтендом и бэкендом: организуем два варианта локального стенда на базе minikube или Docker с автоматическим развертыванием всех изменений или только закоммиченых в Git.

Бэкенд приложения напишем на Go, а фронтенд — на Vue.js. Все это позволит быстро запускать проект для тестирования прямо во время разработки, что, несомненно, повысит удобство работы с приложением.

Читать далее
Всего голосов 33: ↑31 и ↓2+36
Комментарии4

Глубокое погружение в Linux namespaces, часть 4

Время на прочтение10 мин
Количество просмотров28K

Часть 1
Часть 2
Часть 3
Часть 4


В завершающем посте этой серии мы рассмотрим Network namespaces. Как мы упоминали в вводном посте, network namespace изолирует ресурсы, связанные с сетью: процесс, работающий в отдельном network namespace, имеет собственные сетевые устройства, таблицы маршрутизации, правила фаервола и т.д. Мы можем непосредственно увидеть это на практике, рассмотрев наше текущее сетевое окружение.

Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии3

API для Инвестиций, или Как написать торгового робота

Время на прочтение6 мин
Количество просмотров20K

На связи команда Тинькофф Инвестиций. В этой статье разберем, как клиенты с минимальными навыками программирования создают торговых роботов. Базой будет API брокера Тинькофф Инвестиций — Tinkoff Invest API. Добро пожаловать на борт!

Читать далее
Всего голосов 16: ↑14 и ↓2+13
Комментарии4

Как в Тинькофф создавали Data Catalog

Время на прочтение9 мин
Количество просмотров13K

В чем главная задача аналитика? Думать головой и принимать решения. А правильные решения можно принять только при наличии нужных данных. Но как найти данные в большой компании? Раньше мы решали эту проблему с помощью ручного ведения документации о данных в Confluence, но с ростом объемов этот подход становился все менее эффективным. Пришло время что-то менять.

Меня зовут Дмитрий Пичугин, я занимаюсь внедрением Data Governance и Data Quality в Тинькофф. Я расскажу, как мы решали проблему поиска данных. Помогать мне в этом будет Роман Митасов. Он виновен в появлении большей части бэкенда Data Detective и расскажет про технические детали проекта.

Читать далее
Всего голосов 21: ↑20 и ↓1+19
Комментарии6

Как мы используем Greenplum в платформе данных Тинькофф

Время на прочтение13 мин
Количество просмотров7K

Меня зовут Дмитрий Немчин, я руковожу отделом, который отвечает за движки хранения и обработки данных в платформе данных Тинькофф. Несколько лет назад мы поняли, что продукты, на которых работало хранилище, перестали нас устраивать. Объемы росли, понадобилось масштабируемое решение. В этом тексте я расскажу, как мы пришли к Greenplum в качестве ядра хранилища данных и как используем его. 

Читать далее
Всего голосов 18: ↑17 и ↓1+17
Комментарии24

Как мы перешли с Elastic на Grafana stack и сократили расходы в несколько раз

Время на прочтение8 мин
Количество просмотров30K

Привет! Хочу поделиться историей миграции сервисов логирования и трейсинга с компонентов Elastic Stack на Grafana Stack и тем, что из этого вышло. До миграции у нас в М2 использовались достаточно классические схемы:

Читать далее
Всего голосов 31: ↑31 и ↓0+31
Комментарии22

Technical Governance для IDP на 7000 разработчиков

Время на прочтение14 мин
Количество просмотров5.6K

Всем привет, меня зовут Дмитрий Гаевский, я руковожу созданием внутренней платформы для разработчиков в Тинькофф. Последние два года стали знаковыми для российской ИТ-отрасли с точки зрения «распаковки» тем о таких платформах. Крупные технологические компании начали делиться опытом, и сегодня я расскажу о нашем кейсе. 

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии4

Топ докладов с TeamLead Conf по версии команды Тинькофф

Время на прочтение6 мин
Количество просмотров4.3K

Привет! Меня зовут Владимир Коноплев, я руковожу разработкой финансовых продуктов в Тинькофф Бизнесе. В мае я посетил TeamLead Conf — конференцию для тимлидов. Расскажу о лучших докладах по версии команды Тинькофф и поделюсь видео с докладом нашей коллегии Юли о тонкостях оценки дизайнерских компетенций. 

Читать далее
Всего голосов 21: ↑18 и ↓3+18
Комментарии2

Сказ про то, как мы метрики качества внедряли

Время на прочтение11 мин
Количество просмотров30K

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

В конце 2020 года перед нами встал вопрос: как придумать инструмент для измерения качества, который бы мог применяться не в отдельной команде, а в целой компании? В этой статье я расскажу, как мы внедряли единые метрики, с какими проблемами столкнулись, куда движемся сейчас и почему метрики — это важно.

Читать далее
Всего голосов 97: ↑45 и ↓52+4
Комментарии41

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

Время на прочтение7 мин
Количество просмотров17K


Всем привет!


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


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


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


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


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

Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии0

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

Время на прочтение4 мин
Количество просмотров2.5K
Привет, хабровчане! Первый в России онлайн-курс IoT-разработчик стартует в OTUS уже в октябре. Прямо сейчас открыт набор на курс, в связи с чем мы традиционно делимся с вами переводом материала по теме.





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



В потребительской сфере технология интернета вещей (Internet of Things — IoT) давно славится своей чрезвычайно халтурной секьюрностью.

Сегодня дома наводнены устройствами с подключением к интернету — будь то эспрессо-кофемашина с приложением или камера видеонаблюдения с подключением к Wi-Fi. По данным Statista, в 2020 году на бытовую электронику будет приходиться 63% всех установленных IoT устройств. Эти устройства могут собирать о своих пользователях данные, которые отправляются обратно поставщикам услуг, чтобы помочь улучшить их продукты. Производство этих устройств является прибыльным делом, и по мере роста спроса потребители все чаще покупают более дешевые устройства экономкласса. Проблема в том, что стандарты безопасности у них обычно довольно слабые.
Читать дальше →
Всего голосов 11: ↑5 и ↓6+1
Комментарии2

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

Время на прочтение6 мин
Количество просмотров51K

Приветствую! Это небольшая статья, отвечающая на вопросы: "что такое 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++ нет
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии19

IP-KVM через QEMU

Время на прочтение5 мин
Количество просмотров20K


Устранение неисправностей при загрузке операционной системы на серверах без KVM — непростое занятие. Создаем себе KVM-over-IP через образ восстановления и виртуальную машину.

В случае возникновения проблем с операционной системой на удаленном сервере, администратор загружает образ восстановления и проводит необходимые работы. Такой способ отлично работает, когда причина сбоя известна, а образ восстановления и установленная на сервере операционная система из одного семейства. Если причина сбоя еще не известна, необходимо понаблюдать за ходом загрузки операционной системы.
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии36

Осторожный переезд в Нидерланды с женой и ипотекой. Часть 1: поиск работы

Время на прочтение12 мин
Количество просмотров108K
На Хабре да и вообще в русскоязычном Интернете есть немало инструкций о том, как перебраться в Нидерланды. Я и сам немало полезного почерпнул из одной статьи на Хабре (ныне, видимо, скрытой в черновике уже нет, вот она). Но я все-таки расскажу о своем опыте поиска работы и переезда в эту европейскую страну. Помнится, и когда я только собирался рассылать резюме, и когда уже проходил собеседования, мне было очень интересно почитать об аналогичном опыте других коллег по цеху.

image

В общем, если вам интересен рассказ о том, как C++ программист из Подмосковья искал работу в Европе, желательно в Великобритании, а нашел-таки в Нидерландах, переехал туда сам и привез жену, все это с непогашенной ипотекой в России и с небольшими приключениями — добро пожаловать под кат.
Читать дальше →
Всего голосов 216: ↑202 и ↓14+188
Комментарии306

Мы включили TLS 1.3. Почему вам стоит сделать то же самое

Время на прочтение4 мин
Количество просмотров23K


В начале года, в отчете о проблемах и доступности интернета за 2018-2019 мы уже писали, что распространение TLS 1.3 неизбежно. Некоторое время назад мы сами развернули версию 1.3 протокола Transport Layer Security и, после сбора и анализа данных, наконец, готовы рассказать об особенностях этого перехода.

Председатели рабочей группы IETF TLS пишут:
«Вкратце, TLS 1.3 должен предоставить фундамент более безопасного и эффективного Интернета на следующие 20 лет».

Разработка TLS 1.3 заняла долгих 10 лет. Мы в Qrator Labs, вместе со всей остальной отраслью, внимательно следили за процессом создания протокола от первоначального проекта. За это время потребовалось написать 28 последовательных версий черновика для того, чтобы в конечном счёте в 2019 году свет увидел сбалансированный и удобный в развертывании протокол. Активная поддержка TLS 1.3 рынком уже очевидна: внедрение проверенного и надежного протокола безопасности отвечает требованиям времени.

По словам Эрика Рескорлы (технического директора Firefox и единственного автора TLS 1.3) в интервью The Register:
«Это полная замена TLS 1.2, использующая те же ключи и сертификаты, поэтому клиент и сервер могут автоматически общаться по TLS 1.3, если оба его поддерживают», — сказал он. «Уже есть хорошая поддержка на уровне библиотек, а Chrome и Firefox по умолчанию включают TLS 1.3».
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии22

Mikrotik. Построение VPN туннелей ipsec с динамическими ip клиентов

Время на прочтение3 мин
Количество просмотров35K
Занимался переводом сети их VPN туннелей с оборудования D link DV 804 HV на Mikrotik. При переводе возникли проблемы решением которых поделюсь с Вами.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии7

Выходим в интернет за пределами РФ: (MikroTik<->Ubuntu) * GRE / IPsec

Время на прочтение8 мин
Количество просмотров69K
Позволю себе опубликовать свой опыт применения сетевых технологий в меру моей испорченности для выхода в интернет из-за пределов РФ. Не будем рассуждать о том, зачем это нужно. Надеюсь, что все всем и так понятно.

Итак, у нас есть статический публичный IP адрес, который приходит Ethernet шнуром в MikroTik RouterBOARD 750G r3 (hEX). Пробуем собрать вот такую конструкцию.


Настройку L2tp линка в рамках этой статьи я не описываю, а на схеме он нарисован только потому, что в ней упоминается.
Читать дальше →
Всего голосов 35: ↑31 и ↓4+27
Комментарии50

Mikrotik: настройка IPsec на автоматическое обновление адреса VPN сервера

Время на прочтение3 мин
Количество просмотров39K
При настройке IPSec рано или поздно все сталкиваются с тем, что можно задать только IP-адреса удаленного VPN-сервера. Указание DNS-записей в настройках IPsec Policies и IPsec Peers не поддерживается.

Это может вызывать определенные неудобства в случаях, если на VPN-сервере:
  • сменили одного провайдера на другого;
  • решили изменить используемый статический IP-адрес;
  • используется динамический (серый) IP-адрес.


Взяв даже простейшую схему, становится видно, что нам придется менять настройки трех роутеров-клиентов VPN-сервера:



И в каждом из трех роутеров сменить значения:
  • IpSec/Policy/dst-address
  • IpSec/Policy/sa-dst-address
  • IpSec/Peer/address

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии27

Приватные методы без нижнего подчеркивания и интерфейсы в Python

Время на прочтение8 мин
Количество просмотров74K


Привет, Habr. Недавно угорел по дизайну — модификаторам доступа и интерфейсам, потом перенес это на язык программирования Python. Прошу под кат — делюсь результатами и как это работает. Для заинтересовавшихся в конце статьи есть ссылка на проект на Github.
Читать дальше →
Всего голосов 33: ↑26 и ↓7+19
Комментарии74

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность