Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

26 сентября приглашаем на оффлайн-митап HOT Backend&Web в Краснодаре

PHPАнализ и проектирование системКонференцииМикросервисы
Привет, Хабр! Для всех разработчиков Backend и Web, кто соскучился по живым докладам и плодотворному общению в комьюнити, мы проводим новый митап в Краснодаре — с соблюдением необходимых требований безопасности. Спикеры SimbirSoft и других IT-компаний представят несколько докладов и ответят на вопросы. Ждем 26 сентября, участие бесплатное.

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

Теперь в Debian комфортнее работать с k8s. Сопровождающий добавил 200 зависимостей и вынудил комитет одобрить монолит

Блог компании ITSummaНастройка LinuxРазработка под LinuxKubernetes

Технический комитет Debian (CTTE) одобрил поставку Kubernetes одним монолитным пакетом вместе с зависимостями. Случилось это после того, как сопровождающий пакета k8s добавил в него более 200 зависимостей библиотек и, фактически, своими действиями просто поставил CTTE перед фактом.

Комитету пришлось одобрить поставку Kubernetes монолитом, хотя это полностью противоречит правилам разработки Debian.

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

Микросервисы: пожалуйста, не нужно

ПрограммированиеАнализ и проектирование системМикросервисы
Перевод


Иллюстрация @alvaro_sanchez


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


Естественно, в реальности все оказалось совсем наоборот. Когда смотришь назад, на произошедшее, то зрение оказывается ближе к 100%, чем когда смотришь с надеждой в будущее.


Я хочу рассказать о некоторых важных заблуждениях и подводных камнях движения за микросервисы с точки зрения человека, который работал в компании, убежденной в идее целительных свойств микросервисов. Я не хочу, чтобы выводом этой статьи для вас стало "микросервисы == плохо", но в идеале я хотел бы, чтобы вы задумались о проблемах когда будете решать, подходит ли вам микросервисная архитектура.

Читать дальше →
Всего голосов 89: ↑77 и ↓12 +65
Просмотры80.2K
Комментарии 111

Комиксы Даниэля Стори (часть 2)

Блог компании Cloud4YУчебный процесс в ITЧитальный зал
Привет, Хабр! Помните подборку юмористических IT-комиксов от Даниэля Стори (Daniel Stori). Первая часть собрала много положительных откликов. Сегодня мы вновь хотим порадовать всех очередной порцией веселья. Желаем приятного просмотра.


Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Просмотры11K
Комментарии 8

Модули вместо микросервисов

Ненормальное программированиеПрограммированиеАнализ и проектирование системAPIМикросервисы

Термин "модуль" (module) взят из статьи Modules vs. microservices. Так же для описания чего-то среднего между микросервисами и монолитами иногда используют термины "микролит" (microlith) или "моносервис" (monoservice). Но, не смотря на то, что термин "модуль" и так уже нагружен общеизвестным смыслом, на мой взгляд он подходит лучше других вариантов. Update: В комментарии lega использовал термин "встроенный микросервис" — он лучше описывает суть подхода, чем "модуль".


Монолит и микросервисы это очень разные подходы, поэтому в любой попытке взять лучшее от обоих критически важен баланс — что взять, а что нет. Иначе получится монстр вроде OSGi.


Я пишу микросервисы с 2009 года, но применять модули вместо микросервисов в реальных проектах пока не пробовал — всё описанное далее это моё предположение о том, каким должен быть вышеупомянутый баланс, и оно нуждается как в теоретической критике так и в проверке практикой.

Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Просмотры20.9K
Комментарии 100

Тёмная сторона agile

Блог компании ЮMoneyРазработка мобильных приложенийТестирование веб-сервисовAgileУправление продуктом
Внимательный читатель листает ленту и задает вопрос: «Что, опять текст про agile?». Ага.

Эта статья — о процессах, технических аспектах и немного о том, как agile живет и внедряется в Яндекс.Деньгах. Если вы прошли хотя бы половину пути до настоящего agile, какие-то вещи могут показаться вам очевидными, и это нормально.

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

А еще внимательный читатель спросит: «Почему „Темная сторона"? Тут что, про Дарта Вейдера?» Увы, нет, речь пойдет о темной стороне Луны, которая была неизвестна человечеству, пока туда не прилетел аппарат, чтобы сфотографировать и показать ее всем.

Когда внедряете agile, вы составляете проект освоения Луны, не зная,
что на другой стороне


