Pull to refresh
28
Karma
6
Rating

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

1С corporate blog System Analysis and Design *IT Infrastructure *Cloud services *

Как и многие другие вендоры ПО, 1С давно предлагает свои продукты в облачном варианте. Это, в первую очередь, наши облачные сервисы 1С:ГРМ (Готовое Рабочее Место) и 1cFresh. Предоставление облачных сервисов требует наличия соответствующей инфраструктуры – прежде всего серверов, на которых размещаются виртуальные машины с приложениями, и софта, управляющего физическими и виртуальными машинами.

Чем сложнее инфраструктура, тем выше вероятность возникновения ошибок. Своевременно исправлять ошибки (а ещё лучше – предсказывать их возникновение и своевременно реагировать) – одна из главных задач провайдера облачных сервисов. Для таких задач разрабатываются системы интеллектуального мониторинга, которые помогают в сопровождении больших облачных продуктов. И у нас такая система тоже есть, мы разработали её сами на Java. О ней мы и хотим рассказать.

Читать далее
Total votes 8: ↑7 and ↓1 +6
Views 2.7K
Comments 3

Быстро сжимаем, быстро пишем и читаем! На Java

1С corporate blog High performance *Java *Algorithms *
☕️ Season Java
В ходе разработки IDE 1С:Enterprise Development Tools у нас возникла необходимость быстро оперировать с довольно большими (несколько гигабайтов) объемами данных. Если не вдаваться в детали: при интерактивной работе пользователя с IDE при переключении с одной ветки репозитория на другую нам нужно сохранить текущее состояние проекта и загрузить состояние проекта из новой ветки. Детали (и объяснение – почему счет идет на гигабайты) — в конце статьи, непосредственно к Java это отношения не имеет, кому интересно – прочтет. Ну а что касается Java, то задача выглядит так: быстро сохранить несколько гигабайт информации на диск и быстро считать несколько гигабайт информации с диска. Как мы решали эту задачу, с какими трудностями столкнулись и как их преодолели – под хабракатом.

image
Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Views 9.2K
Comments 10

Архитектура аналитических систем на платформе 1С

1С corporate blog Data Mining *

Около года назад фирма 1С выпустила свой продукт для построения аналитических систем класса Business Intelligence (BI) 1С:Аналитика. Отличие этого продукта от других BI решений в первую очередь в том, что продукт глубоко интегрирован с платформой 1С:Предприятие, поэтому 1С:Аналитика решает только свою специализированную задачу построения удобного BI интерфейса для подготовки отчетов и работы с ними. Поэтому важным вопросом для понимания продукта и его внедрения становится вопрос общей архитектуры аналитической системы, построенной с помощью 1С:Аналитики. В этой статье мы хотим кратко описать классический подход к построению аналитических систем, и как решение на базе платформы 1С соответствует такому подходу. Мы не претендуем на академическое изложение предмета, поэтому заранее просим прощение за возможную свободу в терминологии или изложении материала.

Читать далее
Total votes 18: ↑17 and ↓1 +16
Views 4.9K
Comments 0

По следам Hiring day

1С corporate blog IT career 1C *

30 марта Фирма 1С провела первый онлайн Java/С++/C#/TS/JS Hiring day для Middle, Senior Developers.

Мы ставили перед собой 2 основные цели:

1. Многие считают, что программисты в 1С занимаются исключительно созданием учетных программ, что, на самом деле, неверно – в основе прикладной разработки лежит инновационная low-code платформа 1С:Предприятие – которую тоже разрабатываем мы.

В рамках данного мероприятия наши тимлиды рассказали о решаемых задачах и выполняемых проектах.

2. В планах было привлечь разработчиков уровня middle и senior и архитекторов на собеседования в 1С.

Для junior разработчиков мы организуем отдельные мероприятия.

Читать далее
Total votes 4: ↑2 and ↓2 0
Views 1.6K
Comments 3

Работа в Highload командах 1С сейчас: Java/С++/ C#/TS/JS  Hiring day

1С corporate blog JavaScript *Java *C++ *C# *

Вечером 30 марта 2022 года (среда) в формате онлайн мы проводим Java/С++/ C#/TS/JS  Hiring day.

