Pull to refresh
36
1.5
Кирилл Косолапов @kirillkosolapov

CEO Amvera

Send message

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

Level of difficulty Medium
Reading time 4 min
Views 3.6K

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

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

Читать далее
Total votes 9: ↑7 and ↓2 +5
Comments 10

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

Level of difficulty Medium
Reading time 3 min
Views 5.9K

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

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

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

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

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

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

Читать далее
Total votes 11: ↑7 and ↓4 +3
Comments 7

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

Reading time 8 min
Views 2.9K

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

Читать далее
Total votes 4: ↑4 and ↓0 +4
Comments 5

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

Level of difficulty Easy
Reading time 10 min
Views 725

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

Коротко о нас

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

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

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

Читать далее
Total votes 2: ↑2 and ↓0 +2
Comments 3

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

Level of difficulty Medium
Reading time 4 min
Views 9.5K

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

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

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

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

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

Level of difficulty Easy
Reading time 6 min
Views 12K

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

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

Читать далее
Total votes 14: ↑9 and ↓5 +4
Comments 22

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

Reading time 5 min
Views 11K

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

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

Читать далее
Total votes 14: ↑6 and ↓8 -2
Comments 13

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

Reading time 21 min
Views 65K

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

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

Читать далее
Total votes 42: ↑40 and ↓2 +38
Comments 16

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

Level of difficulty Easy
Reading time 4 min
Views 2.7K

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

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

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

Читать далее
Total votes 5: ↑4 and ↓1 +3
Comments 7

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

Level of difficulty Easy
Reading time 5 min
Views 3.7K

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

Читать далее
Total votes 17: ↑16 and ↓1 +15
Comments 12

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

Level of difficulty Easy
Reading time 4 min
Views 5.1K

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

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

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

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

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

Level of difficulty Easy
Reading time 4 min
Views 13K

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

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

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

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

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

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

Читать далее
Total votes 30: ↑25 and ↓5 +20
Comments 6

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

Level of difficulty Easy
Reading time 4 min
Views 15K

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

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

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

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

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

Читать далее
Total votes 29: ↑18 and ↓11 +7
Comments 58

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

Level of difficulty Easy
Reading time 3 min
Views 5.2K

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

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

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

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

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

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

Reading time 10 min
Views 2.1K

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

Суть подхода

Читать далее
Total votes 8: ↑8 and ↓0 +8
Comments 2

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

Reading time 6 min
Views 4.8K

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

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

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

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

Читать далее
Total votes 11: ↑7 and ↓4 +3
Comments 14

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

Reading time 6 min
Views 2.4K

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

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

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

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

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

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

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

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

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

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


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

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

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

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

GINI = 2 ROC AUC — 1

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



Читать дальше →
Total votes 23: ↑17 and ↓6 +11
Comments 22

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

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


Читать дальше →
Total votes 10: ↑7 and ↓3 +4
Comments 5
1

Information

Rating
1,118-th
Works in
Date of birth
Registered
Activity