Все начинается с попытки внедрить новые процессы разработки.
Читать дальше →
Всего голосов 30: ↑26 и ↓4 +22
Просмотры15.5K
Комментарии 10

До микросервисов нужно дорасти, а не начинать с них

Разработка веб-сайтовМикросервисы
Перевод


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

У нас, разработчиков программного обеспечения, довольно интересная профессия. Мы можем спокойно кодировать целыми днями, а затем прочитать статью о чём-то — и она подвергает сомнению всю нашу работу, потому что какой-нибудь Netflix сказал XYZ.

Просто так, из-за мнения одного человека или компании вы начинаете сомневаться во всём, что делали в течение многих лет, даже если всё работало отлично.
Читать дальше →
Всего голосов 64: ↑64 и ↓0 +64
Просмотры46.5K
Комментарии 237

Микросервисы делают мир проще (а вот и нет)

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

Основной посыл всех этих докладов — микросервисы помогают уйти от излишней сложности и запутанности проекта. Но, как по мне, от сложности не избавиться совсем, нельзя переделать проект, чтобы сразу всё стало просто. Сложность из одной области перейдет в другую.
Читать дальше →
Всего голосов 80: ↑74 и ↓6 +68
Просмотры30.4K
Комментарии 179

Верните мне мой монолит

Разработка веб-сайтовТестирование веб-сервисовМикросервисы
Перевод
Кажется, пик хайпа по микросервисам остался позади. Мы уже не читаем по нескольку раз в неделю посты «Как я перенес свой монолит на 150 сервисов». Теперь я чаще слышу разумные мысли: «Я не ненавижу монолит, я просто забочусь об эффективности». Мы даже наблюдали несколько миграций от микросервисов обратно к монолиту. При переходе от одного большого приложения к нескольким службам меньшего размера вам придётся решать несколько новых проблем. Перечислим их максимально кратко.
Читать дальше →
Всего голосов 96: ↑79 и ↓17 +62
Просмотры39.4K
Комментарии 96

Как разделить фронтенд и бэкенд, сохранив взаимопонимание

Блог компании ISPsystemАнализ и проектирование системПроектирование и рефакторингAPI

image


Как изменить архитектуру монолитного продукта, чтобы ускорить его развитие, и как поделить одну команду на несколько, сохранив согласованность работы? Для нас ответом на эти вопросы стало создание нового API. Под катом вас ждёт обстоятельная история о пути к такому решению и обзор выбранных технологий, но для начала — небольшое лирическое отступление.


Несколько лет назад я прочёл в научной статье, что для полноценного обучения нужно всё больше и больше времени, а в недалёком будущем на получение знаний будет уходить восемьдесят лет жизни. Видимо, в IT это будущее уже наступило.


Мне посчастливилось начать программировать в те годы, когда не было разделения на бэкенд и фронтенд-программистов, когда не звучали слова «прототип», «продуктолог», «UX» и «QA». Мир был проще, деревья выше и зеленее, воздух чище и во дворах играли дети, а не парковались автомобили. Как бы мне ни хотелось вернуться в то время, нужно признать, что всё это не замысел суперзлодея, а эволюционное развитие общества. Да, общество могло развиваться иначе, но, как известно, история не терпит сослагательного наклонения.

Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Просмотры13.5K
Комментарии 21

Пара слов в защиту монолита

Блог компании SimbirSoftАнализ и проектирование системПроектирование и рефакторингМикросервисы
Сравниваем особенности микросервисной и монолитной архитектуры, их преимущества и недостатки. Статья подготовлена для Хабра по материалам нашего митапа Hot Backend, который прошел в Самаре 9 февраля 2019 года. Мы рассматриваем факторы выбора архитектуры в зависимости от конкретной задачи.
Читать дальше →
Всего голосов 25: ↑24 и ↓1 +23
Просмотры11.2K
Комментарии 10

Вечный вопрос технического долга

Блог компании Туту.руУправление разработкойУправление проектами

Это одно из самых крутых облегчений проекта. На картинке — график суммарного времени, затрачиваемого CPU на обработку всех пользовательских запросов. В конце видно переход на PHP 7.0. с версии 5.6. Это 2016 год, переключение во второй половине дня с 24 ноября.

Туту.ру с точки зрения вычислений — это в первую очередь возможность купить билет из точки А в точку Б. Для этого мы перемалываем огромное количество расписаний, собираем в кэш ответы множества систем авиакомпаний и периодически делаем невероятно длинные join-запросы к базе данных. В целом мы написаны на PHP и до недавних пор были полностью на нём (если язык правильно готовить, то можно даже строить на нём системы реального времени). С недавнего времени критичные по производительности участки стали рефакториться на Go.

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