Приглашаем всех заинтересованных в разработке на Java, С++, C#, JS,  TS принять участие!

На митапе в течение часа мы расскажем:

О разработке различных механизмов платформы корпоративных и облачных приложений, их внутреннем устройстве и принципах работы

Опыте разработки highload-решений, которые ежедневно используют миллионы людей

Читать далее
Total votes 9: ↑6 and ↓3 +3
Views 5.2K
Comments 10

Фирма «1С» приглашает на конференцию для системных разработчиков 1C:SysDevCon.2

1С corporate blog Development of mobile applications *Mesh networks *Artificial Intelligence

Всем привет!

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

Итак:

29 января, онлайн, начало в 10:00 по Москве.

Информация, программа и регистрация на странице.

Участие, конечно же, бесплатное.

А можно поподробнее, пожалуйста?
Total votes 3: ↑3 and ↓0 +3
Views 1.5K
Comments 3

Как мы используем LLVM для ускорения формирования отчётов

1С corporate blog Algorithms *Compilers *

Для бизнес-приложений очень важна возможность быстро сформировать нужный отчёт. Для этого, в частности, важно быстро получить результат запроса (часто – очень сложного запроса) к СУБД. Что не всегда просто, потому что с этой СУБД работают на чтение и запись тысячи (а иногда - десятки тысяч) пользователей.

 Чтобы не нагружать рабочую СУБД запросами для отчетов мы разработали механизм копий баз данных, копирующий данные (все или их часть) из рабочей БД в отдельную БД для отчетности. Пользователи могут строить отчеты на «отчетной» БД, быстрее получая результат и не нагружая рабочую базу.

 Для дальнейшего ускорения формирования отчетности мы разработали Дата акселератор — собственную SQL-совместимую in-memory базу данных, ориентированную на максимальную производительность в задачах OLAP. Дата акселератор может использоваться в качестве «отчетной БД» и позволяет существенно (иногда – на порядки) ускорить формирование отчетов.

Читать далее
Total votes 29: ↑28 and ↓1 +27
Views 6.4K
Comments 13

Как мы запустили программу на Java без JavaVM

1С corporate blog Java *Software
Всем привет! В этой статье мы расскажем о том, как технология GraalVM Native Image помогла нам решить ряд задач в одном из наших новых продуктов, написанном на Java, расскажем о проблемах, с которыми столкнулись в ходе применения этой технологии, и о том, как эти проблемы решали.
image
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Views 7.5K
Comments 6

Фирма «1С» приглашает вас принять участие в нашей первой конференции для системных разработчиков

1С corporate blog Java *Eclipse *NoSQL *Kubernetes *
Всем добрый день!

Фирма «1С» приглашает вас принять участие в нашей первой конференции для системных
разработчиков, которая пройдет 23 января в онлайн-формате.

Наверное, вы сейчас думаете «да 1С это ж бухгалтерия, какая системная разработка?»

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

Например, знаете ли Вы, что среди технологий 1С есть высоконагруженный кластер, с
продвинутой балансировкой нагрузки и обеспечением отказоустойчивости?

Или зачем нам вдруг понадобилось использовать NoSQL DB при разработке собственной IDE? (Да-да, у нас есть собственная IDE, да не одна, а целых три!)
Читать дальше →
Total votes 16: ↑13 and ↓3 +10
Views 6.8K
Comments 22

1С справа налево: как мы поддержали RTL в платформе 1С: Предприятие

1С corporate blog Website development *Programming *HTML *Language localisation *
Платформа 1С:Предприятие локализована на 22 языка, включая английский, немецкий, французский, китайский, вьетнамский. Недавно, в версии 8.3.17, мы поддержали арабский язык.

Одна из особенностей арабского языка в том, что текст на нём пишут и читают справа налево. UI для арабского языка надо отображать зеркально по горизонтали (но не всё и не всегда – тут есть тонкости), контекстное меню открывать слева от курсора и т.п.

Под катом – о том, как мы поддержали RTL (right-to-left) в веб-клиенте платформы 1С:Предприятие, а ещё – одна из гипотез, объясняющая, почему арабский мир пишет справа налево.

image
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Views 9.3K
Comments 17

Проверяем на самих себе: как развернут и как администрируется 1С: Документооборот внутри компании 1С

