Pull to refresh
0
0
Иван @freeOne

User

Send message

Как работать с Minikube: рекомендации и полезные советы

Reading time5 min
Views22K

Kube Earth by Anarki3000

Minikube — популярное решение для запуска локального кластера Kubernetes на macOS, Linux и Windows. Несмотря на большой набор функций и кроссплатформенную поддержку, Minikube всё же отличается от полнофункционального кластера Kubernetes.

Часто это сбивает с толку разработчиков и новых пользователей Kubernetes, которым нужно протестировать приложение в локальной среде. Команда Kubernetes aaS VK Cloud Solutions перевела статью о том, как наладить беспроблемную работу с Minikube.
Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments2

Как работать с облачной инфраструктурой: книги и справочники для инженеров [и интересующихся]

Level of difficultyEasy
Reading time5 min
Views3.9K
image

Мы подготовили подборку свежих высоко оцененных изданий (опубликованных после 2021 года), которые рекомендуют специалисты облачных провайдеров, резиденты Hacker News и участники тематических тредов на других площадках.

Книги из списка могут быть полезны системным администраторам, разработчикам и всем, кто желает погрузиться в мир микросервисов, ОС и DevOps.

Также напомним, что у нас есть база знаний с практическими материалами по облачным сервисам.

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

Шаблон backend сервера на Golang — часть 5 — оптимизация Worker pool

Level of difficultyMedium
Reading time32 min
Views6.9K

# Шаблон backend сервера на Golang — часть 5 — оптимизация Worker pool


Пятая часть посвящена оптимизации Worker pool и особенностям его работы в составе микросервиса, развернутого в Kubernetes.


Представленный Worker pool поддерживает работу с двумя типами задач


  • "Короткие" — не контролируется предельный timeout выполнения и их нельзя прервать
  • "Длинные" — контролируется предельный timeout выполнения и их можно прервать

Накладные расходы Worker pool на добавление в очередь, контроль очереди, запуск обработки task, контроль времени выполнения task:


  • Для "коротких" task — от 300 ns/op, 0 B/op, 0 allocs/op
  • Для "длинных" task — от 1400 ns/op, 16 B/op, 1 allocs/op

Для task, которые должны выполняться быстрее 200 ns/op представленный Worker pool использовать не эффективно


Собираются следующие метрики prometheus:


  • wp_worker_process_count_vec — количество worker в работе
  • wp_task_process_duration_ms_by_name — гистограмма длительности выполнения task в ms с группировкой по task.name
  • wp_task_queue_buffer_len_vec — текущая длина канала-очереди task — показывает заполненность канала
  • wp_add_task_wait_count_vec — количество задач, ожидающих попадания в очередь

Ссылка на репозиторий проекта.


Шаблон goapp в репозитории полностью готов к развертыванию в Docker, Docker Compose, Kubernetes (kustomize), Kubernetes (helm).


Ссылки на предыдущие части:


  • Первая часть шаблона была посвящена HTTP серверу.
  • Вторая часть шаблона была посвящена прототипированию REST API.
  • Третья часть посвящена развертыванию шаблона в Docker, Docker Compose, Kubernetes (kustomize).
  • Четвертая часть будет посвящена развертыванию в Kubernetes с Helm chart и настройке Horizontal Autoscaler.
Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments4

Релокация на Бали: что нужно знать перед переездом

Reading time12 min
Views31K

Привет, Habr. Я Ира, интернет-маркетолог и digital nomad.

С февраля этого года большая часть моих друзей покинула Россию. Пересекаясь с ними в разных странах, всегда доходит дело до разговоров о том, как и где теперь жить. И пока все обсуждают, как выросли цены на жилье в Грузии, какие есть минусы у Армении с Казахстаном и насколько легко легализоваться в Черногории, я ощущаю себя дьяволом, который нашептывает каждому: «Пс! А ведь есть Азия… Есть Бали…Там классно!». Да, у Бали есть свои нюансы, но пожив там, я поняла, что это хорошее место для временной релокации.

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

Читать далее
Total votes 34: ↑28 and ↓6+22
Comments59

Все способы покупки крипты в России: детальный разбор со ссылками

