Как стать автором
Обновить

Компания Netcracker временно не ведёт блог на Хабре

Сначала показывать

Как миграция с Oracle на PostgreSQL в облако влияет на сторадж?

Блог компании Netcracker PostgreSQL *Программирование *Администрирование баз данных *Облачные сервисы *
Перевод

Вы когда-нибудь задумывались о том, чтобы перенести крупномасштабное программное решение с Oracle на PostgreSQL, а затем развернуть его в общедоступном облаке? Если Вы планируете реализовать подобное, возможно, Вам поможет наш опыт. Данная статья подробно рассказывает о нашем опыте настройки облачного хранилища, используемого PostgreSQL и оптимизации его производительности.

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

IT-инфраструктура в контролируемых средах

Блог компании Netcracker IT-инфраструктура *Service Desk *Управление проектами *Облачные сервисы *

Будучи тимлидом в команде инженеров, работающих над облачным сервисом для заказчика, я задумался, как можно улучшить качество услуги с помощью инструментов управления. Изучив вопрос, я остановился на ITIL и PRINCE2 – это логичные, структурированные и масштабируемые инструменты. Они оказались настолько полезными, что через некоторое время я даже получил Foundation по обоим фреймворкам. В этой статье я бы хотел поговорить о том, почему именно ITIL и PRINCE2 оказались так хороши для работы в cloud и поделиться своим опытом.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 1.8K
Комментарии 4

Пять историй про командное лидерство

Блог компании Netcracker Управление проектами *Управление сообществом *Управление персоналом *

Привет, Хабр! Я работаю в сфере IT около 15 лет. За свою карьеру успел побывать support-агентом, QA-специалистом, техническим писателем, Linux-админом, DevOps-инженером и DevOps- тимлидом. Именно опытом работы в роли последнего я хотел бы поделиться. Я расскажу про методики, которые использую в работе, и приведу примеры из личной практики. Надеюсь, моя статья будет полезна всем тимлидам, а также инженерам, которые хотят развить лидерские качества.

Читать далее
Всего голосов 18: ↑12 и ↓6 +6
Просмотры 4.5K
Комментарии 27

Решаем проблемы REST с помощью Redux Toolkit Query

Блог компании Netcracker JavaScript *ReactJS *

В приложениях с REST архитектурой существует ряд проблем:

повторяющийся код при работе с состоянием приложения;
костыли и велосипеды при обработке результатов и состояний запросов;
отсутствие стандартного механизма кеширования полученных на клиенте данных;
одновременные запросы за одними и теми же данными; 
сложности реализации pessimistic/optimistic обновления состояний.

В клаудных микросервисах Netcracker мы решаем эти проблемы с помощью GraphQl & apollo. Однако есть изрядное количество приложений, использующих классический REST подход для общения с сервером. Хорошим решением для них является Redux Toolkit Query.

Решаем проблемы REST c помощью RTK Query
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 13K
Комментарии 1

Service Mesh на стероидах: как построить управляемое взаимодействие между сотнями микросервисов

Блог компании Конференции Олега Бунина (Онтико) Блог компании Netcracker Высокая производительность *API *Микросервисы *

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

Мы хотим поделиться опытом, как решили эту задачу в Netcracker. Как в этом помогла концепция Service Mesh и идея применить «микросервисную модель» и к структуре Service Mesh. Мы реализовали Non Uniform Service Mesh (NUM), который представляет собой продукт и набор паттернов его применения.

Сама статья основана на расшифровке выступления на SaintHighload 2021 в Питере Алексея Ефимова, системного архитектора Netcracker и руководителя отдела Cloud Core. Ссылка на запись — в конце статьи.

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

Webpack Module Federation — микрофронтенд на современных технологиях (часть 2) – deep dive

Блог компании Netcracker JavaScript *Angular *ReactJS *Микросервисы *

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

На повестке дня:

Роутинг хостового приложения (React/Vue Routing внутри Angular)

Полноценные адаптеры для работы удаленных плагинов

Использование сервисных модулей в рантайме

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

Exec-пробы: история про эксперимент и свежие грабли

Блог компании Netcracker Программирование *Go *DevOps *Kubernetes *

Мы активно деплоим свои приложения в Kubernetes и используем HTTP-пробы для сервисов. Однако решили провести эксперимент с exec-пробами и… положили на лопатки кластер! Как так? Ведь именно exec пробы первыми описываются во всех руководствах и книгах по Kubernetes, включая официальные! Что же не так?

Вот вам свежая информация о граблях, которая может вас уберечь от потенциальных проблем и необдуманных решений. А в конце статьи – что же не так с HTTP-пробами и зачем мы вообще экспериментировали с exec-ом.

