Pull to refresh
12
0
Александр Шатилов @alexbraun

Tech Lead using Angular & .net

Send message

Простыми словами о базовых принципах SRE

Reading time4 min
Views4.8K

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

Читать далее
Total votes 6: ↑4 and ↓2+4
Comments0

Прибытие тензорного поезда. Как достижения мультилинейной алгебры помогают преодолеть проклятие размерности

Level of difficultyHard
Reading time6 min
Views8.8K

Привет! Меня зовут Глеб Рыжаков, я научный сотрудник Сколтеха. Я занимаюсь математикой, а точнее, линейной алгеброй, и её приложениями к практическим задачам. Сегодня я расскажу вам о нашем исследовании, которое может помочь справиться с проблемой проклятия размерности, которая возникает во множестве статистических задач, включая машинное обучение.

Понятие «проклятие размерности» появилось в середине прошлого века в пионерской работе Ричарда Беллмана, посвященной методам решения сложных задач путём разбиения их на более простые подзадачи. Сегодня оно понимается в более общем смысле, а именно как экспоненциальный — O(nd) — рост количества необходимых данных и, как следствие, количества памяти, необходимой для их хранения, с ростом размерности пространства d. Когда задачу можно свести к работе с многомерными массивами в общем случае комплексных чисел, удобно говорить о d-мерных тензорах и использовать достижения мультилинейной алгебры. Хорошая новость заключается в том, что там существует такая процедура, как тензорное разложение, которое в ряде случаев может помочь преодолеть проклятие размерности.

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

Как работает JS: веб-воркеры и пять сценариев их использования

Reading time13 min
Views134K
[Советуем почитать] Другие 19 частей цикла
Часть 1: Обзор движка, механизмов времени выполнения, стека вызовов
Часть 2: О внутреннем устройстве V8 и оптимизации кода
Часть 3: Управление памятью, четыре вида утечек памяти и борьба с ними
Часть 4: Цикл событий, асинхронность и пять способов улучшения кода с помощью async / await
Часть 5: WebSocket и HTTP/2+SSE. Что выбрать?
Часть 6: Особенности и сфера применения WebAssembly
Часть 7: Веб-воркеры и пять сценариев их использования
Часть 8: Сервис-воркеры
Часть 9: Веб push-уведомления
Часть 10: Отслеживание изменений в DOM с помощью MutationObserver
Часть 11: Движки рендеринга веб-страниц и советы по оптимизации их производительности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 13: Анимация средствами CSS и JavaScript
Часть 14: Как работает JS: абстрактные синтаксические деревья, парсинг и его оптимизация
Часть 15: Как работает JS: классы и наследование, транспиляция в Babel и TypeScript
Часть 16: Как работает JS: системы хранения данных
Часть 17: Как работает JS: технология Shadow DOM и веб-компоненты
Часть 18: Как работает JS: WebRTC и механизмы P2P-коммуникаций
Часть 19: Как работает JS: пользовательские элементы

Публикуем перевод седьмой части часть серии материалов об особенностях работы различных механизмов JavaScript. Наша сегодняшняя тема — веб-воркеры. В частности, речь пойдёт о различных типах веб-воркеров, о том, как организована совместная работа тех частей, из которых они состоят, а также об их возможностях и об ограничениях, с которыми можно столкнуться в разных сценариях их использования. Здесь же будет показано 5 вариантов практического применения веб-воркеров.

image
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments21

Алгоритм backtracking

Reading time10 min
Views25K

Автор статьи: Артем Михайлов

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

Читать далее
Total votes 10: ↑9 and ↓1+12
Comments6

Сoncurrent collections за 10 минут

Reading time7 min
Views50K
image
Photo by Robert V. Ruggiero

Тема не новая. Но задавая вопрос “что такое concurrent collections и когда их использовать?” на собеседовании или code review, я почти всегда получаю ответ, состоящий из одного предложения: “они полностью защищают нас от race conditions” (что невозможно даже в теории). Или: “это как обычные коллекции, но там внутри все на lock-ах”, что тоже не совсем соответствует действительности.

Цель данной статьи — разобрать тему за 10 минут. Будет полезно для быстрого знакомства с некоторыми тонкостями. Или чтобы освежить память перед собеседованием.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments5

Абстрактная алгебра в действии

Reading time6 min
Views27K

В последнее время всё чаще я ощущаю математическое веяние в программировании. Нет, это не про интегралы с производными, а про что-то абстрактное, другое. Про то, что было всегда у нас под носом, но оставалось незамеченным. Наступит день - про это будут говорить на каждом углу. Но не сегодня. Сегодня мы с этим познакомимся.

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

Logux: Connection lost, data synchronized – интервью с Андреем Ситником (Злые Марсиане)

