Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...Andrew Minkin
ы начали делать проект и запустили его в продакшн. Со временем пользователей становится больше и текущих ресурсов вам начинает не хватать. В этом докладе я расскажу о основных путях борьбы с нагрузкой, путях решения и проблемах, связанных с ними.
В докладе мы поговорим о:
0. Что такое нагрузка? Пути борьбы с нагрузкой. Оптимизация кода, кеширование, масштабирование
1. Какие проблемы возникают при внедрении кеширования
2. Как оценивать качество работы кеширования?
3. Путь масштабирования и борьба за ресурсы
4. Проблемы балансировки
5. Проблемы БД. Конкурентный доступ и данным и целостность их
Пути решения проблем будут на примере Python/Django
Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...Andrew Minkin
ы начали делать проект и запустили его в продакшн. Со временем пользователей становится больше и текущих ресурсов вам начинает не хватать. В этом докладе я расскажу о основных путях борьбы с нагрузкой, путях решения и проблемах, связанных с ними.
В докладе мы поговорим о:
0. Что такое нагрузка? Пути борьбы с нагрузкой. Оптимизация кода, кеширование, масштабирование
1. Какие проблемы возникают при внедрении кеширования
2. Как оценивать качество работы кеширования?
3. Путь масштабирования и борьба за ресурсы
4. Проблемы балансировки
5. Проблемы БД. Конкурентный доступ и данным и целостность их
Пути решения проблем будут на примере Python/Django
Юрий Кудымовский: 10 опасных заблуждений об интернет-магазинах и 20 полезных ...Новый Сайт
Доклад с выступления на семинаре «Формула сайта: от идеи интернет-магазина до лидера отрасли», который прошел 11 мая 2017 года в Минске в IBB: http://www.newsite.by/about/news/prez_11-05-2017/
React - это JavaScript библиотека для построения пользовательских интерфейсов с отличной производительностью. В данном докладе я постараюсь рассказать, как работает React изнутри. Вы узнаете, что такое Виртуальный DOM и как он работает, что именно происходит после вызова setState в компоненте, как работает Diff-алгоритм, что такое Batching и как в React построена система событий.
Мы поговорим о построении одностраничных приложений с помощью React, преимуществах и недостатках React относительно других решений. В рамках вебинара мы построим небольшое динамическое приложение на React.
- Что такое ReactJS и как он рабтает.
- Какие преимущества использованя компонентов.
- Как создавать компоненты на ReactJS.
- Как передавать параметры компонентам и использовать JSX.
- Как обрабатывать события в React.
- Как работать с состоянием компонентов.
- Какие перспективы использования React.
Ведущая Екатерина Поршнева:
- На данный момент Екатерина работает front-end разработчиком на ReactJS в компании YouScan.
- Автор популярного видео-курса по ReactJS.
- Спикер на всеукраинских и международных конференциях по web-разработке.
- Спикер на всеукраинский семинарах и мастер-классах по разработке одностраничных приложений на ReactJS.
http://frontend-science.com/react-webinar/
Микросервисная Архитектура: проблемы и решения / Сергей Орлов (Avito)Ontico
РИТ++ 2017
Зал Конгресс-холл, 5 июня, 11:00
Тезисы:
http://ritfest.ru/2017/abstracts/2745.html
Большое количество современных веб-проектов переходит на микросервисную архитектуру.
Она решает большое количество проблем, присущих монолитным системам, однако накладывает
качественно новые требования на разработку, эксплуатацию и тестирование. Многие классические задачи предстают в новом свете.
В докладе я коротко расскажу об основных паттернах микросервисной архитектуры, опишу присущую ей проблематику, а также дам обзор подходов, помогающих в решении проблем.
JavaScript и инновации by Max Klymyshyn
Published July 5, 2014 in Technology
Как возникло то, что мы имеем в JavaScript, что уже существует и какие инновации нас ждут в ближайшем будущем
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)Ontico
РИТ++ 2017, App's Conf
Зал Найроби, 6 июня, 10:00
Тезисы:
http://appsconf.ru/2017/abstracts/2818.html
Ни для кого не секрет, что Swift — это mainstream: его активно продвигает Apple, на нем пишутся все новые фреймворки, многие разработчики начинают именно с него. Но так ли просто мигрировать c Objective-С, если твоему приложению 5 лет и оно имеет большую аудиторию? В докладе мы расскажем о том, как сделать это без ущерба для бизнеса.
Вы узнаете об этапах такого перехода:
1. Какую бизнес-проблему решали? - Ускоряем разработку, уменьшаем количество багов, проще и быстрее находим новых сотрудников, ограждаем от будущих рисков (старых не поддерживаемых фреймворков, устаревших АПИ).
...
Доклад посвящен основным проблемам создания полноценных Single Page Application, а также будут продемонстрированы пути их решения на основе фреймворка basis.js.
SECON'2016. Сергей Аверин. Javascript-фреймворки: должен остаться только одинSECON
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет. В докладе пойдет речь о том, что хорошо работающий фронтенд — это больше про слаженную работу команды, про понятный и масштабируемый код, чем про сухие циферки. Но и циферки тоже будут.
1) Какие у нас были проблемы с текущим фреймворком — UI, архитектура, код.
2) Как измеряли, что примерно стоит брать (исследование популярности).
3) Что рассматривали.
4) На пути к демо-проекту, какие были сложности (то, что уперли идею с Typescript, собственный компилятор шаблонов, четыре Flux-фреймворка и все плохи).
5) Два пилотных демо-проекта: цифры.
6) Оценка трудоемкости перехода.
SECON'2016. Аверин Сергей, Javascript-фреймворки: должен остаться только одинSECON
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет.
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)Ontico
В своём проекте мы решали следующие задачи:
+ Скорость разработки задачи;
+ Стоимость поддержки задачи;
+ Возможность распараллеливать вычисления и задачи;
+ Возможность максимально просто масштабировать приложение;
+ CI/CD с минимальными усилиями.
Я расскажу о том, как мы решали эти задачи, на какие грабли мы наступали, что из этого всего получилось, и что делать дальше.
Что получили в итоге:
+ Мощь JVM под капотом Scala;
+ 15 минут от нажатия на кнопку "Merge request" до продакшена в 3 датацентра и 6 серверов с прохождением тестов (юнит + функциональные + интеграционные + нагрузочные);
+ 6 нод с приложениями вместо 18 (по 2 в каждом датацентре для отказоустойчивости) с запасом прочности в 60%;
+ Независимые пофичные релизы без даунтайма всех компонентов приложения;
+ Масштабирование только того функционала и в том количестве, которое необходимо данному сервису.
Юрий Кудымовский: 10 опасных заблуждений об интернет-магазинах и 20 полезных ...Новый Сайт
Доклад с выступления на семинаре «Формула сайта: от идеи интернет-магазина до лидера отрасли», который прошел 11 мая 2017 года в Минске в IBB: http://www.newsite.by/about/news/prez_11-05-2017/
React - это JavaScript библиотека для построения пользовательских интерфейсов с отличной производительностью. В данном докладе я постараюсь рассказать, как работает React изнутри. Вы узнаете, что такое Виртуальный DOM и как он работает, что именно происходит после вызова setState в компоненте, как работает Diff-алгоритм, что такое Batching и как в React построена система событий.
Мы поговорим о построении одностраничных приложений с помощью React, преимуществах и недостатках React относительно других решений. В рамках вебинара мы построим небольшое динамическое приложение на React.
- Что такое ReactJS и как он рабтает.
- Какие преимущества использованя компонентов.
- Как создавать компоненты на ReactJS.
- Как передавать параметры компонентам и использовать JSX.
- Как обрабатывать события в React.
- Как работать с состоянием компонентов.
- Какие перспективы использования React.
Ведущая Екатерина Поршнева:
- На данный момент Екатерина работает front-end разработчиком на ReactJS в компании YouScan.
- Автор популярного видео-курса по ReactJS.
- Спикер на всеукраинских и международных конференциях по web-разработке.
- Спикер на всеукраинский семинарах и мастер-классах по разработке одностраничных приложений на ReactJS.
http://frontend-science.com/react-webinar/
Микросервисная Архитектура: проблемы и решения / Сергей Орлов (Avito)Ontico
РИТ++ 2017
Зал Конгресс-холл, 5 июня, 11:00
Тезисы:
http://ritfest.ru/2017/abstracts/2745.html
Большое количество современных веб-проектов переходит на микросервисную архитектуру.
Она решает большое количество проблем, присущих монолитным системам, однако накладывает
качественно новые требования на разработку, эксплуатацию и тестирование. Многие классические задачи предстают в новом свете.
В докладе я коротко расскажу об основных паттернах микросервисной архитектуры, опишу присущую ей проблематику, а также дам обзор подходов, помогающих в решении проблем.
JavaScript и инновации by Max Klymyshyn
Published July 5, 2014 in Technology
Как возникло то, что мы имеем в JavaScript, что уже существует и какие инновации нас ждут в ближайшем будущем
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)Ontico
РИТ++ 2017, App's Conf
Зал Найроби, 6 июня, 10:00
Тезисы:
http://appsconf.ru/2017/abstracts/2818.html
Ни для кого не секрет, что Swift — это mainstream: его активно продвигает Apple, на нем пишутся все новые фреймворки, многие разработчики начинают именно с него. Но так ли просто мигрировать c Objective-С, если твоему приложению 5 лет и оно имеет большую аудиторию? В докладе мы расскажем о том, как сделать это без ущерба для бизнеса.
Вы узнаете об этапах такого перехода:
1. Какую бизнес-проблему решали? - Ускоряем разработку, уменьшаем количество багов, проще и быстрее находим новых сотрудников, ограждаем от будущих рисков (старых не поддерживаемых фреймворков, устаревших АПИ).
...
Доклад посвящен основным проблемам создания полноценных Single Page Application, а также будут продемонстрированы пути их решения на основе фреймворка basis.js.
SECON'2016. Сергей Аверин. Javascript-фреймворки: должен остаться только одинSECON
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет. В докладе пойдет речь о том, что хорошо работающий фронтенд — это больше про слаженную работу команды, про понятный и масштабируемый код, чем про сухие циферки. Но и циферки тоже будут.
1) Какие у нас были проблемы с текущим фреймворком — UI, архитектура, код.
2) Как измеряли, что примерно стоит брать (исследование популярности).
3) Что рассматривали.
4) На пути к демо-проекту, какие были сложности (то, что уперли идею с Typescript, собственный компилятор шаблонов, четыре Flux-фреймворка и все плохи).
5) Два пилотных демо-проекта: цифры.
6) Оценка трудоемкости перехода.
SECON'2016. Аверин Сергей, Javascript-фреймворки: должен остаться только одинSECON
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет.
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)Ontico
В своём проекте мы решали следующие задачи:
+ Скорость разработки задачи;
+ Стоимость поддержки задачи;
+ Возможность распараллеливать вычисления и задачи;
+ Возможность максимально просто масштабировать приложение;
+ CI/CD с минимальными усилиями.
Я расскажу о том, как мы решали эти задачи, на какие грабли мы наступали, что из этого всего получилось, и что делать дальше.
Что получили в итоге:
+ Мощь JVM под капотом Scala;
+ 15 минут от нажатия на кнопку "Merge request" до продакшена в 3 датацентра и 6 серверов с прохождением тестов (юнит + функциональные + интеграционные + нагрузочные);
+ 6 нод с приложениями вместо 18 (по 2 в каждом датацентре для отказоустойчивости) с запасом прочности в 60%;
+ Независимые пофичные релизы без даунтайма всех компонентов приложения;
+ Масштабирование только того функционала и в том количестве, которое необходимо данному сервису.
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
HighLoad++ 2017
Зал «Рио-де-Жанейро», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2905.html
Прошло более года с того момента, как Microsoft выпустила первую версию своего нового фреймворка для разработки web-приложений ASP.NET Core, и с каждым днем он находит все больше поклонников. ASP.NET Core базируется на платформе .NET Core, кроссплатформенной версии платформы .NET c открытым исходным кодом. Теперь у С#-разработчиков появилась возможность использовать Mac в качестве среды разработки, и запускать приложения на Linux или внутри Docker-контейнеров.
...
Построение собственного JS SDK — зачем и как?buranLcme
Многие разработчики любят делать свои велосипеды, но не все задумываются зачем. Мы расскажем о том, зачем вам может понадобится собственный JavaScript SDK и полезно ли кататься на велосипедах.
Мы делали собственный JS SDK для того, чтобы дать возможность создания плагинов в рамках большой enterprise системы - <b>Parallels Automation</b> и <b>Plesk Panel</b>. Сам SDK является частью общего стандарта <b>APS</b>, который является шиной, объединяющей все наши продукты по автоматизации. Обе панели брендируются и мы должны были сохранить брендинг при уже существующей кодовой базе верстки и существующих правилах оформления. И главное - надо было дать возможность создания UI сторонним девелоперам, которые могут иметь абсолютно разный уровень - от пришедших бекэндеров до профессиональных js-разработчиков.
SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?SECON
Тестирование заказов в ecommerce международного масштаба/ Order Lifecycle - Жизненный цикл заказа vs QA / Lazada. Азиатская кухня ecommerce тестирования.
2. Ecwid
• SaaS-платформа для создания интернет-
магазинов
• больше миллиона клиентов
• ~250.000.000 посетителей в месяц
• 120+ человек в команде
• Ульяновск, Самара, San Diego
3. Наш опыт
Вот такой красоты —
• Текущая версия “морды” написана на GWT
• Есть нюансы, но GWT правда хорошая технология ;)
• ~300.000 LOC на Java, компилируемого в JS
• Это транслируется в ~7mb (!) “красоты”
4. Наши условия
• больше 20 разработчиков в команде
• срок жизни — не меньше 5 лет
• больше 100.000 LOC
• Очень активная разработка и рефакторинг
6. Elm
• Первое упоминание - 2012
• Независимый язык, НЕ надстройка над JS
• Компиляция Elm → JavaScript (очень быстрая!)
• Функциональный
• Строгая статическая типизация
7. Elm
• Глобальный вывод типов
• Неизменяемые структуры данных
• Чистые функции
• Алгебраические типы данных
8. Почему Elm?
Это все прекрасно, однако:
• Функциональных языков много
• Компилируемых в JS тоже достаточно
• Нет ошибок в runtime
• Очень простой синтаксис
Никаких “undefined is not a function” :)
9. Elm architecture
Классика
• начальная модель
• отрисовка модели
• изменение модели
• опять отрисовка
• и опять изменение
• Update: Model → Model
• Render: Model → Html