Так где подвох? →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 3.3K
Комментарии 9

Как сделать конфигурационные файлы версионируемыми с инструментами Kubernetes

Блог компании Netcracker Программирование *Go *DevOps *Kubernetes *

Если у ваших приложений есть конфигурационные файлы, то вам должна быть знакома такая ситуация: создаете приложение, создаете конфигурационный файл, документируете его и через какое-то время понимаете, что нужно добавить еще настроек. Старые настройки теперь уже не отвечают всем требованиям, да и в целом структуру лучше поменять. Что делать? Если формат конфигурации никогда не менять, то с годами конфиг-файл превратится в горы “исторически сложилось”. А если его менять... В таком случае вам всегда придется следить за тем, что конфиги подходят версии продукта, которую вы устанавливаете заказчику. Парни из эксплуатации, клиенты и много кто еще вас за это особо любить не будут.

Решение всех этих проблем — мульти-версионные конфигурации, которые мы подсмотрели у Kubernetes, развили и применили. А теперь мы готовы рассказать и вам, как это работает.

Давайте поговорим про конфиги!
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 4.8K
Комментарии 0

Webpack Module Federation — микрофронтенд на современных технологиях

Блог компании Netcracker JavaScript *Angular *ReactJS *Микросервисы *

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

Недавно на митапе мы показывали, как делать сложные приложения, разрабатываемые разными командами в разных релизных циклах и даже технологиях. В режиме live coding соединили Angular, React и Vue в одном SPA. Было много вопросов про Webpack Module federation. Поскольку мы уже переходим на этот фреймворк, здесь мы поделимся наработками, как сделать Angular host application + React/Angular/Vue microfrontends с возможностью независимого версионирования зависимостей.

Давайте рассмотрим на рабочем прототипе!
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 16K
Комментарии 6

ИИ или не ИИ

Блог компании Netcracker Биллинговые системы *Искусственный интеллект
image

На протяжении многих лет Netcracker является вендором продуктов для телеком-операторов, и в то же время выступает как интегратор всего комплекса операторского ПО. В этой работе неизбежно возникает задача синхронизации и координации большого количества версий продуктов и решений, в разных комбинациях, от разных разработчиков и с разным функционалом. Многие операторы сознательно избегают зависимости от одного поставщика, создавая зоопарк продуктов разных вендоров, так что в достаточно сложном сценарии может быть задействовано до пары десятков разрозненных систем и процессов.
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 3.3K
Комментарии 0

Машинное обучение в IT-мониторинге

Блог компании Netcracker IT-инфраструктура *Машинное обучение *
Из песочницы

Введение



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

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

Постоянная доступность разрабатываемого решения очень важна. Если у оператора связи хотя бы на один час перестанет работать биллинг, это приведет к большим финансовым и репутационным потерям как оператора, так и поставщика программного обеспечения. Поэтому одним из ключевых требований к решению является параметр availability, значение которого варьируется от 99,995 % до 99,95 % в зависимости от типа решения.

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

Поэтому для команды поддержки очень важен мониторинг всех аппаратно-программных комплексов, интегрированных в единое решение. Чаще всего в компании используется традиционный мониторинг. Этот процесс хорошо отлажен: мы умеем строить подобную систему мониторинга с нуля и знаем, как правильно организовать процессы реагирования на инциденты. Однако в этом подходе есть несколько сложностей, с которыми мы сталкиваемся от проекта к проекту.
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 9.5K
Комментарии 0

Enterprise DevОps: как в большой компании собирают микросервисы

Блог компании Netcracker Системы сборки *DevOps *Микросервисы *

Всем привет!


Компания Netсracker уже много лет разрабатывает и поставляет enterprise-приложения для мирового рынка операторов связи. Разработка таких решений достаточно сложна: в проектах участвуют сотни людей, а количество активных проектов исчисляется десятками.


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


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

Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 7.8K
Комментарии 4

Микросервисный фронтенд — современный подход к разделению фронта

Блог компании Netcracker JavaScript *Angular *
too FAT SPA


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

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

Сегодня я расскажу вам, как мы делали микросервисный фронт в нашем SaaS-решении и с какими проблемами столкнулись.
Подробнее под катом
Всего голосов 26: ↑26 и ↓0 +26
Просмотры 36K
Комментарии 68

Angular cli 6: зачем нужен и как использовать

Блог компании Netcracker JavaScript *Angular *TypeScript *
Туториал


Всем привет!