Вообще технический долг — это плата за ошибку при принятии решения. Вот ты что-то предсказал не так, как архитектор, то есть совершил ошибку прогнозирования или принимал решение в условиях недостаточной информации. В какой-то момент понимаешь, что надо что-то менять в коде (часто на уровне архитектуры). Дальше можно сразу поменять, а можно подождать. Если подождал — на техдолг набежали проценты. Поэтому хорошая практика — время от времени реструктуризировать его. Ну или признавать себя банкротом и писать весь блок заново.
Читать дальше →
Всего голосов 85: ↑79 и ↓6 +73
Просмотры18.2K
Комментарии 34

9 лет в монолите на Node.JS

Разработка веб-сайтовJavaScriptАнализ и проектирование системNode.JSМикросервисы

монолит от https://reneaigner.deviantart.com


Неделю назад я выступал на митапе по Node.JS, и многим обещал выложить запись выступления. Уже потом я понял, что мне не удалось вместить в регламентированные полчаса некоторые интересные факты. Да и сам я больше люблю читать, а не смотреть и слушать, поэтому решил выложить выступление в формате статьи. Впрочем, видео тоже будет в конце поста в разделе ссылок.


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


  • Во-первых, нашему монолиту уже 9 лет.
  • Во-вторых, всю жизнь он провёл под хайлоадом (сейчас это 23 млн запросов в час).
  • А в NaN-ых, мы пишем наш монолит на Node.JS, который за эти 9 лет изменился до неузнаваемости. Да, мы начинали писать на ноде в 2010, безумству храбрых поём мы песню!

Так что всякой специфики и реального опыта у нас довольно много. Интересно? Поехали!

Читать дальше →
Всего голосов 88: ↑86 и ↓2 +84
Просмотры25.3K
Комментарии 44

Микросервисы или монолит: ищем решение

PHPПрограммирование
Из песочницы
image

Когда задумывается большой продукт или маленький софт начинает вырастать в левиафана, какой путь развития выбрать? Стоит ли все переписывать с нуля или продолжать «исторически сложившиеся» традиции? Да и вообще, стоит ли пересматривать саму концепцию архитектуры?

Здравствуйте, хабровчане! Меня зовут Константин, и я являюсь ведущим разработчиком одной довольно крупной системы, которая начиналась когда-то как эксперимент. Небольшой сайт на PHP, созданный буквально «на коленке» и, конечно же, монолитом. Шло время, сайт рос и столкнулся с рядом проблем, решение которых поставило вопрос «а дальше-то как?».
Читать дальше →
Всего голосов 22: ↑18 и ↓4 +14
Просмотры18.1K
Комментарии 18

Кир Шатров: Shopify начался с Rails и здесь искренне любят этот фреймворк

Блог компании RubyRussiaRubyRuby on RailsКонференцииИнтервью
На конференции RubyRussia Кир Шатров расскажет об архитектуре Shopify. Как одного из самых больших и нагруженных в мире приложений на Rails поддерживает рост бизнеса на протяжении 10 лет, не переходя на микросервисы, Elixir и другие популярные альтернативы? В традиционном интервью перед конференцией вопросы Киру задал Анатолий Зайцев, разработчик компании Evrone.

image

Расскажи, как ты начал карьеру?
Читать дальше →
Всего голосов 18: ↑16 и ↓2 +14
Просмотры3.7K
Комментарии 25

Темы секции Frontend на DUMP Казань: ML для фронтенд-разработчика, пиксельная магия, SvelteJS, смех, пот и слезы

Блог компании IT-PeopleJavaScriptAngularReactJSVueJS
«Все об этом говорят, некоторые понимают, (как они думают), а занимаются, по-настоящему, лишь единицы» — цитата программного директора DUMP Казань. Если вы думаете, что вы тертый калач фронтенд, и ничего нового на конференциях не услышите, то загляните на frontend-секцию 8 ноября. Мы вспотели, пока слушали мат.часть некоторых докладов и истории взлетов-падений.


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

От монолита к распределенной системе