1С corporate blog Microsoft SQL Server *Database Administration *
Мы в фирме 1С широко используем собственные разработки для организации работы компании. В частности, «1С:Документооборот 8». Помимо управления документами (как следует из названия) это ещё и современная ECM-система (Enterprise Content Management — управление корпоративным контентом) с широким набором функциональных возможностей – почта, рабочие календари сотрудников, организация совместного доступа к ресурсам (например, бронирование переговорных), учёт рабочего времени, корпоративный форум и многое другое.

В фирме 1С документооборотом пользуется более тысячи сотрудников. База данных стала уже внушительной (11 млрд. записей), а это значит, что она требует более тщательного ухода и более мощного оборудования.

Как устроена работа нашей системы, с какими сложностями при обслуживании базы мы сталкиваемся и как их решаем (в качестве СУБД мы используем MS SQL Server) – расскажем в статье.

Для тех, кто впервые читает про продукты 1С.
1С:Документооборот — это прикладное решение (конфигурация), реализованное на базе фреймворка для разработки бизнес-приложений — платформе 1С:Предприятие.


image

Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Views 24K
Comments 51

Про кластер серверов 1С

1С corporate blog System Analysis and Design *Algorithms *ERP-systems *
Кластер — это разновидность параллельной
или распределённой системы, которая:
1. состоит из нескольких связанных
между собой компьютеров;
2. используется как единый,
унифицированный компьютерный ресурс

Gregory F. Pfister, «In search of clusters».


Дано: есть бизнес-приложение (например, ERP-система), с которым работают одновременно тысячи (возможно, десятки тысяч) пользователей.

Требуется:
  1. Сделать приложение масштабируемым, чтобы при увеличении количества пользователей можно было за счёт наращивания аппаратных ресурсов обеспечить необходимую производительность приложения.
  2. Сделать приложение устойчивым к выходу из строя компонентов системы (как программных, так и аппаратных), потере связи между компонентами и другим возможным проблемам.
  3. Максимально эффективно задействовать системные ресурсы и обеспечить нужную производительность приложения.
  4. Сделать систему простой в развертывании и администрировании.

Чтобы решить эти задачи, мы в платформе 1С:Предприятие используем кластерную архитектуру.

К желаемому результату мы пришли не сразу.

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

image
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views 47K
Comments 29

Финал WorldSkills, разработка IT-решений для бизнеса — что это, как это было и почему там победили 1С-программисты

1С corporate blog Programming *System Analysis and Design *ERP-systems *Hackathon
image
WorldSkills — это международное движение, занимающееся проведением профессиональных соревнований для молодых людей в возрасте до 22 лет.

Международный финал проводится раз в два года. В этом году местом проведения финала стала Казань (прошлый финал был в 2017 году в Абу-Даби, следующий будет в 2021 году в Шанхае).

Чемпионаты WorldSkills — это самые большие мировые чемпионаты профессионального мастерства. Начались они с рабочих профессий, а в последние годы все больше внимания уделяется “профессиям будущего”, включая IT-дисциплины, под которые на чемпионате в Казани был выделен отдельный огромный кластер.

image

В IT-блоке есть компетенция (конкретный «вид спорта») под названием «Программные решения для бизнеса» (IT Software Solutions for Business).

В каждом из соревнований ограничивается разрешенный список используемых инструментов. И если, например, для «ландшафтного дизайна» ограничивается именно список возможных инструментов (конечно, без указания явного производителя или цвета), то в компетенции «Программные решения для бизнеса» список допущенных технологий, которые могут использовать участники, жестко ограничен с указанием конкретных технологий и конкретных платформ (.NET и Java с определенным набором фреймворков).

Позиция фирмы 1С по этому вопросу следующая: информационные технологии – это очень динамичная область, в мире постоянно появляются новые технологии и средства разработки. С нашей точки зрения правильно позволить специалистам использовать те инструменты, с которыми они хотят и привыкли работать.

Осенью 2018 г дирекция WorldSkills услышала нас. Теперь предстояло обкатать методику включения новых технологий в соревнования. Это непросто.