Версия Angular 2.0.0 вышла в сентябре 2016 г. И сразу же появилось большое количество подходов к построению и сборке приложений на этом фреймворке. На просторах интернета можно найти Angular seed на любой вкус.

Мы тоже создали свой Angular seed: создали общий project-template, обязали все команды, разрабатывающие фронт-энд, использовать одну структуру приложений.

А уже через полгода, в марте 2017 года, увидела свет версия Angular cli (cli – command-line interface) 1.0.0. Идея, взятая за основу, просто отличная: систематизировать подход к разработке приложений на Angular 2+. Стандартизовать структуру приложения, создание сущностей внутри приложения, а также автоматизировать сборку приложения. Эти задачи и позволяет решить Angular cli, значительно экономя ваше время.

В статье я покажу, как перейти на Angular cli 6
Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 21K
Комментарии 4

Настройка среды разработки Webpack 3 + Angular 4: от сложного к простому

Блог компании Netcracker JavaScript *Angular *TypeScript *
Туториал
Всем привет!

Современное front-end-приложение на Angular должно включать в себя следующие характеристики:

  • Возможность использования типизированного JS — Typescript
  • Обеспечение удобства и производительности разработки с помощью HMR (hot module replacement);
  • Модульность приложений и возможность отложенной загрузки модулей (Lazy Loading);
  • AoT — режим (ahead-of-time), повышающий производительность приложения.

Существует много вариантов сборки, решающих эти задачи (angular cli, A2 seed и т. д.). Обычно они имеют сложную структуру, плохо настраиваются/расширяются и представляют собой монолит, который невозможно изменить.

В статье я расскажу, как совместить Angular 2+ с webpack и разобраться со всеми этапами сборки/разработки.

Вы удивитесь, как это просто.
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 23K
Комментарии 23

Выбранный UI-фреймворк – вред. Архитектурные требования – профит

Блог компании Netcracker JavaScript *Программирование *Angular *ReactJS *


Мы не замечаем, но услуги и продукты, которыми мы пользуемся, постоянно усложняются.

  • Войти в метро теперь – не просто кинуть пятачок, а приложить карту Тройка, записанную на телефон и учитывающую пересадку.
  • Позвонить по телефону и посмотреть телевизор – давно уже не провести два провода в квартиру и вносить фиксированную абонентскую плату, а triple play с кучей опций и возможностей.
  • Посмотреть дневник сына – на святое же покусились! – теперь можно с планшета, заодно ответив на комментарий классного руководителя о его неудовлетворительном поведении.

Ну и я уже молчу про всякие Tinkoff, Apple Pay, Google Now, умные дома и многое другое.

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

Такие большие команды вынуждены более ответственно подходить к выбору технологий, в том числе и UI-фреймворков. И вот вам вброс: неважно, какой UI-фреймворк выбран. И даже вредно ограничивать себя выбором одного фреймворка. Но абсолютно не вредно и даже необходимо следовать правилам использования этих фреймворков.
Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Просмотры 11K
Комментарии 21

5 возможностей LESS, о которых вы могли не знать

Блог компании Netcracker CSS *HTML *

LESS


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

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

Обновление кода приложений на работающем сервере

Блог компании Netcracker Программирование *Java *

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

Чтобы лучше понимать масштаб данных операций, просто представьте, что банк не смог осуществить многомиллионный платеж клиента или что какая-либо из диспетчерских систем аэропорта «Хитроу» решила обновиться во время взлета самолета. Едва ли подобный сценарий допустим в сегодняшних реалиях.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 10K
Комментарии 3

Что скрывает от клиента монитор оператора?

Блог компании Netcracker Веб-дизайн *Интерфейсы *Usability *


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

Современные телеком-операторы предоставляют своим клиентам широкие возможности самообслуживания через порталы, мобильные приложения и на планшетах в точках продаж:

  • добавление и изменение сервисов;
  • настройка тарифа и конфигурация услуг;
  • статистика и детализация пользования;
  • финансовый мониторинг;
  • работа с бонусами;
  • оплата услуг

и многие другие.

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

Зачем создавать и поддерживать несколько систем? Возможна ли унификация этих интерфейсов? И что скрывают от клиента?
Попытаемся ответить на эти вопросы, рассмотрев конкретные примеры.
Всего голосов 15: ↑13 и ↓2 +11
Просмотры 23K
Комментарии 12

Как я вспоминал школьный курс геометрии

Блог компании Netcracker Разработка веб-сайтов *CSS *HTML *

image


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

Читать дальше →
Всего голосов 34: ↑30 и ↓4 +26
Просмотры 25K
Комментарии 20
1