ОЛЕГ ЗАРЕВИЧ «How did we improve delivery using tests» Lviv QA Day 2019QADay
Lviv Quality Assurance Day 2019
ОЛЕГ ЗАРЕВИЧ
«How did we improve delivery using tests»
Telegram: www.t.me/goqameetup
Facebook: www.fb.com/goqaevent
Linkedin: www.linkedin.com/company/goqa/
Сайт: www.qaday.org
Cloud taxonomy and best practices - ISACA Kyiv event, 05.11.2019 Anastasiia Konoplova
Handouts of ISACA Kyiv event, 05.11.2019, "How works cloud services, which we use". Presentation incudes:
- basics of cloud services in current context,
- risks of cloud services orchestration from cloud auditor,
- references to sources, were best practices of cloud use can be found.
Лекція 1. Основні поняття хмарних технологій
По матеріалах:
Інтернет +
http://mirknig.su/knigi/programming/114558-vvedenie-v-oblachnye-vychisleniya-2-e-izd.html
Алексей Кириченко. "Как не потерять миллион". IT-пятница, сентябрь 2018GigaCloud
"Построение отказоустойчивого кластера высоконагруженных веб-серверов". Доклад Алексея Кириченко, системного архитектора OpenStack в gigacloud.ua в рамках ІТ-пятницы в сентябре 2018 года. Презентация на украинском языке.
SMExpert - система автоматизації ITSM-процесів у хмаріTechExpert
Компанія TechExpert пропонує комплексне рішення SMExpert на базі ПЗ GLPi, яке забезпечує автоматизацію служби Service Desk та дозволяє максимально швидко розгорнути та запустити її в роботу.
Рішення включає готовий набір інструментів, шаблонів та попередніх налаштувань, який забезпечує автоматизацію виконання більшості завдань, пов'язаних із роботою служби підтримки та всього IT-підрозділу компанії.
ОЛЕГ ЗАРЕВИЧ «How did we improve delivery using tests» Lviv QA Day 2019QADay
Lviv Quality Assurance Day 2019
ОЛЕГ ЗАРЕВИЧ
«How did we improve delivery using tests»
Telegram: www.t.me/goqameetup
Facebook: www.fb.com/goqaevent
Linkedin: www.linkedin.com/company/goqa/
Сайт: www.qaday.org
Cloud taxonomy and best practices - ISACA Kyiv event, 05.11.2019 Anastasiia Konoplova
Handouts of ISACA Kyiv event, 05.11.2019, "How works cloud services, which we use". Presentation incudes:
- basics of cloud services in current context,
- risks of cloud services orchestration from cloud auditor,
- references to sources, were best practices of cloud use can be found.
Лекція 1. Основні поняття хмарних технологій
По матеріалах:
Інтернет +
http://mirknig.su/knigi/programming/114558-vvedenie-v-oblachnye-vychisleniya-2-e-izd.html
Алексей Кириченко. "Как не потерять миллион". IT-пятница, сентябрь 2018GigaCloud
"Построение отказоустойчивого кластера высоконагруженных веб-серверов". Доклад Алексея Кириченко, системного архитектора OpenStack в gigacloud.ua в рамках ІТ-пятницы в сентябре 2018 года. Презентация на украинском языке.
SMExpert - система автоматизації ITSM-процесів у хмаріTechExpert
Компанія TechExpert пропонує комплексне рішення SMExpert на базі ПЗ GLPi, яке забезпечує автоматизацію служби Service Desk та дозволяє максимально швидко розгорнути та запустити її в роботу.
Рішення включає готовий набір інструментів, шаблонів та попередніх налаштувань, який забезпечує автоматизацію виконання більшості завдань, пов'язаних із роботою служби підтримки та всього IT-підрозділу компанії.
"Next gen cloud-native platforms: showcase from TemaBit, Fozzy Group", Sergiy...Fwdays
We love cloud-native solutions almost as much as we love our legendary buckwheat baguette. Apart from that we do love to share our experience. Check out the story of building a nation-wide solutions to service millions of Silpo, Fora and other businesses Guests daily.
By taking an example of our new Commodity Accounting Platform (CAP), we will showcase technologies and processes we use and why, and finally - the challenges we overcome.
Let’s make Ukraine great again, together!
Павло Юрійчук — Перехід на Angular.js. Howto
1.Що таке Angular.JS на думку Менеджера і Розробника
2. Екосистема для розробки на Angular.JS
3. Причини для переходу і непереходу на Angular.JS
4. Предметна область, поради, книги
5. Ознаки, що Ви на вірному шляху
Цю презентацію значно доповнює схожа, але трохи інша. англомовна презентація Павла: "Pavlo Yuriychuk — Switching to Angular.js. Silk way"
"Instant loading: Improving your website speed", Yozhef HisemFwdays
How to identify what’s causing delays on your website, and what tools to use to identify them? How to use caching to reduce the number of requests to the server and speed up page loading? How to use asynchronous requests to reduce page load times and ensure faster and more efficient data exchange between client and server?
● Що таке "цикл зворотнього зв'язку"?
● Цикли зворотнього зв'язку у eXtreme
Programming
● Зміцнення та скорочення циклу
зворотнього зв'язку
● Декларація взаємозалежності
● Запитання та обговорення
ОЛЕГ ЗАРЕВИЧ «Shift left та Shift Right підходи до тестування»QADay
Lviv Direction QADay 2023 (automation)
ОЛЕГ ЗАРЕВИЧ
«Shift left та Shift Right підходи до тестування»
telegram: wwww.t.me/goqameetup
fb: www.fb.com/goqaevent
fb: www.fb.com/qaday.org
linkedin: https://www.linkedin.com/company/goqa/
Сайт: www.qaday.org
Презентація в рамках дисципліни "Основи діджиталізації обліку"
Більше корисної та цікавої інформації на сайті кафедри:
https://op.biem.sumdu.edu.ua
Більше про життя інституту
http://biem.sumdu.edu.ua
Типи баз даних
● Реляційні бази даних (OLTP)
● Обробка транзакцій (ACID)
● Database-centric архітектура
● Моделювання даних. Узгодження іменування
● Нормалізація та денормалізація
● Індексування. Найкращі практики
"Next gen cloud-native platforms: showcase from TemaBit, Fozzy Group", Sergiy...Fwdays
We love cloud-native solutions almost as much as we love our legendary buckwheat baguette. Apart from that we do love to share our experience. Check out the story of building a nation-wide solutions to service millions of Silpo, Fora and other businesses Guests daily.
By taking an example of our new Commodity Accounting Platform (CAP), we will showcase technologies and processes we use and why, and finally - the challenges we overcome.
Let’s make Ukraine great again, together!
Павло Юрійчук — Перехід на Angular.js. Howto
1.Що таке Angular.JS на думку Менеджера і Розробника
2. Екосистема для розробки на Angular.JS
3. Причини для переходу і непереходу на Angular.JS
4. Предметна область, поради, книги
5. Ознаки, що Ви на вірному шляху
Цю презентацію значно доповнює схожа, але трохи інша. англомовна презентація Павла: "Pavlo Yuriychuk — Switching to Angular.js. Silk way"
"Instant loading: Improving your website speed", Yozhef HisemFwdays
How to identify what’s causing delays on your website, and what tools to use to identify them? How to use caching to reduce the number of requests to the server and speed up page loading? How to use asynchronous requests to reduce page load times and ensure faster and more efficient data exchange between client and server?
● Що таке "цикл зворотнього зв'язку"?
● Цикли зворотнього зв'язку у eXtreme
Programming
● Зміцнення та скорочення циклу
зворотнього зв'язку
● Декларація взаємозалежності
● Запитання та обговорення
ОЛЕГ ЗАРЕВИЧ «Shift left та Shift Right підходи до тестування»QADay
Lviv Direction QADay 2023 (automation)
ОЛЕГ ЗАРЕВИЧ
«Shift left та Shift Right підходи до тестування»
telegram: wwww.t.me/goqameetup
fb: www.fb.com/goqaevent
fb: www.fb.com/qaday.org
linkedin: https://www.linkedin.com/company/goqa/
Сайт: www.qaday.org
Презентація в рамках дисципліни "Основи діджиталізації обліку"
Більше корисної та цікавої інформації на сайті кафедри:
https://op.biem.sumdu.edu.ua
Більше про життя інституту
http://biem.sumdu.edu.ua
Типи баз даних
● Реляційні бази даних (OLTP)
● Обробка транзакцій (ACID)
● Database-centric архітектура
● Моделювання даних. Узгодження іменування
● Нормалізація та денормалізація
● Індексування. Найкращі практики
Similar to [Knowledge Sharing] - Microservices Intro + Communication Patterns (20)
Випуск магістрів- науковців факультету мехатроніки та інжинірингу, 2024 р.tetiana1958
Державний біотехнологічний університет.
Випуск магістрів-науковців факультету мехатроніки та інжинірингу, 2024 р.
Спеціальність 133 "Галузеве машинобудування"
Практика студентів на складі одягу H&M у Польщіtetiana1958
Пропонуємо студентам Державного біотехнологічного університету активно поринути у аспекти логістики складу одягу H&M.
Метою практики є не тільки отримання теоретичних знань, а й їх застосування практично.
До 190-річчя від дня нродження українського письменника Юрія Федьковича пропонуємо переглянути віртуальну книжкову виставку, на якій представлена література про його життєвий шлях і твори автора.
3. X-axis scaling
• Load balancer
• Many copies of same application
• OK with Monolithic approach
• OK together with Y-scaling for Microservices approach
• Disadvantages
• Same DB anyway (CAP theorem)
• Upgrades and releases are complex
• Inefficient with increasing development and application complexity
4. Z-axis scaling
• Scale by data
• Each server runs an identical app (as in X-scale)
• Each server is responsible for only a subset of the data (for example, region
– Europe, America, etc)
• Disadvantages - Increased application complexity.
• Partitioning scheme
• Search service consists of a number of partitions
• Query aggregator
• Doesn’t solve the problems of increasing development and application complexity.
5. Y-Axis Scaling
• Split by functionality
• Each service is responsible for one or more closely related functions.
• Different way of decomposition – DDD, verb/noun-based
decomposition
• Disadvantages
• Decomposition complexity
• Interactions complexity
6. Microservices
• Microservice architectural style is an approach to developing a single application as a suite of small services,
each running in its own process and communicating with lightweight mechanisms, often an HTTP resource
API.
• https://www.martinfowler.com/articles/microservices.html
9. Scaling
• Один функціонал може бути більш запотребований ніж інший.
Мікросервіси оптимально вирішують проблему навантаження за
допомогою різної кількості екземплярів
• В монолітному ми маємо “Купити корову заради склянки молока”
13. Ease of Deployment
• Доставляти можна частинами
• Але монолітним деплойментом простіше керувати
• При монолітному підході робота зупиняється під час деплойменту
14. Інші переваги
• Organizational Alignment
• При розподіленій розробці кожна команда може відповідати за свої
сервісі – менші затрати ні інтеграцію
• Кожна команда може мати свої технології
• Composability
• Легше компонувати – можна легше перейти на іший клієнт (десктоп,
мобільний, веб)
• Optimizing for Replaceability
• Мікросервіси менше схильні переростати в Legacy code
15. Microservices pros and cons
• Independent, easy and frequent
deployment. Customers are
happy
• Scalability
• Independence in case of failure
• Independent and parallel
development
• *High testability
• *Independent technology
stacks
• Increased effort for operations,
deployment and monitoring.
• Increased configuration
management
• More complex development
• Unsafe distributed
communication.
• Transaction
• Performance
21. Message bus
• Events are grouped into logical collections of events called Topics
• Topics are partitioned for parallel processing
• Kafka
• Unlike a queue, events are persisted, even after they are delivered they
remain on the partition, available to other consumers.
• Messages are not deleted from Topics when read, and topics can have
multiple different consumers, this allows processing of the same messages by
different consumers for different purposes.
• Older messages are automatically deleted based on the Stream’s time-to-live
setting
22. Orchestration Versus Choreography
• Orchestration
• Ми керуємо з одного центру (як
диригент), жостка синхронізація
• Choreography
• Кожна частина має більше самостійності
(як танцюристи), синхронізуються між
собою самі в разі потреби
23. Orchestration Versus Choreography
• Приклад. Додаємо нового користувача
• Створюється новий запис в БД
• Нараховуються бонуси за референство (loyalty )
• Висилаємо лист на електронну пошту
• Висилаємо інформаційний пакет
24. Pattern: Saga
• Each service has its own database.
• Some business transactions, however, span multiple service
• http://microservices.io/patterns/data/saga.html
• Example: You must ensure that a new order will not exceed the
customer’s credit limit
26. Example: Orchestration-based saga
1.The Order Service creates an Order in
a pending state and creates a CreateOrderSaga
2.The CreateOrderSaga sends
a ReserveCredit command to the Customer
Service
3.The Customer Service attempts to reserve
credit for that Order and sends back a reply
4.The CreateOrderSaga receives the reply and
sends either
an ApproveOrder or RejectOrder command to
the Order Service
5.The Order Service changes the state of the
order to either approved or cancelled
27. Pattern: Event sourcing
• The event store also behaves like a message broker
• Event sourcing persists the state of a business entity such an Order or
a Customer as a sequence of state-changing events.
• Whenever the state of a business entity changes, a new event is
appended to the list of events.
• Applications persist events in an event store, which is a database of
events.
• The store has an API for adding and retrieving an entity’s events.
28.
29. Pattern: Command Query Responsibility
Segregation (CQRS)
Split the application into two parts:
• command-side
• the query-side
Editor's Notes
x-axis horizontal duplication
z-axis data partitioning (identical copy of code)
y-axis functional decomposing of monolithic applications (Each service implements a set of related functionality such as order management, customer management etc.)