Блог компании ООО «Хоум Кредит Энд Финанс Банк»
Постоянный рост конкуренции среди Банков заставляет подстраиваться под разные категории Клиентов. Так, одним проще зайти на сайт и оформить заявку на банковский продукт онлайн, другие же привыкли выбирать новые продукты и услуги непосредственно при живом общении с банковским представителем. В сентябре 2019г. в Хоум Кредит Банке решили запустить новый процесс для Клиента, основная цель которого была в сохранении контакта «Клиент – Оператор Банка» и отказе от физической привязки оператора к офису или стойке Банка в торговом центре.

Дата запуска пилотного проекта была назначена на начало декабря 2019 года. Для его реализации в кратчайшие сроки нужно было разработать систему с функционалом оформления именной и неименной дебетовой карты для новых и существующих Клиентов Банка.

На пути к новой платформе


Стали смотреть в сторону планшетного решения. Реализация нового процесса на планшете на базе архитектуры текущей фронт-офисной системы Банка для работы Операторов с Клиентом выглядела нерациональной по причине устаревшего технологического стека, т.к. текущий фронт-офис представляет собой монолитное web- приложение, написанное 8 лет назад на Silverlight. Попытки работы с текущим фронтом на планшете были не успешными из-за перегруженной ui-части приложения и отсутствия адаптивной вёрстки. Кроме того, отсутствие поддержки Silverlight со стороны Microsoft тонко намекало на то, что жизненный цикл нашего текущего приложения подходит к концу и что наступил момент радикальной переработки и переход на новые технологии. Пришли к решению реализации микросервисной архитектуры. Почему было необходимо отказаться от монолита? Во-первых, из-за масштабируемости решения, улучшения общей отказоустойчивости и независимого обновления компонентов. Во-вторых, в Банке тенденция распределения функционала между продуктовыми командами и микросервисный подход дает в этом случае большую гибкость и независимость команд.
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры1.9K
Комментарии 2

Микросервисы: что это, зачем это и когда нужно их внедрять

DevOpsМикросервисы
Статью на тему микросервисной архитектуры я хотел написать давно, однако все время останавливали два момента — чем дальше я погружался в тему, тем больше мне казалось, что то, что я знаю — очевидно, а что не знаю — еще изучать и изучать. С другой стороны считаю, что уже есть о чем порассуждать и в широкой аудитории. Так что альтернативные мнения приветствуются.
Читать дальше →
Всего голосов 13: ↑8 и ↓5 +3
Просмотры8.4K
Комментарии 49

История архитектуры Dodo IS: путь бэкофиса

Блог компании Dodo EngineeringПрограммированиеАнализ и проектирование системIT-инфраструктураУправление разработкой
Хабр меняет мир. Больше года мы ведём свой блог. Где-то полгода назад нам прилетел вполне логичный фидбэк от хабровчан: «Додо, вот вы везде говорите, что у вас своя система. А что это за система? И зачем она нужна сети пиццерий?».

Мы посидели, подумали и поняли, что вы правы. Мы пробуем объяснить всё на пальцах, но выходит рваными кусками и нигде нет полноценного описания системы. Так начался долгий путь сбора информации, поиска авторов и написания серии статей про Dodo IS. Погнали!
Благодарности: спасибо, что делитесь своим фидбэком с нами. Благодаря ему мы наконец описали систему, составили технорадар и скоро выкатим большое описание наших процессов. Без вас так бы и сидели ещё 5 лет.

Читать дальше →
Всего голосов 39: ↑34 и ↓5 +29
Просмотры9.5K
Комментарии 35

2.07 онлайн-митап про микросервисы и Unit-тесты

Блог компании DirectumТестирование IT-системКонференцииМикросервисы
Recovery mode
В четверг 2 июля собираемся обсудить очередной опыт распила монолита и рассказать, как Unit-тестирование сокращает время разработки. Старт в 16:00 мск, в 17:00 по Ижевску.

Участие бесплатно, нужна регистрация.

«Упрощаем себе жизнь с помощью Unit-тестирования»


Юнит-тесты повышают скорость разработки согласны?

  • расскажу, почему нетестируемые проекты увеличивают сроки релизов;
  • приведу аргументы в пользу написания юнит-тестов. Рассмотрим, почему хороший дизайн тестируемый, а обратное — неверно;
  • плохие юнит-тесты хуже, чем ничего. Поговорим про требования к юнит-тестам. Например, почему важна изолированность или скорость выполнения тестов;
  • расскажу про лучшие практики юнит-тестирования с примерами на NUnit.

Читать дальше →
Всего голосов 8: ↑4 и ↓4 0
Просмотры1.1K
Комментарии 4