В инфраструктурный лист чемпионата в Казани включили платформу 1С:Предприятие (1С:Enterprise) и организовали экспериментальную площадку IT Software Solutions for Business Sandbox.
Читать дальше →
Total votes 13: ↑11 and ↓2 +9
Views 12K
Comments 42

Опыт использования flatten-maven-plugin для упрощения версионирования в maven-проектах

1С corporate blog Java *Build automation *DevOps *

О нас


В 1С мы разрабатываем не только платформу 1С: Предприятие на С++ и JavaScript, но и приложения на Java – в частности новую среду разработки Enterprise Development Tools на базе Eclipse и сервер глубоко интегрированного с платформой мессенджера – Системы Взаимодействия.

Вступление


В качестве системы сборки Java-приложений чаще всего мы используем maven, и в этой небольшой статье хотели бы рассказать об одной из проблем, с которой пришлось столкнуться в процессе организации разработки, и о подходе, позволившем эту проблему преодолеть.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 7K
Comments 4

Каких мы ищем разработчиков для разработки платформы 1С: Предприятие

1С corporate blog Personnel Management *IT career IT-companies
Наша мечта — делать лучший в мире инструментарий для разработки бизнес-приложений. У нас очень много отличных идей, реализация которых позволяет нам эту мечту осуществлять, развивать наши инструменты, чтобы оставаться лучшими. Ну а чтобы воплощать эти идеи на должном уровне, нам нужны классные программисты.

Если коротко ищем тех, кто:

  • любит (или готов полюбить) делать тиражируемые фреймворки
  • хочет делать продукт, которым пользуются миллионы людей

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

  • Какие вам нужны разработчики?
  • Что спрашиваете на интервью?
  • Какие вопросы предпочитаете на интервью – теоретические или практические?
  • Должен ли программист писать тесты?
  • Задаете ли вопросы не из профессиональной сферы деятельности?
  • Задаете ли логические задачи на сообразительность, не связанные непосредственно с программированием? Типа задачи про шарик с гелием в машине:


В каких областях у нас могут работать программисты в разработке платформы? Ну например:
Total votes 47: ↑15 and ↓32 -17
Views 18K
Comments 124

Как мы перевели 10 миллионов строк кода C++ на стандарт C++14 (а потом и на C++17)

1С corporate blog C++ *Development for MacOS *Development for Linux *Development for Windows *
Некоторое время назад (осенью 2016), при разработке очередной версии технологической платформы 1С:Предприятие внутри команды разработки встал вопрос о поддержке нового стандарта C++14 в нашем коде. Переход на новый стандарт, как мы предполагали, позволил бы нам писать многие вещи элегантней, проще и надежней, упрощал поддержку и сопровождение кода. И в переводе вроде бы нет ничего экстраординарного, если бы не масштабы кодовой базы и специфические особенности нашего кода.

Для тех кто не знает, 1С:Предприятие – это среда для быстрой разработки кросс-платформенных бизнес-приложений и runtime для их выполнения в разных ОС и СУБД. В общих чертах в состав продукта входят:


Мы стараемся по максимуму писать один код для разных ОС — кодовая база сервера общая на 99%, клиента — примерно на 95%. Технологическая платформа 1С:Предприятие преимущественно написана на C++ и ниже приведены приблизительные характеристики кода:

  • 10 миллионов строк С++ кода,
  • 14 тысяч файлов,
  • 60 тысяч классов,
  • полмиллиона методов.

И все это хозяйство надо было перевести на C++14. О том, как мы это делали и с чем столкнулись в процессе, мы сегодня и расскажем.

image
Читать дальше →
Total votes 76: ↑74 and ↓2 +72
Views 47K
Comments 171

Интеграция HTML движка в нативное Windows приложение – выбор и архитектура

1С corporate blog System Analysis and Design *Google Chrome GTK+ *Development for Windows *
Как мы перевели работу с HTML в 1С:Предприятии с Internet Explorer на WebKit

Возможность отображать HTML в формах 1С появилась в платформе 1С:Предприятие в 2003 г. версии 8.0. Для работы с HTML в платформе использовался движок браузера Internet Explorer (1С:Предприятие на тот момент работало только под Windows). Движок браузера использовался платформой для утилитарных целей. Например, писать с нуля полноценный элемент для редактирования текста а-ля Word – с возможностью различных цветовых и шрифтовых решений, вставки картинок и т.д. – весьма непростая задача. А если задействовать для этих целей HTML и использовать в качестве средства отображения движок интернет-браузера, то задача сильно упрощается. Также при помощи движка был реализован ряд других механизмов (например, отображение справочной информации) и элементов (например, Планировщик).

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

