Approach on how make Continuous Integration development cycle with InterSystems Caché.
Caché Object Script solution for CI with Github
https://github.com/intersystems-ru/CacheGitHubCI
OpenStack: от enterprise к сервис-провайдеру / Сергей Пимков (Селектел)OnticoПри работе над одним проектом обычно не возникает проблем с распределением ресурсов, так как все ресурсы принадлежат одному проекту, но когда появляется второй, третий и т.д., то всегда возникает вопрос контроля и учета ресурсов по каждому проекту в отдельности. Что немаловажно - это удобство процесса распределения.
В докладе будет описан процесс адаптации ванильного OpenStack под нужды сервис-провайдера и представлено наше видение виртуального приватного облака, которое было построено нами на базе OpenStack.
Мы затронем проблемы ванильного OpenStack и расскажем с чем столкнулись на пути его адаптации.
А также представим новую услугу, которую мы запустили, - "Виртуальное приватное облако" - и расскажем о проблемах, которые мы помогаем решать при её помощи.
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...OnticoРИТ++ 2017, Root Conf
Зал Пекин + Шанхай, 5 июня, 16:00
Тезисы:
http://rootconf.ru/2017/abstracts/2826.html
Благодаря Docker'у, контейнеры стали доступны каждому. Однако, чтобы развернуть production-систему на Docker'е, нужно решить ряд инфраструктурных задач: логи, мониторинг, бэкапы, отказоустойчивость, апдейты, безопасность. Решить эти задачи "для себя" не сложно, но при попытке превратить свое контейнерное решение в программный продукт возникают проблемы: "глупые" пользователи, нестабильный хостинг, коварные конкуренты и неясное будущее продукта. Эти трудности - системные, и лучше о них знать заранее. Я расскажу о них на примере проекта dockhero.io.
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)OnticoСтроим CI/CD в Bamboo, используя Chef
-----
Мы покажем эволюционный путь нашего CI/CD-процесса от маленького скрипта на python, до фреймворка на ruby:
+ рассмотрим типичные трудности, возникающие при построении CI/CD процесса с помощью CI-движка и Configuration management tools.
+ покажем реализованные решения на примере связки Chef + Bamboo:
o унификация деплоймент-процесса компании;
o деплойменты на гетерогенные environment'ы, включая Linux/Windows системы;
o инструментарий для построения CD-процесса в Bamboo.
Управление билд-фермой Bamboo с помощью Chef
-----
Для поддержки SDLC-процесса компании мы эксплуатируем большую географически распределенную гетерогенную билд-ферму агентов (80+ агентов на базе Windows, Linux и MacOS). С ростом количества билд-конфигураций и агентов мы столкнулись с задачей управления конфигурациями билд-агентов, с которой успешно справляемся с помощью решения на базе Chef.
Примеры решаемых задач:
+ настройка Bamboo-агентов с нуля;
+ сapability management при помощи ohai;
+ повышение эффективности использования билд-фермы.
"Посмотрим на Акку-Джаву" Дмитрий МантулаFwdaysМногие аналитики предрекают реактивному программированию большое будущее в решении задач Mobile и Big Data.
TypeSafe, разработчики языка Scala, создали многообещающий реактивный фреймворк Akka, который "дружит" с Java.
Чем он может быть интересен Java-разработчикам? Сможет ли Akka+Java конкурировать с Akka+Scala? И как ей в этом помогут новые фичи Java 8?
Об этом я расскажу в своем докладе "Посмотрим на Акку-Джаву".
Управление контейнерами в облакахAleksey ZalesovСлайды с моего выступления на HDConf в Минске 17 октября 2015 года. Я рассказывал из чего состоит PaaS, как запускать контейнеры в облаке и чем отличаются Mesos, Cloud Foundry и Kubernetes.
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)OnticoВ этом году мы перевели наш портал на HTTPS. Это оказалось непростой задачей. Основными проблемами явились рост нагрузки, увеличение Round Trip Times (RTT) и Mixed Content. Мы опробовали различные известные механизмы, призванные нивелировать эти проблемы, но, как оказалось на практике, все они скрывают в себе особенности. Эти особенности стоило знать заранее, но их не удалось почерпнуть из открытых источников.
В этом докладе мы хотим поделиться сложностями, с которыми мы столкнулись, а также тем, к каким выводам в итоге пришли. Надеемся, что набитые нами шишки будут полезны тем проектам, которые только планируют переход на HTTPS.
Java/Scala Lab: Владимир Илюшенко - Jelastic PaaS v2.5 Capabilities and Benef...GeeksLab OdessaВозможности и преимущества использования платформы Jelastic для Java-приложений. Возможности Jelastic API.
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...OnticoВыбор системы мониторинга - это практически holy-war-ная тема среди администраторов и разработчиков. Какая система лучше? Что удобнее? Какая система сможет выдержать большое количество статистики, а какая - лучше собрать и представить данные?
В своем докладе мы попробуем предельно непредвзято рассмотреть существующие решения и понять, что и когда можно использовать.
См. тезисы - http://rootconf.ru/2015/abstracts/1746
«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков2ГИС ТехнологииОсобенности модели Github-flow и нюансы её внедрения в основную ветку разработки.
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыOleg NenashevРассказ о Configuration as Code в Jenkins и возможностях Pipeline: DSL, Multi-Branch, Pipeline Model Definition, восстановление после ошибок, параллелизация задач, интеграции. В каком направлении развивается экосистема?
Jiramania презентации @augspbGonchik TsymzhitovПривет, Санкт-Петербург!
В разгар летнего сезона, мы поговорим об историях обновлений,
например, с 6.4 до 7.х, с разными трюками, а также об истории исследования разных регрессий на продуктах Atlassian и других плагинов.
Наша программа будет пополняться, и мы рады к сотрудничеству.
Ждем Вас на встрече в Яндекс Деньгах.
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days1. Проблемы в построении CI процессов в компании
2. Структура типовой сборки
3. Пример реализации типовой сборки
4. Плюсы и минусы от использования типовой сборки
DevOps в Agile среде. Как, почему и когда инструменты помогают.Alexander TitovМодное слово DevOps уже успело стать заезженным базвордом. Сотни компаний ищут DevOps инженеров, потому что искать системного администратора уже не модно. Я расскажу вам про свое понимание DevOps, как технические инструменты помогают делать Agile еще более гибким.
Мы разберем основные принципы DevOps через призму донесения смысла без потерь:
- Особая культура
- Автоматизация
- Изменения через измерения
- Распространение знаний и практик
Я поделюсь своим 5ти летним опытом в обеспечении повторяемости, мониторинге, логировании с примерами из реальной жизни.
Александр Титов - управляющий партнер в компании "Экспресс 42", мы внедряем DevOps практики и инструменты, помогаем эксплуатировать интернет-проекты.
В 2009, 2010 годах был техническим директором первого облачного хостинга в России Скалакси.
В 2010 - 2012 прошел увлекательный путь поглощений вместе с компанией Qik - путь из эксплуатации быстрорастущего стартапа к эксплуатации в крупной международной компании Microsoft.
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...OnticoРИТ++ 2017, Root Conf
Зал Пекин + Шанхай, 5 июня, 16:00
Тезисы:
http://rootconf.ru/2017/abstracts/2826.html
Благодаря Docker'у, контейнеры стали доступны каждому. Однако, чтобы развернуть production-систему на Docker'е, нужно решить ряд инфраструктурных задач: логи, мониторинг, бэкапы, отказоустойчивость, апдейты, безопасность. Решить эти задачи "для себя" не сложно, но при попытке превратить свое контейнерное решение в программный продукт возникают проблемы: "глупые" пользователи, нестабильный хостинг, коварные конкуренты и неясное будущее продукта. Эти трудности - системные, и лучше о них знать заранее. Я расскажу о них на примере проекта dockhero.io.
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)OnticoСтроим CI/CD в Bamboo, используя Chef
-----
Мы покажем эволюционный путь нашего CI/CD-процесса от маленького скрипта на python, до фреймворка на ruby:
+ рассмотрим типичные трудности, возникающие при построении CI/CD процесса с помощью CI-движка и Configuration management tools.
+ покажем реализованные решения на примере связки Chef + Bamboo:
o унификация деплоймент-процесса компании;
o деплойменты на гетерогенные environment'ы, включая Linux/Windows системы;
o инструментарий для построения CD-процесса в Bamboo.
Управление билд-фермой Bamboo с помощью Chef
-----
Для поддержки SDLC-процесса компании мы эксплуатируем большую географически распределенную гетерогенную билд-ферму агентов (80+ агентов на базе Windows, Linux и MacOS). С ростом количества билд-конфигураций и агентов мы столкнулись с задачей управления конфигурациями билд-агентов, с которой успешно справляемся с помощью решения на базе Chef.
Примеры решаемых задач:
+ настройка Bamboo-агентов с нуля;
+ сapability management при помощи ohai;
+ повышение эффективности использования билд-фермы.
"Посмотрим на Акку-Джаву" Дмитрий МантулаFwdaysМногие аналитики предрекают реактивному программированию большое будущее в решении задач Mobile и Big Data.
TypeSafe, разработчики языка Scala, создали многообещающий реактивный фреймворк Akka, который "дружит" с Java.
Чем он может быть интересен Java-разработчикам? Сможет ли Akka+Java конкурировать с Akka+Scala? И как ей в этом помогут новые фичи Java 8?
Об этом я расскажу в своем докладе "Посмотрим на Акку-Джаву".
Управление контейнерами в облакахAleksey ZalesovСлайды с моего выступления на HDConf в Минске 17 октября 2015 года. Я рассказывал из чего состоит PaaS, как запускать контейнеры в облаке и чем отличаются Mesos, Cloud Foundry и Kubernetes.
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)OnticoВ этом году мы перевели наш портал на HTTPS. Это оказалось непростой задачей. Основными проблемами явились рост нагрузки, увеличение Round Trip Times (RTT) и Mixed Content. Мы опробовали различные известные механизмы, призванные нивелировать эти проблемы, но, как оказалось на практике, все они скрывают в себе особенности. Эти особенности стоило знать заранее, но их не удалось почерпнуть из открытых источников.
В этом докладе мы хотим поделиться сложностями, с которыми мы столкнулись, а также тем, к каким выводам в итоге пришли. Надеемся, что набитые нами шишки будут полезны тем проектам, которые только планируют переход на HTTPS.
Java/Scala Lab: Владимир Илюшенко - Jelastic PaaS v2.5 Capabilities and Benef...GeeksLab OdessaВозможности и преимущества использования платформы Jelastic для Java-приложений. Возможности Jelastic API.
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...OnticoВыбор системы мониторинга - это практически holy-war-ная тема среди администраторов и разработчиков. Какая система лучше? Что удобнее? Какая система сможет выдержать большое количество статистики, а какая - лучше собрать и представить данные?
В своем докладе мы попробуем предельно непредвзято рассмотреть существующие решения и понять, что и когда можно использовать.
См. тезисы - http://rootconf.ru/2015/abstracts/1746
«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков2ГИС ТехнологииОсобенности модели Github-flow и нюансы её внедрения в основную ветку разработки.
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыOleg NenashevРассказ о Configuration as Code в Jenkins и возможностях Pipeline: DSL, Multi-Branch, Pipeline Model Definition, восстановление после ошибок, параллелизация задач, интеграции. В каком направлении развивается экосистема?
Jiramania презентации @augspbGonchik TsymzhitovПривет, Санкт-Петербург!
В разгар летнего сезона, мы поговорим об историях обновлений,
например, с 6.4 до 7.х, с разными трюками, а также об истории исследования разных регрессий на продуктах Atlassian и других плагинов.
Наша программа будет пополняться, и мы рады к сотрудничеству.
Ждем Вас на встрече в Яндекс Деньгах.
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days1. Проблемы в построении CI процессов в компании
2. Структура типовой сборки
3. Пример реализации типовой сборки
4. Плюсы и минусы от использования типовой сборки
DevOps в Agile среде. Как, почему и когда инструменты помогают.Alexander TitovМодное слово DevOps уже успело стать заезженным базвордом. Сотни компаний ищут DevOps инженеров, потому что искать системного администратора уже не модно. Я расскажу вам про свое понимание DevOps, как технические инструменты помогают делать Agile еще более гибким.
Мы разберем основные принципы DevOps через призму донесения смысла без потерь:
- Особая культура
- Автоматизация
- Изменения через измерения
- Распространение знаний и практик
Я поделюсь своим 5ти летним опытом в обеспечении повторяемости, мониторинге, логировании с примерами из реальной жизни.
Александр Титов - управляющий партнер в компании "Экспресс 42", мы внедряем DevOps практики и инструменты, помогаем эксплуатировать интернет-проекты.
В 2009, 2010 годах был техническим директором первого облачного хостинга в России Скалакси.
В 2010 - 2012 прошел увлекательный путь поглощений вместе с компанией Qik - путь из эксплуатации быстрорастущего стартапа к эксплуатации в крупной международной компании Microsoft.
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)Pavel TsukanovРасскажу зачем они вообще нужны. Пройдемся по технологиям и промоем им косточки. Рассмотрим достоинства и недостатки, а также где и когда лучше всего применять ту или иную ORM.
Непрерывная интеграция Python-проектов в ЯндексеAndrey KazarinovРутинные операции тестирования, сборки и развёртывания заставляют в нервном ожидании толстеть на кофепоинте, а частый релизный цикл создаёт лёгкое головокружение? Чтобы помочь вам сохранить тело подтянутым, а голову светлой, я расскажу об организации и особенностях непрерывной интеграции в Python-проектах на примере популярных инструментов.
Jenkins 2.0: Организуем тестирование в составе Continuous DeliverySQALabДоклад Олега Ненашева на конференции SQA Days-19, 20-21 мая 2016 г., Санкт-Петербург
Микросервисный фронтендViacheslav SlinkoПоследние несколько лет в продуктовой разработке проблемы масштабирования решаются через переход на микросервисную архитектуру. На эту тему было сказано много про подходы, плюсы и минусы, но мало кто рассматривал эту проблематику со стороны фронтенда.
В ЦИАН мы идем по пути перехода от монолита к микросервисам, в том числе и на фронтенде. Задачи и проблемы, с которыми мы сталкиваемся, очень близки к аналогичным на бэкенде, но в то же время совершенно другие.
В своем докладе я расскажу про архитектуру фронтенда (и так называемого миддленда) в ЦИАН: какие задачи перед нами стояли, что мы решили, где мы находимся сейчас и с какими проблемами мы столкнулись.
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)OnticoHighLoad++ 2017
Зал Дели + Калькутта, 7 ноября, 13:00
Тезисы:
http://www.highload.ru/2017/abstracts/2867.html
Последние несколько лет в продуктовой разработке проблемы масштабирования решаются через переход на микросервисную архитектуру. На эту тему было сказано много про подходы, плюсы и минусы, но мало кто рассматривал эту проблематику со стороны фронтенда.
В ЦИАН мы идем по пути перехода от монолита к микросервисам, в том числе и на фронтенде. Задачи и проблемы, с которыми мы сталкиваемся, очень близки к аналогичным на бэкенде, но в то же время совершенно другие.
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Anton BaranovВыбор системы мониторинга - это практически holy-war-ная тема среди администраторов и разработчиков. Какая система лучше? Что удобнее? Какая система сможет выдержать большое количество статистики, а какая - лучше собрать и представить данные?
В своем докладе мы попробуем предельно непредвзято рассмотреть существующие решения и понять, что и когда можно использовать.
Прежде всего, мы постараемся сделать доклад не сравнением feature-листов, а рассмотреть особенности практического применения разных систем для конкретной задачи - для сайта, который не должен падать (а точнее - для возможности оперативно отреагировать на аварию, понять что к ней привело, и как можно ее исправить).
Леонид Васильев "Python в инфраструктуре поиска"Yandex2 июля 2011, Я.Субботник в Екатеринбурге
Леонид Васильев "Python в инфраструктуре поиска"
О докладе:
Описание архитектуры и реализации внутренних инструментов для управления поисковым кластером.
Что такое инфраструктура поиска? Какие задачи приходится решать? Какие инструменты для управления кластером используются в поиске? Как они устроены изнутри? Что можно посоветовать проектам с большой инфраструктурой? Какие существуют open-source аналоги?
InterSystems Developers Community Update Global Summit 2019InterSystemsInterSystems Developers Community
Open Exchange - InterSystems Marketplace for Applications
Package Manager
Spanish Developers Community
Global Masters
InterSystems IRIS Data Platfrom: Sharding and ScalabilityInterSystemsA technical review of the new feature InterSystems IRIS Data Platfrom: Sharding and Scalability by Jeff Miller
Discussion: https://community.intersystems.com/post/join-intersystems-developer-meetup-cambridge
DeepSee Web: Angular Render for InterSystems DeepSee DashboardsInterSystemsDeepSee Web (DSW) is an open source Angular web application that allows users to render and customize native DeepSee dashboards without coding. DSW supports visualizing data on maps and third party JavaScript portlets. It provides benefits like interactive tile and metro designs for dashboards, better widget performance and customization options, and supports a variety of chart types. DSW works by using a REST API called MDX2JSON to query data from a Caché server and display the resulting dashboards and widgets in the browser.
InterSystems Caché REST FormsInterSystemsThe project aims to ease the creation of new REST APIs by providing robust self-discovery generic REST API solution
Goals
No coding required to create a new REST API
Minimal modifications to persistent classes
Links
https://github.com/intersystems-ru/RESTForms/
https://github.com/intersystems-ru/RESTFormsUI/
InterSystems Caché Localization Manager InterSystemsLocalization tool to help visualize localization domains, check spelling and grammar introduce new language to localization
Source Control Addon for InterSystems Caché with UDL supportInterSystemsSource control module which lets import/export source codes of Caché Object Script classes, routines in UDL, XML modes.
Provides usage of every IDE with Caché and Ensemble
DeepSee SYSMON - InterSystems Caché System Monitoring AnalyticsInterSystemsInstallable module of InterSystems DeepSee dashboards for better visualization and management for InterSystems Caché System Monitoring tool
InterSystems news Meetup Sankt-Peterburg2015InterSystemsWhat's new in InterSystems Technology, November 2015 review
Parallel SQL, Mirroring with Arbiter, MDX2JSON REST API for DeepSee
Web and mobile development for intersystems caché, Eduard LebedyukInterSystemsApproach to web and mobile development for intersystems caché
REST API, web application architecture, web sockets, JSON usage Eduard Lebedyuk
InterSystems Healthshare +DeepSee. Hospitalization queueInterSystemsInterSystems Healthshare +DeepSee. BI solution for hospitalization queue monitoring Krasnoyarsk Region
InterSystems Healthshare +DeepSee. BI решение для мониторинга очереди госпитализации на примере Красноярского Крас
Deep see mobile meetup красноярскInterSystemsIntersystems DeepSee Mobile approach.
Rendering DeepSee Dashboards on mobile devices.
Concept, implementation, usage.
InterSystems DeepSee mobile.
Воспроизведение DeepSee дашбордов на мобильных устройствах iPhone, Android, Winphone
Концепция, реализация, использование
Автор Шваров Евгений
InterSystems High Availability and Mirroring solutionsInterSystemsО высокой доступности и зеркалировании с использованием технологий InterSystems.
Доклад на InterSystems Meetup Астана
Автор Трефилов Дмитрий
High Availability and Mirroring
with InterSystems Technology.
InterSystems Meetup Astana report.
Dmitry Trefilov
Enterprise Serial Bus on InterSystems EnsembleInterSystemsPresentation of InterSystems Ensemble as Enterprise Serial Bus on Moscow MeetUP 2014 New Year
Интеграционная шина на базе InterSystems EnsembleInterSystemsПрезентация Дмитрия Засыпкина на InterSystems MeetUP Владивосток об интеграционной шине на базе InterSystems Ensemble
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014InterSystemsAPI for process management in ECP. InterSystems Meetup Sankt-Peterburg 2014
Caché Native Access. InterSystems Meetup 2014InterSystemsCaché Native Access - the way to call native binary libs from Caché Object Script in a very easy and robust way
Способ работы с нативными библиотеками любых ОС из Caché Object Script наиболее простым и удобным способом, без создания специальных Callout библиотек.
Управление изменениями и коллективная разработка в Caché. InterSystems Meetup...InterSystemsChange Management and team development in Caché. InterSystems Meetup Sankt-Peterburg 2014
4. • История изменений
• Откат нежелательных изменений
• Совместная работа
• Код не теряется
• Нерабочие фичи не ломают основной билд
Зачем нужен контроль версий?
5. • Хуки на все основные действия (компиляция, нажатие кнопок, изменение класса)
• Экспорт/импорт
– CLS - Классы
– CSP – Веб-страницы
– CSR - Правила
– MAC - Рутины
– INT – код
– BAS - Basic routines
• Можно расширять
• Есть открытые примеры реализации
– Cache-tortoise-git
– Cache-source-control
– SCMin
Что есть в Caché?
– INC – файлы препроцессора
– GBL - Глобалы
– PRJ - Проекты
– OBJ – Скомпилированный код
– PKG – Проекты
– DFI – Объекты DeepSee
9. Функциональные модули CI решения
• Integration
– Основная информация о репозитории и цели (Откуда брать код? Что с ним делать?)
• Activator
– Создание задания/хука/прочая, инициализирующего обновление
• Connector
– Реализация интерфейса получения файлов из системы контроля версий
• Parser
– Парсинг содержимого репозитория и передача его компилятору
• Action
– Хранение необходимого для обновления кода, коллбэки
• Update
– Дата/время обновления, идентификатор, статус действий, компиляции, юнит-тестов
15. Обновление с помощью hook
Set hook=##class(CacheGitHubCI.Hook).%New()
Set hook.Namespace="USER"
Set hook.Owner="intersystems-ru"
Set hook.Repository="test"
Set hook.Branch="master"
Set a1 = ##class(CacheGitHubCI.Action).%New()
Set a1.Type="code"
Set a1.Params="s ^test($zdt($Now(-180)))=""started compiling"""
Set hook.PreCompile=a1
Set a2 = ##class(CacheGitHubCI.Action).%New()
Set a2.Type="classmethod"
Set a2.Namespace="USER"
Set a2.Params="Fileserver.Broker,Init,1"
Set hook.PostCompile=a2
W hook.CreateTask(60)
W hook.%Save()
16. • Аналогично, но:
– Нужен логин-пароль с администраторским доступом к репозиторию (в начале)
– Нужен сервер со внешним статичным ip
• Преимущества
– Обновления мгновенные
– Нет ненужных обновлений
Обновление с помощью webhook
Код:
Set hook.Username="GitHub Username"
Set hook.Password="GitHub Password"
W hook.CreateHook()
Do hook.%Save()
17. • Куб
• Дэшборд
• Листинг – История
коммитов
– Автор
– Статус
– Время начала
– Время завершения
– Длительность
– SHA последнего
коммита
• Куб обновляется
автоматически после
изменения hook
Мониторинг