Reading time15 min
Views117K

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

Читать далее
Total votes 78: ↑74 and ↓4+70
Comments30

«Уехал, и что дальше?» — подборка для планирования жизни за границей

Reading time3 min
Views127K

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

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

Читать скорее!
Total votes 103: ↑91 and ↓12+79
Comments234

10 ситуаций выбора, которые стоят перед тимлидом

Reading time7 min
Views5.3K


Первая ситуация, думаю, знакома многим: есть несколько задач, реализация которых зависит от результатов работы других команд разработки (вам вместе нужно их делать). Как лучше спланировать недельный спринт? Там было два варианта: поставить все кросс-командные задачи как можно плотнее и раньше, а также сделать микс из кросс-командных и внутрикомандных задач.

Ситуация встречается очень часто в архитектуре нескольких команд разработки с пересекающейся зоной ответственности: чаще всего это какая-то инфраструктурная команда и продуктовая либо две продуктовые и инфраструктурная, которые вместе делают интеграцию по API. Так вот, весь смысл гибких методологий разработки заключается в том, что плана, по сути, нет. Есть процесс разведки и исследования проблемы и проекта. То есть нельзя твёрдо полагаться на то, что другая команда сделает что-то в срок, а вы придёте и сделаете на этой основе свою часть работы. Это не строительство, когда одна бригада пришла класть кирпич поверх уже готового фундамента.

Именно поэтому нельзя занимать весь спринт кросс-командными задачами: статистически в них многое пойдёт не так, и в итоге возникнут ожидания и простои. Лучше иметь внутрикомандные (а в идеале так вообще внутрикомандные и индивидуальные) задачи, которые можно делать, пока другая команда что-то пилит.

Но и это не всё. Гораздо более широкая ситуация — выбор senior-тимлида — даже не в этом, а в причинах задержек. Конкретно — что именно привело к тому, что нужно полностью полагаться на другую команду, и можно ли этим как-то управлять.
Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments4

Как выбрать куда иммигрировать. 10 главных критериев

Reading time8 min
Views28K

Сейчас многим как никогда нужен совет бывалого иммигранта в том, как выбрать место для переезда. А у меня, пожалуй, самый большой нетворк среди русскоязычных IT-иммигрантов от Канады до Чили, от Австралии до Португалии (можем померяться 😉), да и сама я уже больше 6 лет живу в Кремниевой долине, а последние 3 занимаюсь релокейтом IT-специалистов в США. В общем наконец у меня появился повод собрать все знания и структурировать их в серию статей. Выкладывать буду раз в неделю. Анонс смотрите ниже (по мере публикации ссылки будут становиться кликабельными).

Читать далее
Total votes 49: ↑33 and ↓16+17
Comments101

10 лучших алгоритмов 20 века

Reading time7 min
Views45K
Прим. Эта статья была опубликована в майском номере 2000 года журнала SIAM. На рубеже веков появилась «мода» на подведение итогов уходящего столетия. И алгоритмы этой участи не избежали. В этой статье авторы делают обзор 10 лучших алгоритмов 20 века. Возможно, вам будет интересно узнать, какие алгоритмы, по мнению авторов списка, внесли наибольший вклад в развитие науки.

Algos — греческое слово, означающее боль. Algor — латинское слово, означающее холод. Но ни то, ни другое не является корнем слова «алгоритм», которое происходит от имени Аль-Хорезми – арабского ученого девятого века – чья книга «al-jabr wa’l muqabalah» (Китаб аль-джебр ва-ль-мукабала) переросла современные учебники по алгебре для средней школы. Аль-Хорезми подчеркивал важность методических процедур для решения задач. Будь он сегодня здесь, то, несомненно, был бы впечатлен вершинами математического метода, названного в его честь.

Часть из лучших алгоритмов компьютерной эры были освещены в январско-февральском выпуске 2000 года журнала Computing in Science & Engineering — совместном издании Американского института физики и Компьютерного общества IEEE. Приглашенные редакторы Jack Dongarra (Джек Донгарра) из Университета Теннесси и Francis Sullivan (Фрэнсис Салливан) из Института оборонного анализа составили список из 10 алгоритмов, который они назвали «Top Ten Algorithms of the Century».

«Мы попытались собрать 10 алгоритмов, оказавших наибольшее влияние на развитие и практику науки и техники в 20 веке», — пишут Донгарра и Салливан. По признанию авторов, как и в любом рейтинге, их выборы неизбежно будут спорными. Когда дело доходит до выбора лучшего алгоритма, кажется, что он и вовсе не существует.

Итак, вот список 10 лучших алгоритмов в хронологическом порядке. (Все даты и имена стоит воспринимать как аппроксимацию первого порядка. Большинство алгоритмов формируются в течение времени при участии многих ученых).
Читать дальше →
Total votes 48: ↑47 and ↓1+46
Comments44

Куда уходит время? Боремся за миллисекунды в Kubernetes

Reading time7 min
Views20K

Привет, Хабр! Меня зовут Вова, я разрабатываю observability-платформу в Ozon. Как-то раз в наш уголок на 42 этаже заглянули коллеги — и поделились наблюдением. Если открыть рядом графики времён запросов и ответов двух живущих в Kubernetes и общающихся между собой микросервисов, то иногда можно наблюдать большую разницу в высоких квантилях: клиент считает, что один ответ из сотни ему приходит за сто миллисекунд, сервер же говорит, что успевает ответить за десять.

Куда ушло время? Можно ли его вернуть? Под катом расскажу о том, с какими граблями может столкнуться микросервис, живущий в типичной инсталляции Kubernetes.

Читать далее
Total votes 141: ↑140 and ↓1+139
Comments23

Монорепо: typescpript & workspaces npm. Настройка и публикация в npm

Reading time7 min
Views17K

Существуют разные способы создания монорепозитория в node.js, есть разные библиотеки для этих целей: yarn workspaces, lerna и так далее. Но сегодня я хочу коротко рассказать о монорепозитории на typescript, используя только npm.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments3

Docker, VSCode, GitLab и Office: бесплатные альтернативы популярным сервисам для программирования и работы

Reading time4 min
Views21K

В результате приостановки работы зарубежных компаний и отключения российских компаний от платежных систем Visa и MasterCard многие программисты столкнулись с проблемой доступа к привычным сервисам. Рассказываем о бесплатных альтернативах продуктам, которые уже недоступны для российских пользователей по корпоративным подпискам или могут стать такими в ближайшее время.

Читать далее
Total votes 26: ↑17 and ↓9+8
Comments53

О безопасности Kubernetes. Часть 1. Об угрозах

Reading time5 min
Views5.3K

Технологии контейнеризации в последние годы получили широкое распространение и наиболее известным решением по управлению контейнерами по праву считается Kubernetes, или, сокращенно, K8s. Kubernetes это система автоматизации развертывания и масштабирования контейнеризированных приложений и управления ими. Данная система построена на базе программного обеспечения с открытым исходным кодом. Изначально решение разрабатывалось специалистами Google, начиная с 2014 года и предназначалось для решения внутренних задач корпорации. Однако, впоследствии Kubernetes стал решением Open-Source и получили широкое распространение по всему миру.

Kubernetes, как система управления кластерами из контейнеров, является динамическим решением, которое позволяет в режиме реального времени реагировать на события, оживлять “упавшие” сервисы и масштабироваться по запросу. Особенно преимущества Kubernetes  в части живучести оценили разработчики. В качестве примера можно привести историю, когда у помещенного в контейнеры приложения начала “течь” память. Однако, разработчики узнали об этом только через несколько месяцев, когда заинтересовались, логами приложения. А все это время Kubernetes исправно следил за контейнерами с этими приложениями и в случае их “подвисания” тут же рестартовал их. Так что живучесть контейнеризированным приложениям данная система обеспечивает на “отлично”.

В целом, K8s можно назвать стандартом для современных DevOps-сред в организациях различного уровня. Например, Kubernetes используется в таких облачных сервисах, как: AWS, Microsoft Azure или Google Cloud.

Читать далее
Total votes 13: ↑6 and ↓7-1
Comments0

Обзор self-hosted serverless-фреймворков для Kubernetes

