Почему вы не можете игнорировать GitLab в 2016 году, Иван Немытченко, Gitlab...it-people
GitLab is a free, open source alternative to GitHub that provides similar features for hosting and collaborating on code. It allows users to create projects, issues, labels, merge requests, and more through an intuitive workflow. While it can be installed locally, GitLab.com also provides free private repositories and unlimited collaborators. The document outlines GitLab's features for code hosting, continuous integration/deployment, static site generation, and more to argue it should no longer be ignored compared to GitHub.
Профилирование распределенных систем, Александр Казаков, СКБ Контур it-people
The document contains log entries from a distributed system on March 23, 2016. It logs information about various services, components and requests. Some key details include:
- It logs the start and completion of asynchronous tasks across multiple services including "PageAsyncTask" and "ConcurrentAsyncTaskManager".
- It logs successful requests to a "ZebraSearch" component with response times between 0-9 seconds for some requests.
- Other log lines provide details on the response size, remote server IP addresses, and cache updates for file downloads.
В докладе речь пойдёт об основных принципах разработки и обеспечения отказоустойчивости в системах, развёртываемых в облаках.
Рассмотрим следующие темы:
- что такое отказоустойчивые системы;
- классификация возможных сбоев на уровне приложения и на уровне инфраструктуры;
- подходы к обеспечению отказоустойчивости;
- анализ и верификация отказоустойчивости;
- TheButcher как инструмент обеспечения отказоустойчивости.
Также увидим сравнение вживую отказоустойчивой и отказонеустойчивой систем, развёрнутых на OpenStack.
Почему вы не можете игнорировать GitLab в 2016 году, Иван Немытченко, Gitlab...it-people
GitLab is a free, open source alternative to GitHub that provides similar features for hosting and collaborating on code. It allows users to create projects, issues, labels, merge requests, and more through an intuitive workflow. While it can be installed locally, GitLab.com also provides free private repositories and unlimited collaborators. The document outlines GitLab's features for code hosting, continuous integration/deployment, static site generation, and more to argue it should no longer be ignored compared to GitHub.
Профилирование распределенных систем, Александр Казаков, СКБ Контур it-people
The document contains log entries from a distributed system on March 23, 2016. It logs information about various services, components and requests. Some key details include:
- It logs the start and completion of asynchronous tasks across multiple services including "PageAsyncTask" and "ConcurrentAsyncTaskManager".
- It logs successful requests to a "ZebraSearch" component with response times between 0-9 seconds for some requests.
- Other log lines provide details on the response size, remote server IP addresses, and cache updates for file downloads.
В докладе речь пойдёт об основных принципах разработки и обеспечения отказоустойчивости в системах, развёртываемых в облаках.
Рассмотрим следующие темы:
- что такое отказоустойчивые системы;
- классификация возможных сбоев на уровне приложения и на уровне инфраструктуры;
- подходы к обеспечению отказоустойчивости;
- анализ и верификация отказоустойчивости;
- TheButcher как инструмент обеспечения отказоустойчивости.
Также увидим сравнение вживую отказоустойчивой и отказонеустойчивой систем, развёрнутых на OpenStack.
Dev&Test на Windows Azure IaaS:
* Что за Dev&Test? Ситуации Dev&Test
* Как делать D&T на Windows Azure?
* Как делают люди?
* Ограничения Windows Azure, которые важны
* Топологии
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2Oleg Poludnenko
Доклад с PUG#4 https://www.facebook.com/events/350783888446030/
Презентует:
- Асинхронность в веб-приложениях.
- Систему очередей Gearman.
- Пример Реализации c использование Yii2 + Gearman.
Организация нагрузочного тестирования — Алексей ЛавренюкYandex
Алексей Лавренюк расскажет об организации процесса нагрузочного тестирования: зачем нужно нагрузочное тестирование, на какие вопросы оно даст ответ, как снизить затраты временных и человеческих ресурсов на нагрузочное тестирование. Еще он коснется возможностей open-source инструмента Яндекс.Танк и его места в процессе нагрузочного тестирования.
Казалось, закончились долгие обсуждения в форумах, как измерить время работы алгоритма, какие функции использовать, какую точность ожидать. Жаль, но опять придется вернуться к этому вопросу. На повестке дня вопрос – как лучше измерить скорость работы параллельного алгоритма.
Aleksei Milovidov "Let's optimize one aggregate function in ClickHouse"Fwdays
Let's calculate an average of one column for each key, like the following query: SELECT key, avg(value) FROM table GROUP BY key. What can be more simple? But the question is: what is the most efficient way to do it? How to write code to achieve maximum performance on a variety of hardware?
JSLab. Григорий Перетяка "Разработка SPA на мультисайтовом highload-проекте"GeeksLab Odessa
28.03.15. Одесса. Impact Hub Odessa. Конференция JSLab.
Георгий Подсветов "Путь архитектора. Введение в архитектурные паттерны."
В рамках данного доклада мы познакомимся с рядом архитектурных паттернов, поговорим об их назначениях, сильных и слабых сторонах. Обсудим возможность создания гибридных решений. Поговорим о том, почему важно знать и понимать архитектурные паттерны. И конечно же вы получите рекомендации по дальнейшему развитию этого направления.
Подробнее:
http://geekslab.co/
https://www.facebook.com/GeeksLab.co
https://www.youtube.com/user/GeeksLabVideo
Solit 2014, Scrum для большого проекта. Как это работает на практике, Слисенк...solit
Слисенко Константин, Минск. Компания JazzTeam, Senior Software Engineer
«Scrum для большого проекта. Как это работает на практике». Development секция. Agile отделение.
«MapReduce и машинное обучение на Hadoop и Mahout». Development секция. Для разработчиков. Высокий уровень подготовки.
Xp days 2019 - Why startups need SRE practicesAlexey Andreev
In Prisma we process more than 500k photos per day on the server. I would like to present why SRE practices are needed in a small company, how to implement them without pain, why it pays off, and how we reduced the number of incidents.
"Web Vitals monitoring & optimizations", Erik HimiranovFwdays
Performance is one of the key factors in determining a product's user experience. It is very important that the site loads quickly, is responsive and interactive, and the content remains stable.
I want to share why you need to monitor application performance, talk about Web Vitals metrics and tools for measuring them.
I also want to tell you about examples of optimizations that can positively affect performance and what results it can bring.
Использование отладочных стендов является естественным шагом при внедрении модельно-ориентированного проектирования. Мы хотим показать как быстро и эффективно строить стенды реального времени для проведения безопасных испытаний систем управления.
При проектировании нагруженных систем приходится сталкиваться с тем, что разные типы запросов к веб-серверам затрачивают разное количество ресурсов, выполняются за разное количество времени и имеют разные приоритеты выполнения. Некоторые запросы «стоят» мало и должны выполняться как можно быстрее. Некоторые «стоят» дорого, и главное, чтобы они не блокировали обработку быстрых запросов. Существующие схемы приоритезации показались нам громоздкими и неудобными – при росте количества типов запросов конфигурация системы усложнялась в разы. Поэтому, чтобы решить эту проблему, а также для того, чтобы сделать ответы на запросы еще более быстрыми, мы написали свой веб-сервер – Phantom. Я расскажу вам, как он устроен, покажу, какие задачи можно решать с его помощью, а в завершение покажу на практике, как работает приоритезация разных типов запросов, используя для этого инструмент нагрузочного тестирования, основанный на Phantom.
Мы покажем, как можно перенести разработанные алгоритмы для работы с Big Data с минимальными изменениями исходных программ. Рассмотрим возможности по распараллеливанию счета на многоядерных процессорах (вычислительных кластерах) и графических процессорах, поддерживающих CUDA.
«Scrapy internals» Александр Сибиряков, Scrapinghubit-people
- Scrapy is a framework for web scraping that allows for extraction of structured data from HTML/XML through selectors like CSS and XPath. It provides features like an interactive shell, feed exports, encoding support, and more.
- Scrapy is built on top of the Twisted asynchronous networking framework, which provides an event loop and deferreds. It handles protocols and transports like TCP, HTTP, and more across platforms.
- Scrapy architecture includes components like the downloader, scraper, and item pipelines that communicate internally. Flow control is needed between these to limit memory usage and scheduling through techniques like concurrent item limits, memory limits, and delays between calls.
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrainsit-people
The document discusses debugging in Python 3.6. It describes tracing and frame evaluation debuggers. Tracing debuggers slow code execution significantly by calling the tracing function on every line. Python 3.6 introduced a new frame evaluation API that allows evaluating frames directly, avoiding the performance issues of tracing. The document demonstrates how to build a debugger using this approach, including setting breakpoints and stepping through code by inserting temporary breakpoints on each line. Frame evaluation allows building a debugger that is faster than tracing debuggers without significant performance penalties.
«Gevent — быть или не быть?» Александр Мокров, Positive Technologiesit-people
Gevent is a concurrency library for Python that uses greenlets, or lightweight coroutines, to provide asynchronous operations and non-blocking I/O. It allows developing highly concurrent applications using a simple and familiar synchronous style. The document compares gevent to other concurrency options like asyncio and discusses how it provides features like asynchronous task execution, event loops, and inter-greenlet communication using queues and callbacks.
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...it-people
The document discusses what serverless computing is and how it can be used for building applications. Serverless applications rely on third party services to manage server infrastructure and are event-triggered. Popular serverless frameworks like AWS Lambda, Google Cloud Functions, Microsoft Azure Functions, and Zappa allow developers to write code that runs in a serverless environment and handle events and triggers without having to manage servers.
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologiesit-people
The document describes a talk on optimizing Python performance through just-in-time compilation. It discusses how the CPython interpreter works by evaluating bytecode through an evaluation loop. It then talks about how PyPy achieves faster performance through jit compilation of hot loops detected via tracing. The talk dives into the RPython language used to implement PyPy and shows an example of compiling a small Python program to C with RPython. It also discusses using partial evaluation to specialize an interpreter for constant inputs.
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn Systemit-people
The document appears to be a transcript of Python code being executed in an interactive Python shell. It contains examples testing the behavior of built-in functions and operators like sorted(), reversed(), isinstance(), sum(), float("nan"), is, min(), and comparisons like ==, <, on various data types including lists, tuples, and dictionaries.
«(Без)опасный Python», Иван Цыганов, Positive Technologiesit-people
The document discusses various security vulnerabilities in Python web applications. It begins with an overview of the OWASP Top 10 security risks, with sections focusing on risks related to using components with known vulnerabilities (A9) and insufficient attack protection (A7). For A9, it provides examples of vulnerabilities in popular Python packages and recommends checking changelogs and vulnerability databases. For A7, it recommends implementing attack protections like login attempts logging, rate limiting, and use of a web application firewall. The document also covers security misconfiguration (A5), giving examples like using default settings in production and exposing tracebacks.
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...it-people
The document discusses best practices for writing tests in Swift, including recommendations to:
- Write clean, readable tests that focus on asserting a single truth
- Use a domain-specific language in tests for clarity
- Structure tests with "given-when-then"
- Mock dependencies through protocols to enable test isolation
- Favor partial mocks over fully mocking to limit complexity
28. Scale Up:
1) Spot, если возможно
2) On demand, если нет Spot
Scale Down:
1) On demand, если есть лишние
2) Spot, если нельзя выключить On demand
Правила запуска/выключения
36. - Scale up, если текущее число машин меньше
(q_size + q_avg * MAX_PROCESS_TIME) //
(RESIZER_SPEED * MAX_PROCEED_TIME) + 1
- Scale down, если за последнее время не
требовалось столько машин
- Используем машины по полной, если
последний запуск был менее 55 минут назад
Правила запуска/выключения
38. - Образ не меняется
- Нужно обновлять код при запуске машины
- Долгая установка requirements.txt
- Усугубляется со временем
Проблема
39. - Образ не меняется
- Нужно обновлять код при запуске машины
- Долгая установка requirements.txt
- Усугубляется со временем
Проблема
- docker pull вместо git pull
Решение
45. tasks:
- name: Provision a set of instances
ec2:
group: sg-xxxxxxxx
instance_type: m3.large
image: ami-13377331
region: eu-west-1
zone: eu-west-1a
aws_access_key: 'IDONTTELLYOU'
aws_secret_key: 'vErYsecreTAwskEY'
spot_price: 0.10
wait: true
exact_count: 1
count_tag:
Taks: very_cool_tag
instance_tags:
Name: very_cool_name
Task: very_cool_tag
register: ec2
- name: Add new instance to host group
add_host:
hostname={{ item.public_ip }}
groupname=launched
with_items: ec2.instances
when: instance_count > 0
- name: Wait for SSH to come up
wait_for:
host={{ item.public_dns_name }}
port=22 delay=10 timeout=320
state=started
with_items: ec2.instances
when: instance_count > 0
46. - name: Run task on instances
hosts: launched
sudo: True
gather_facts: False
vars:
- command: /usr/bin/python /foo/bar/do_some_stuff.py
roles:
- { role: deploy }
tasks:
- name: Do some very important things
do: some very important things
- name: Execute command in the screen
shell: /opt/scripts/run_task_in_screen.sh "{{ command }} --number {{
play_hosts.index(inventory_hostname) }} --total {{ play_hosts|count }} --shutdown"
#3: О себе
О компании
-> Основное приложение, Специфика
#4: свадебным порталом…
Задачи у нас для веба совершенно типичные
обслуживать пользователей, хранить информацию в базе, что-то где-то кэшировать, а еще у нас есть фотографии.
#5: О докладе.
Для кого, зачем и почему?
Подкинуть пару идей, как решить задчи