Reading time6 min
Views13K
Что происходит, если вдруг на клиенте пропадает интернет? Возможно, на долю секунды, а может быть, на более ощутимый период? Все мы как пользователи сталкиваемся с нестабильным сигналом, плавающим качеством связи. Иногда это неважно, ведь хочется посмотреть какое-то весёлое видео, иногда от этого может зависеть очень многое – представьте, что вам срочно надо купить билет на поезд или оплатить тот же самый интернет.

Те сферы, где очень важен конечный пользователь – например, СМИ, говорят, что уже 13% пользователей уходят, если ваш сайт открывается больше четырёх секунд, не разбираясь в причинах. А теперь давайте представим такого пользователя, который еще пробует отправить комментарий, и он постоянно «отваливается» из-за проблем со связью?

Процент уходов и отказов будет заведомо больше. Как этого избежать? Что можно сделать в ситуации, когда данные должны быть гарантированно отправлены как от клиента, так и со стороны сервера?

На этот и другие вопросы отвечает Андрей Ситник – автор PostCSS и Автопрефиксера, ведущий фронтендер в «Злых Марсианах».









– Почему мы вообще говорим о проблемах связи? Разве это не вопрос, исключительно связанный с физическими/сетевыми возможностями?

– OSI тут не совсем в тему. Logux заменяет REST и AJAX. То есть это чисто прикладной уровень. Logux решает следующие проблемы:
Читать дальше →
Total votes 40: ↑35 and ↓5+30
Comments14

Год без Miro: обзор российского рынка онлайн-досок

Reading time15 min
Views40K

Уже год прошёл с того момента, как популярный сервис Miro закрыл офис в России и прекратил новые продажи российским пользователям. Сервис полностью не ушёл из России, вы можете зайти на их сайт и даже в прежнем режиме поработать на доске, но возникают сложности, если вам нужно больше, чем бесплатный тариф с ограничениями.

Одно из решений — рассмотреть российские онлайн-доски. Да, они есть и в условиях импортозамещения постоянно появляются новые. В этой статье расскажу, что происходит на российском рынке онлайн-досок, какие решения есть на замену зарубежным доскам и каким функционалам они обладают.

Читать далее
Total votes 13: ↑12 and ↓1+13
Comments15

Я — айтишник, я не хочу много знать

Reading time6 min
Views110K

За последнее время мне довелось провести немало технических собеседований на позицию DevOps инженера, в связи с чем появилась идея формализовать полученные выводы в этой статье. Хочу поделиться своими наблюдениями, субъективным мнением, и задать самому себе вопросы, ответы на которые, возможно, мне помогут получить читатели данной статьи.

Читать далее
Total votes 125: ↑117 and ↓8+142
Comments943

Тренды Kubernetes и контейнеризации в 2023 году

Reading time14 min
Views18K

Какие вызовы стоят перед Kubernetes? Каким будет текущий, 2023 год? Что ждет Kubernetes в будущем? Мы проанализировали различные профильные исследования и постарались выделить все самое интересное, чтобы ответить на эти и другие вопросы. Рады поделиться с вами полученной информацией.

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

Как настроить миграцию etcd между облачными кластерами Kubernetes и избежать простоев

Level of difficultyHard
Reading time11 min
Views5.9K

Допустим, вам нужно перенести хранилище данных из одного кластера в другой. А выключать его нельзя, потому что это может вызвать незначительный (или значительный) коллапс сервисов, которые с ним работают. В статье мы расскажем о не самом очевидном и популярном способе переноса etcd из одного облачного кластера Kubernetes в другой. Такой способ поможет избежать простоя и связанных с ним последствий. Согласно стартовым условиям, оба кластера находятся в облаке, а потому нам предстоит столкнуться с некоторыми ограничениями и трудностями — им мы уделим особое внимание.

Примечание: Сразу оговорим, что речь идет про миграцию не того etcd, в котором Kubernetes хранит все состояние кластера. В статье описана миграция отдельной инсталляции etcd, которая используется сторонними приложениями и находится внутри кластера k8s.

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

Эксперименты с kube-proxy и недоступностью узла в Kubernetes

Reading time8 min
Views24K
Прим. перев.: В этой статье, написанной техническим консультантом и сертифицированным администратором Kubernetes из Великобритании — Daniele Polencic, — наглядно показывается и рассказывается о том, какую роль играет kube-proxy в доставке пользовательских запросов до подов и что происходит, когда на одном из узлов кластера возникают проблемы.

Код приложений, развёрнутых в Kubernetes, запускается на одном или более рабочих узлов. Узел может располагаться как на физической или виртуальной машине, так и в AWS EC2 или Google Compute Engine, а наличие множества таких площадок означает возможность эффективного запуска и масштабирования приложения. Например, если кластер состоит из трёх узлов и вы решаете отмасштабировать приложение на четыре реплики, Kubernetes равномерно распределит их среди узлов следующим образом:

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

Внутреннее устройство Kubernetes-кластера простым языком

