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;
+ повышение эффективности использования билд-фермы.
Многие аналитики предрекают реактивному программированию большое будущее в решении задач Mobile и Big Data.
TypeSafe, разработчики языка Scala, создали многообещающий реактивный фреймворк Akka, который "дружит" с Java.
Чем он может быть интересен Java-разработчикам? Сможет ли Akka+Java конкурировать с Akka+Scala? И как ей в этом помогут новые фичи Java 8?
Об этом я расскажу в своем докладе "Посмотрим на Акку-Джаву".
Слайды с моего выступления на HDConf в Минске 17 октября 2015 года. Я рассказывал из чего состоит PaaS, как запускать контейнеры в облаке и чем отличаются Mesos, Cloud Foundry и Kubernetes.
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)Ontico
В этом году мы перевели наш портал на HTTPS. Это оказалось непростой задачей. Основными проблемами явились рост нагрузки, увеличение Round Trip Times (RTT) и Mixed Content. Мы опробовали различные известные механизмы, призванные нивелировать эти проблемы, но, как оказалось на практике, все они скрывают в себе особенности. Эти особенности стоило знать заранее, но их не удалось почерпнуть из открытых источников.
В этом докладе мы хотим поделиться сложностями, с которыми мы столкнулись, а также тем, к каким выводам в итоге пришли. Надеемся, что набитые нами шишки будут полезны тем проектам, которые только планируют переход на HTTPS.
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Ontico
Выбор системы мониторинга - это практически holy-war-ная тема среди администраторов и разработчиков. Какая система лучше? Что удобнее? Какая система сможет выдержать большое количество статистики, а какая - лучше собрать и представить данные?
В своем докладе мы попробуем предельно непредвзято рассмотреть существующие решения и понять, что и когда можно использовать.
См. тезисы - http://rootconf.ru/2015/abstracts/1746
Продуктовые проблемы при создании очередной 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;
+ повышение эффективности использования билд-фермы.
Многие аналитики предрекают реактивному программированию большое будущее в решении задач Mobile и Big Data.
TypeSafe, разработчики языка Scala, создали многообещающий реактивный фреймворк Akka, который "дружит" с Java.
Чем он может быть интересен Java-разработчикам? Сможет ли Akka+Java конкурировать с Akka+Scala? И как ей в этом помогут новые фичи Java 8?
Об этом я расскажу в своем докладе "Посмотрим на Акку-Джаву".
Слайды с моего выступления на HDConf в Минске 17 октября 2015 года. Я рассказывал из чего состоит PaaS, как запускать контейнеры в облаке и чем отличаются Mesos, Cloud Foundry и Kubernetes.
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)Ontico
В этом году мы перевели наш портал на HTTPS. Это оказалось непростой задачей. Основными проблемами явились рост нагрузки, увеличение Round Trip Times (RTT) и Mixed Content. Мы опробовали различные известные механизмы, призванные нивелировать эти проблемы, но, как оказалось на практике, все они скрывают в себе особенности. Эти особенности стоило знать заранее, но их не удалось почерпнуть из открытых источников.
В этом докладе мы хотим поделиться сложностями, с которыми мы столкнулись, а также тем, к каким выводам в итоге пришли. Надеемся, что набитые нами шишки будут полезны тем проектам, которые только планируют переход на HTTPS.
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Ontico
Выбор системы мониторинга - это практически holy-war-ная тема среди администраторов и разработчиков. Какая система лучше? Что удобнее? Какая система сможет выдержать большое количество статистики, а какая - лучше собрать и представить данные?
В своем докладе мы попробуем предельно непредвзято рассмотреть существующие решения и понять, что и когда можно использовать.
См. тезисы - http://rootconf.ru/2015/abstracts/1746
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...Provectus
Aleksandr Matkovskiy – Head of IT Department lives and works with the motto "Scaling and load balancing is our all!". Therefore, he has 3 sons and dreams to find DEV for his OPS.
You will be able to see how the CI / CD was created and saved our lives. From concept to the final product.
Vladislav Anikin – Team Leader & Software Architect, specializing in SAAS flexible and scalable solutions for business. Driving DDD/TDD oriented squad of awesome SOLID developers.
You will be able to see how the CI / CD was created and saved our lives. From concept to the final product.
Continuous Integration for C++ engineerscorehard_by
В головах разработчиков бытует мнение, что их работа заканчивается после того, как они закомитили код, а весь остальной процесс их вовсе не касается. Взамен такого устаревшего мнения мы выдвинем свой тезис - тот факт, что код сбирается на машине разработчика не интересует никого! Наша цель - сделать следующий шаг навстречу непрерывной интеграции (CI, англ. Continuous integration) и автоматизировать разрешение зависимостей, сборку и модульное тестирование под все целевые платформы.
Continuous Integration(как мы подружили frontend и backend)Talks&Works
— Почему нельзя просто взять и "натянуть" шаблон на CMS/Framework
— Как сократить время разработки в 2 раза, работая над конечным продуктом, а не над побочными артефактами
— Что значит Continuous Integration для frontend разработчика
— Как использовать CI на примере работы с 1C-Bitrix
Continuous integration, или как мы подружили front end и back-endwlbl
Презентация с выступления Подрубного Константина, CTO White Label Production ( http://wlbl.ru/ ) на конференции TALKS&WORKS ( http://t-n-w.ru/ )
InterSystems Developers Community Update Global Summit 2019InterSystems
InterSystems Developers Community
Open Exchange - InterSystems Marketplace for Applications
Package Manager
Spanish Developers Community
Global Masters
InterSystems IRIS Data Platfrom: Sharding and ScalabilityInterSystems
A 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 DashboardsInterSystems
DeepSee 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.
The 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/
Source Control Addon for InterSystems Caché with UDL supportInterSystems
Source 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
InterSystems Healthshare +DeepSee. BI solution for hospitalization queue monitoring Krasnoyarsk Region
InterSystems Healthshare +DeepSee. BI решение для мониторинга очереди госпитализации на примере Красноярского Крас
Intersystems 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
Caché Native Access - the way to call native binary libs from Caché Object Script in a very easy and robust way
Способ работы с нативными библиотеками любых ОС из Caché Object Script наиболее простым и удобным способом, без создания специальных Callout библиотек.
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
Мониторинг