Время шло, платформа стала поддерживать сначала Linux, а потом и macOS. Для работы с HTML в этих ОС Internet Explorer не подходил по понятным причинам; в Linux нами был задействован WebKitGTK+, а в macOs — библиотека на основе Cocoa. Таким образом, единство кодовой базы для разных ОС (которое мы стараемся поддерживать для клиентского кода на уровне 95%) в этой области было нарушено. Ну и движок IE к этому времени стал источником ряда проблем.
image
Total votes 16: ↑15 and ↓1 +14
Views 18K
Comments 44

Как и зачем мы написали высоконагруженный масштабируемый сервис для 1С: Предприятия: Java, PostgreSQL, Hazelcast

1С corporate blog PostgreSQL *Java *System Analysis and Design *Cloud services *
В этой статье расскажем о том, как и для чего мы разработали Систему Взаимодействия – механизм, передающий информацию между клиентскими приложениями и серверами 1С:Предприятия – от постановки задачи до продумывания архитектуры и деталей реализации.

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

СВ использует распределенное хранилище Hazelcast и поисковую систему Elasticsearch. Еще речь пойдет о Java и о том, как мы горизонтально масштабируем PostgreSQL.
image
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Views 26K
Comments 85

Как мы в «1С: Предприятии» решаем системы алгебраических уравнений

1С corporate blog Algorithms *Mathematics *
Работа с числовыми матрицами в целом и решение систем линейных алгебраических уравнений в частности — классическая математическая и алгоритмическая задача, широко используемая при моделировании и расчёте огромного класса бизнес-процессов (например, при расчёте себестоимости). При создании и эксплуатации конфигураций «1С:Предприятия» многие разработчики сталкивались с необходимостью вручную реализовывать алгоритмы расчёта СЛАУ, а после — с проблемой длительного ожидания решения.

«1С:Предприятие» 8.3.14 будет содержать функциональность, позволяющую значительно сократить время решения систем линейных уравнений за счёт использования алгоритма, основанного на теории графов.

Он оптимизирован для использования на данных, имеющих разреженную структуру (то есть содержащие не более 10% ненулевых коэффициентов в уравнениях) и в среднем и в лучшем случаях демонстрирует асимптотику Θ(n⋅log(n)⋅log(n)), где n — количество переменных, а в худшем (при заполненности системы ~100%) его асимптотика сопоставима с классическими алгоритмами ( Θ(n3)). При этом на системах, имеющих ~105 неизвестных, алгоритм показывает ускорение в сотни раз по сравнению с реализованными в специализированных библиотеках линейной алгебры (например, superlu или lapack).

image
Важно: статья и описанный алгоритм требуют понимания линейной алгебры и теории графов на уровне первого курса университета.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 14K
Comments 62

Автоматизация при разработке платформы «1С: Предприятие»

1С corporate blog IT systems testing *System Analysis and Design *Development Management *
В этой статье пойдет речь о том, как мы автоматизируем процессы разработки и тестирования технологической платформы «1С:Предприятие 8». Платформа «1С:Предприятие 8» — набор инструментов для создания бизнес-приложений и среда их выполнения. Это большой (более десятка миллионов строк кода) проект на С++, Java и JavaScript. Над ним трудятся десятки программистов, одновременно разрабатывающие и поддерживающие до 10 различных версий продукта.

Платформа работает на различных версиях ОС и БД:

  • ОС: Windows, Linux, macOS
  • СУБД: MS SQL, PostgreSQL, IBM DB2, Oracle, файловая СУБД собственной разработки
  • Мобильные ОС: Android, iOS, Windows

Поддерживает несколько видов клиентов:


Учитывая, что надо поддерживать целый ряд версий вышеперечисленных ОС, СУБД и браузеров, тестирование платформы становится нетривиальной задачей.

image
Total votes 18: ↑17 and ↓1 +16
Views 22K
Comments 23

Information

Rating
546-th
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity