Как стать автором
Обновить
36
-3.5
Кирилл Косолапов @kirillkosolapov

CEO Amvera

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

Операторы PostgreSQL для Kubernetes. Как мы выбирали идеальный вариант для организации системы DBaaS

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 3.9K

Некоторое время назад у нас возникла задача организовать возможность создания managed баз данных. Сложность данной задачи в том, что нам надо развертывать и управлять тысячами баз данных PostgreSQL, которые обеспечивают репликацию, бэкапы, мониторинг и другие полезные пользователям функции. При этом в ядре нашей системы лежит Kubernetes, в котором запускаются приложения пользователей. И по ряду факторов нам требовалось запускать базы данных внутри кластера.

Чтобы не изобретать велосипед, мы решили рассмотреть известные операторы, позволяющие разворачивать базы данных PostgreSQL в Kubernetes и управлять ими.

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

Троттлинг в Kubernetes. Или как настроить лимиты, чтобы приложения не “тормозили”

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 6.2K

Главная рекомендация - отказаться от лимитов!

А теперь подробнее.

Когда у вас много пользователей используют один кластер Kubernetes, возникает вопрос - как задать квоты, чтобы и приложениям хватало ресурса, и не случилось ситуации, когда из-за одного прожорливого соседа страдают все поды на ноде? 

Начну с того, что самым распространенным способом является задание request и limit по CPU и RAM. С оперативной памятью все достаточно просто - при превышении потребления, OMM-Killer остановит процесс. А вот с CPU есть целый ряд нюансов и возможностей наступить на грабли.

Это происходит из-за того, что ресурс процессора делится не долями, а по времени. 

Это можно представить так

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

Бизнес на Open-Source на примере Red Hat, Databricks, Grafana, Cloudera, Confluent, Elastic и других

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

Open-Source почти везде. Почти в каждом проекте и информационной системе встречается какая-то часть кода, распространяемая под open-source лицензией. И это не просто небольшие фрагменты кода, а полноценные, зрелые, высококачественные продукты, которые развиваются и поддерживаются большими (и дорогими) командами. В данной статье я постараюсь разобраться в бизнес-моделях “бесплатного” софта.

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

Amvera Cloud исполнился год! Рассказываем о сложностях запуска технологического стартапа

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

Настало время подводить первые итоги: сервису Amvera Cloud исполнился год. Меня зовут Кирилл Косолапов, я основатель проекта. В этой статье я хочу рассказать, с какими сложностями мы столкнулись и как их преодолели (или не совсем).

Коротко о нас

Мы разрабатываем облако, в котором проекты можно развертывать и обновлять через PUSH в мастер-ветку GIT. Это проще, чем использование VPS (виртуальных машин). 

Начнем с того, что мы открыли регистрацию в облаке Amvera Cloud примерно год назад - 7 ноября. 

Что у нас было: 

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

Деплой приложения на сервер через push в Git. Или как перенести сайт или бот на хостинг в 3 действия

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 9.6K

Когда проект создан, его требуется где-то разместить, чтобы он работал 24/7. В статье мы изучим два способа деплоя приложения на облачный сервер. В первом сценарии мы рассмотрим деплой через отправку кода в выделенный Git-репозиторий. Во втором сценарии мы осуществим аналогичную операцию, но загрузим файлы через графический интерфейс. Оба способа предполагают деплой буквально за 5-10 минут. 

В качестве примера приложения возьмем API для TODO-заметок на языке Python. Вы можете подобным способом перенести на хостинг любой свой сайт или бот, написанные на Java, Node.JS и т.д.

Вот код самого приложения.

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 9

MongoDB vs PostgreSQL. Сравнение документо-ориентированной и реляционной базы данных

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

Дети часто задаются вопросом - кто сильнее, кит или слон? каратист или боксер? В этой статье мы попробуем ответить на на похожий вопрос, сравнив SQL (ну или почти SQL) базу данных PostgreSQL и NoSQL базу данных MongoDB. И понять, для каких проектов лучше подойдет реляционная PostgreSQL, а для каких MongoDB.

Данное сравнение также важно, потому что, учитывая новый функционал, MongoDB стала обладать некоторыми качествами SQL СУБД, включая многодокументные ACID-транзакции, вторичный индекс и расширенные возможности запросов. А PostgreSQL расширяет возможности работы с JSON, включаяиндексирование и оптимизацию запросов.

Читать далее
Всего голосов 14: ↑9 и ↓5 +4
Комментарии 22

Отличия MySQL от PostgreSQL. Выбираем что лучше, PostgreSQL или MySQL

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

PostgreSQL и MySQL являются самыми популярными Open Source реляционными базами данных. И часто возникает вопрос - чем отличается PostgreSQL от MySQL? Ответ на этот вопрос позволит понять, какая из баз данных лучше подойдет вашему проекту.

В данной статье мы сравним PostgreSQL и MySQL по различным параметрам и запишем их в сравнительную таблицу.

Читать далее
Всего голосов 14: ↑6 и ↓8 -2
Комментарии 13

Виды баз данных. Большой обзор типов СУБД

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

Часто, в обзорах видов баз данных упоминают реляционные и “другие”, “NoSQL” и т.д., либо приводят самые основные типы СУБД (базы данных), забывая о редких. В данной статье я постараюсь описать максимально полно виды баз данных и привести примеры конкретных реализаций. Разумеется, статья не претендует на всеохватность и классифицировать базы данных можно по разному, в том числе по типам оптимальной нагрузки и т.д., но надеюсь, она даст базовое представление о видах СУБД и принципах их работы.

В статье мы рассмотрим следующие типы баз данных:

Читать далее
Всего голосов 42: ↑40 и ↓2 +38
Комментарии 16

Что такое Data Observability и с чем ее едят?

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

В последние годы растет сложность IT-инфраструктуры в компаниях и, соответственно, спрос на сервисы мониторинга ее работоспособности. Их все больше покупают, в них все чаще инвестируют. Но в данной статье мы расскажем о новом смежном тренде - Data Observability. Что это и чем она отличается от Infrastructure Observability? 

Классический мониторинг - это наблюдение за работой инфраструктуры и приложений. А Data Observability позволяет осуществлять мониторинг потоков данных (и даже бизнес-процессов) и находить в них сбои. 

Рассмотрим несколько примеров.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 7

Стандарты как способ конкурентной борьбы IT-компаний. История монополизации рынков в примерах

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

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

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

Как мы строили систему мониторинга. Тернистый путь к стабильной работе сложных IT-систем

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

К тому, что описано в статье, мы пришли через череду даунтаймов и багов, которые приходилось править “на горячую”. Происходили сбои во время бета-теста, но все равно тема обеспечения стабильной работы для нас болезненная. За знания пришлось заплатить дорогую цену - неудобства пользователей. Мы сами еще только на полпути к построению той системы обеспечения стабильной работы, какой нам бы хотелось ее видеть. Но надеюсь, наш опыт поможет кому-то не повторять наших ошибок и сразу все сделать правильно. 

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

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

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

История Heroku. Взлет и закат

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

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

Чтобы понять, насколько революционным был их подход, давайте просто вспомним, что Heroku создала в 2007-2011 году. Я могу назвать как минимум 3 вещи - контейнеры, serverless и доставку кода через push в GIT. Во многом современный технологический ландшафт был вдохновлен решениями Heroku, увидевшими свет 15 лет назад.

В этой статье я хочу поговорить об истории компании и причинах утраты “былого величия” в наши дни. 

Начало истории Heroku

В 2007 году трое разработчиков Ruby — Джеймс Линденбаум, Адам Виггинс и Орион Генри — основали Heroku. Поначалу это был редактор кода в браузере. Проект вызывал “ВАУ эффект”, но не сильно вовлекал пользователей. С этим проектом основатели даже прошли Y Combinator. В ходе доработки платформы разработчики сделали, как им тогда казалось, второстепенную фичу - возможность разворачивать приложения из мастер ветки привязанного GitHub. Цель была простая - дать возможность разработчикам сразу понять, как работает их код. Почему фича казалась второстепенной? На тот момент GitHub только появился, и делать интеграцию с ним было далеко не очевидной идеей. 

Но однажды, анализируя то, как пользователи используют проект, основатели Heroku заметили, что многие клиенты используют только функцию развертывания приложений через push в GIT. И с этого момента началась новая страница развития сервиса.

Читать далее
Всего голосов 30: ↑25 и ↓5 +20
Комментарии 6

А вам точно нужен Kubernetes?

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

В последнее время я вижу много хайпа вокруг Kubernetes. Кажется, что он везде и всюду, а если кто-то его еще не использует, то он безнадежно отстал. Но странно принимать решение о внедрении технологии только на основе ее популярности в СМИ. Давайте разберемся: а вот лично вам правда нужен K8S?

Для чего используют Kubernetes? 

Как правило, внедрение Kubernetes означает использование микросервисной архитектуры. Конечно, чтобы реализовать микросервисы, не обязательно внедрять Кубернетес. Но очень часто обращаются именно к нему.

Тогда сформулируем вопрос иначе: а вам правда нужны микросервисы? И потом вернемся к предыдущему вопросу.

Достоинств у микросервисной архитектуры много. Например: 

Читать далее
Всего голосов 29: ↑18 и ↓11 +7
Комментарии 58

Как Splunk поплатился за жадность, или почему в бизнесе важна справедливость

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

Далеко не все в России знают про компанию Splunk. Splunk разрабатывает IT-сервисы (программы для сбора и обработки логов, SIEM системы и т.д.) и зарабатывает около 3 млрд.$ в год. У нас данная американская компания известна, прежде всего, двумя вещами:

Ее продукты стоят как “чугунный мост”. Средний чек Splunk - несколько сотен тысяч долларов в год.

Подключив несколько сотен корпоративных клиентов в России, Splunk ушла с российского рынка одним днем в 2019 году, оповестив клиентов в пресс-релизе. После чего все в горящем режиме переходили на Elastic и другие решения.

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

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

Пушкин – это нейросеть? Учимся распознавать сгенерированный текст

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

С появлением в 2020 году нейронной сети GPT3 и других архитектур – трансформеров, генерируемые тексты стали невероятно правдоподобными. Такими правдоподобными, что отдельно взятый текст, не несущий большой смысловой нагрузки, стало сложно отличить от написанного человеком. В статье мы разберем подход к определению сгенерированных текстов. И заодно выясним, является ли, по мнению алгоритма, Пушкин (и другие деятели искусства) искусственной нейронной сетью.

Суть подхода

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

Используем нейросеть для генерации стихов в стиле «Евгения Онегина»

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

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

Шаг 1 – выбираем архитектуру

Тренд последних лет в обработке естественных языков (NLP) - использование нейронных сетей. А если смотреть более узко, то - нейронных сетей архитектуры «трансформер», включающих блок внимания «attention». Суть подхода в том, чтобы использовать при кодировке как в энкодере эмбединга (вектор признаков на выходе слоя нейронной сети), так и в декодере, механизм «attention», позволяющий учитывать взаимосвязь между словами и «фокусировать внимание» нейронной сети только на контексте, имеющем значение для слова.

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

Читать далее
Всего голосов 11: ↑7 и ↓4 +3
Комментарии 14

Как мы сделали свое Heroku-подобное облако

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

Возможно, у вас была (или есть) потребность развернуть свой IT-проект, будь то простой бот, сайт, приложение или сложный высоконагруженный сервис. И, возможно, вы пользовались для этого AWS, MS Azure или другими провайдерами публичных облаков. 

Тогда вы знаете, что для использования таких облачных решений нужно иметь весьма «глубокие карманы». Так, чтобы развернуть обычный сервис распознавания речи на 20 потоков вы заплатите Яндексу за виртуальные машины и за СУБД 43500 руб. в месяц (расчет на основе нашего ASR). И это еще достаточно простой, пусть и требовательный к CPU сервис.  Кажется, облачные услуги должны быть более доступны с финансовой точки зрения. 

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

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 6

One pixel attack. Или как обмануть нейронную сеть

Время на прочтение 10 мин
Количество просмотров 15K
Давайте познакомимся с одной из атак на нейросети, которая приводит к ошибкам классификации при минимальных внешних воздействиях. Представьте на минуту, что нейросеть это вы. И в данный момент, попивая чашечку ароматного кофе, вы классифицируете изображения котиков с точностью более 90 процентов даже не подозревая, что “атака одного пикселя” превратила всех ваших “котеек” в грузовики.

А теперь поставим на паузу, отодвинем кофе в сторону, импортируем все необходимые нам библиотеки и разберем как работают подобные атаки one pixel attack.
Читать дальше →
Всего голосов 34: ↑34 и ↓0 +34
Комментарии 13

Что влияет на выдачу кредита. Обзор соревнования Home Credit Default Risk

Время на прочтение 3 мин
Количество просмотров 16K
Рассмотрим, как работают алгоритмы в банковском скоринге, какие метрики используются и какие параметры заемщика влияют на то, выдадут кредит или нет. В статье описывается прошедший конкурс с kaggle по предсказанию вероятности дефолта и приводятся влияющие на риск дефолта параметры.

Ошибка первого и второго рода


Цель банка – заработать деньги. Первый риск, с которым сталкивается кредитная организация — дать кредит заемщику, который допустит дефолт. Дефолт может иметь разные причины, от финансовых трудностей заемщика, и заканчивая фродом.

Для банка это — ошибка первого рода.

Но если банк будет вести жесткую политику, и никому не выдает кредиты, даже тем, кто вернул бы деньги, то банк не заработает на процентах. Отказ в кредите ответственному заемщику – ошибка второго рода.

Для оценки качества принимаемых алгоритмом решений, используется коэффициент Джини (GINI). В экономике и в Data Science коэффициент Gini имеет разную интерпретацию. Для кредитного скоринга он рассчитывается, как

GINI = 2 ROC AUC — 1

Для оценки банковского скоринга используется стандартная ROC AUC кривая!



Читать дальше →
Всего голосов 23: ↑17 и ↓6 +11
Комментарии 22

Обзор Kaggle ML & DS Survey 2019. Или сколько зарабатывают ML специалисты

Время на прочтение 2 мин
Количество просмотров 6.5K
Ежегодно Kaggle проводит опрос среди специалистов по анализу данных, и объявляет конкурс на поиск инсайтов из полученных данных. В этом году в опросе участвовало 19717 человек со всего мира. В статье рассматриваются лучшие обзоры и решения Kaggle ML & DS Survey 2019.


Читать дальше →
Всего голосов 10: ↑7 и ↓3 +4
Комментарии 5
1

Информация

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