Reading time6 min
Views72K

Прим. перев.: как многим хорошо известно, Kubernetes — это всего лишь пять бинарников. Об их назначении и рассказывает в этой статье Vedashree Patil, консультант из Deloitte Digital. Когда ей потребовалось изучить Kubernetes, она столкнулась с большим количеством новой информации, осознать которую за короткое время было непросто. Так она пришла к идее уменьшить порог вхождения в K8s другим специалистам, создав цикл публикаций «Kubernetes 101». Все статьи сопровождаются простыми и наглядными комиксами. Представляем вниманию перевод материала под названием «Внутри кластера» из этого цикла.

Как выглядит кластер Kubernetes? Как работают узлы? Из этой статьи вы узнаете обо всех основных компонентах системы Kubernetes.

Читать далее
Total votes 57: ↑55 and ↓2+61
Comments10

Kubernetes в Docker (KinD): балансировка нагрузки Kubernetes в Docker

Reading time5 min
Views6.2K

Привет, Хабр!

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

Читать далее
Total votes 8: ↑6 and ↓2+5
Comments2

Основы Kubernetes

Reading time13 min
Views885K
В этой публикации я хотел рассказать об интересной, но незаслуженно мало описанной на Хабре, системе управления контейнерами Kubernetes.

image

Что такое Kubernetes?


Kubernetes является проектом с открытым исходным кодом, предназначенным для управления кластером контейнеров Linux как единой системой. Kubernetes управляет и запускает контейнеры Docker на большом количестве хостов, а так же обеспечивает совместное размещение и репликацию большого количества контейнеров. Проект был начат Google и теперь поддерживается многими компаниями, среди которых Microsoft, RedHat, IBM и Docker.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments86

Онлайн-доски: обзор российских решений

Reading time8 min
Views54K

Удаленным командам нужно пространство для совместной работы. Где можно и простой мозговой штурм устроить, и сложные схемы построить.

Давайте вместе посмотрим, что есть на российском рынке. Сама начала активно искать замену Miro для своей команды — делюсь тем, что удалось найти.

Я взяла три российских решения: Pruffme, GetLocus и sBoard и сравнила их по ключевым параметрам.

Читать
Total votes 8: ↑7 and ↓1+8
Comments11

Горизонтальное автомасштабирование подов Kubernetes и Prometheus для высокой доступности и работоспособности инфрастр-ры

Reading time7 min
Views17K
Салют, хабровчане! Перевод следующей статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes», занятия по которому стартуют уже завтра. Начнем.



Автомасштабирование в Kubernetes


Автомасштабирование позволяет автоматически увеличивать и уменьшать рабочие нагрузки в зависимости от использования ресурсов.

У автомасштабирования в Kubernetes два измерения:

  • автомасштабирование кластера (Cluster Autoscaler), которое отвечает за масштабирование узлов;
  • горизонтальное автомасштабирование подов (Horizontal Pod Autoscaler, HPA), которое автоматически масштабирует количество подов в развертывании или наборе реплик.

Автомасштабирование кластера можно использовать в сочетании с горизонтальным автомасштабированием подов для динамического регулирования вычислительных ресурсов и степени параллелизма системы, необходимых для соблюдения соглашений об уровне обслуживания (SLA).
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments3

Три уровня автомасштабирования в Kubernetes: как их эффективно использовать

Reading time8 min
Views16K

Для полного освоения Kubernetes нужно знать различные способы масштабирования кластерных ресурсов: по словам разработчиков системы, это одна из главных задач Kubernetes. Мы подготовили высокоуровневый обзор механизмов горизонтального и вертикального автомасштабирования и изменения размера кластеров, а также рекомендации, как их эффективно использовать.

Статью Kubernetes Autoscaling 101: Cluster Autoscaler, Horizontal Autoscaler, and Vertical Pod Autoscaler перевела команда, которая реализовала автомасштабирование в Kubernetes aaS от Mail.ru.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments4

SSL-сертификаты от Let's Encrypt с cert-manager в Kubernetes

Reading time10 min
Views47K


В этой статье я расскажу о том, как автоматизировать заказ и продление сертификатов от Let’s Encrypt (и не только) для Ingress’а в Kubernetes с помощью дополнения cert-manager. Но начну с краткого введения в суть проблемы.
Читать дальше →
Total votes 30: ↑29 and ↓1+35
Comments17

Kubernetes Nginx Ingress: Перенаправление трафика с использованием аннотаций

Reading time5 min
Views39K

Kubernetes Nginx Ingress: перенаправление трафика с использованием аннотаций



Перенаправляйте HTTP-трафик или переписывайте URL-адреса с помощью входных аннотаций Kubernetes и Nginx ingress controller. В этой статье объясняется использование аннотаций и их влияние на результирующий файл конфигурации nginx.conf.

Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments10

Information

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