Reading time8 min
Views9.2K

В статье расскажу про serverless computing и какие есть Open Source-реализации self-hosted-фреймворков с поддержкой Kubernetes, об их возможностях и ограничениях. Еще поделюсь опытом нашего клиента, который использует одно из таких решений (OpenFaaS). Идея обзора как раз и возникла в процессе изучения этого кейса.

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

Как максимизировать своё capacity (2)

Reading time11 min
Views5.8K

Продолжаем рассказ про здоровую продуктивность. Вот здесь можно найти начало моего рассказа, а сейчас поговорим про планирование и выполнение задач.

Ок, ресурс набран, голова свободна и может хорошо решать задачи. Осталось организовать этот процесс.

Узнать как
Total votes 13: ↑13 and ↓0+13
Comments4

Пожалуйста, прекратите писать shell-скрипты

Reading time5 min
Views79K

Когда вы автоматизируете какую-либо задачу, например, упаковываете свое приложение для Docker, то часто сталкиваетесь с написанием shell-скриптов. У вас может быть bash-скрипт для управления процессом упаковки и другой скрипт в качестве точки входа в контейнер. По мере возрастающей сложности при упаковке меняется и ваш shell-скрипт.

Все работает хорошо.

И вот однажды shell-скрипт совершает что-то совсем неправильное.

Тогда вы осознаете свою ошибку: bash, и вообще shell-скрипты, в основном, по умолчанию не работают. Если с самого начала не проявить особую осторожность, любой shell-скрипт достигнув определенного уровня сложности почти гарантированно будет глючным... а доработка функций корректности будет довольно затруднительна.

Читать далее
Total votes 116: ↑92 and ↓24+68
Comments251

Разворачиваем PostgreSQL, Redis и RabbitMQ в Kubernetes-кластере

Reading time9 min
Views26K

В этой статье я не буду объяснять, зачем вот это всё нужно, или обсуждать достоинства и недостатки этого решения. Воспринимайте эту статью как инструкцию (заметку) для быстрого развёртывания базы и брокера сообщений в dev-кластере Kubernetes.

Читать далее
Total votes 49: ↑48 and ↓1+47
Comments13

Гайд: работающие способы вывести деньги за рубеж / завести в Россию

Reading time8 min
Views225K

В этой статье я постарался систематизировать всю имеющуюся на текущий момент информацию о том, как можно переместить капитал в том или ином виде через российскую границу.

Читать далее
Total votes 116: ↑103 and ↓13+90
Comments173

Всё, что вы не знали о CAP теореме

Reading time7 min
Views123K
Во время моего первого опыта работы с распределенными системами я постоянно сталкивался с некой CAP-теоремой, пришлось изрядно покопать, чтобы изучить и осознать её со всех сторон. Я не являюсь мастером баз данных, но надеюсь, что мое маленькое исследование мира распределённых систем будет полезно для обычных разработчиков. В статье я расскажу о том, что такое CAP, его проблемы и альтернативы, а также рассмотрим некоторые популярные системы баз данных через CAP призму.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments9

Борьба с  TOAST или будущее JSONB в PostgreSQL

Reading time9 min
Views21K

В PostgreSQL есть два типа данных: JSON и JSONB. Первый формат является текстовым хранилищем, в котором json хранится "as is",  второй — бинарным, в нем ключи отсортированы  (сначала по длине ключа, а потом по его названию), дубликаты удалены, а пробелы удалены.

Тип JSONB имеет богатую поддержку, облегчающую работу разработчиков приложений, для него есть встроенные индексы, кроме того, существует расширение Jsquery, в котором реализован язык запросов к JSONB и дополнительные индексы. Когда у меня спрашивают, чем пользоваться, я всегда советую JSONB, так как он позволяет работать очень эффективно. 

Однако у постгреса есть серьёзная проблема, которая сказывается и на производительности JSONB  — это TOAST, и о ней я говорил в первой части. Сегодня я расскажу о том, как мы улучшили JSONB для того, чтобы существенно повысить его производительность.

Читать далее
Total votes 58: ↑57 and ↓1+56
Comments10
1
23 ...

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity