Это различные модели облачных услуг от провайдеров
Предоставляют ИТ-ресурсы через интернет
Для чего нужны?
— нет расходов на оборудование, центры обработки данных, их обслуживание
— оплата только за используемые ресурсы
— быстрое добавление/уменьшение ресурсов под нагрузку
— универсальные платформы и инструменты для разработки и управления приложениями
Кратко
SaaS
Применение
Пример
для ведения учета продаж можно:
PaaS
Применение
Пример
чтобы разработать приложение для управления задачами, можно
IaaS
Применение
Пример
для развертывания интернет-магазина можно:
CaaS
Применение
Пример
для развертывания микросервисов можно:
FaaS
Применение
Пример
для обработки изображений можно:
1. В чем разница между IaaS, PaaS, SaaS, FaaS и CaaS
2. X-as-a-services: как не погрязнуть в аббревиатурах облачных услуг
3. Что такое IaaS, PaaS и SaaS: объясняем простыми словами
4. Разница между IaaS, PaaS и SaaS: самая понятная статья об облаках в интернете
5. В чем разница между PaaS, SaaS и IaaS?
6. SaaS, PaaS, IaaS: в чем разница
7. Введение в модели облачных сервисов - PaaS, SaaS, IaaS, FaaS и другие
#инфраструктура
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27👍14❤6😁2👎1
Модель зрелости REST API Леонарда Ричардсона — концепция, которая оценивает уровень соответствия API принципам REST
Применяется:
URL (Uniform Resource Locator): указывает, где находится ресурс, и как к нему обратиться (например, протокол + адрес)
URN (Uniform Resource Name): уникальное имя ресурса, независимое от его местоположения.
URI (Uniform Resource Identifier): общий термин, включающий как URL, так и URN, т.е. идентификатор ресурса в сети
Уровни зрелости модели
Иногда называется "болото оспы" (The Swamp of POX (Plain Old XML)
API — точка входа, которая принимает параметры и возвращает результат (единственный endpoint).
Действует как обёртка для удалённых процедур, не использует RESTful принципы
Запросы обрабатываются как действия, а не как операции с ресурсами
POST /createUser для получения спискапользователей, POST /getUsers для создания.GET, POST, PUT, DELETE200 OK, 404 Not Found). Это делает интерфейс более понятнымGET /users/123 → возвращает пользователяDELETE /users/123 → удаляет пользователяСамый высокий уровень зрелости REST API
HATEOAS (Hypermedia as the Engine of Application State) — характеристика веб-сервиса возвращать действия, которые могут быть выполнены с ресурсом, в виде URL
Дает возможность менять URI независимо от клиентов
Есть API для управления задачами в приложении
Сервер может вернуть ответ на запрос списка задач, в том числе гиперссылки
Клиент может следовать ссылкам, но не знать заранее URL-структуры API
{
"tasks": [
{
"id": 1,
"noscript": "Buy groceries",
"status": "pending",
"_links": {
"self": "/tasks/1",
"update": "/tasks/1/update",
"delete": "/tasks/1/delete"
}
},1. А ваша служба является RESTful? Все что необходимо/обязательно знать про веб службы и REST
2. Richardson Maturity Model – RESTful API (en)
3. REST API — Что такое HATEOAS?
4. REST, что же ты такое?
#api
Please open Telegram to view this post
VIEW IN TELEGRAM
❤26🔥15👍13
Forwarded from Задачи для Системных Аналитиков
Системный_анализ_IT's_Tinkoff_Solution_Cup.pdf
625 KB
Please open Telegram to view this post
VIEW IN TELEGRAM
❤38🔥22⚡12😱9
Фреймворк — готовая программная структура (каркас) для разработки ПО, которая
У каждого фреймворка свой набор инструментов и свой функционал
Зачем нужен
Виды фреймворков
примеры: React (JavaScript), Angular (JavaScript), Vue.js (JavaScript)
примеры: Django (Python), Spring Boot (java), Express.js (JavaScript)
примеры: Flutter (Dart), Xamarin (C#), React Native (JavaScript)
Фреймворк vs библиотека
При использовании библиотеки контроль - у разработчика
Пример фреймворка Django
Django — фреймворк для разработки веб-приложений на Python
Состоит из:
Используется встроенный ORM для работы с записями, подключаются шаблоны для отображения страниц и настраивается маршрутизация для обработки URL
Минусы фреймворков
Как аналитик может использовать фреймворки
поможет учитывать их ограничения в согласовании требования с разработчиками
С помощью фронтенд-фреймворков (React или Angular) можно создать прототип пользовательского интерфейса
Заказчик сможет протестировать функционал на раннем этапе
В ТЗ можно указать, что бизнес-логика реализуется с использованием Django
Предложить выбор подходящего фреймворка
1. Фреймворк
2. Что такое фреймворк: виды, задачи, правила выбора
3. Фреймворк: особенности, преимущества, архитектура
4. Что такое фреймворк и чем отличается от библиотеки, простое объяснение
5. Для чего нужен фреймворк и как его выбрать
6. Фреймворк: как выбрать подходящий для фронтэнда и бэкэнда
7. Фреймворки в веб-разработке — что это, какие существуют и для чего нужны
8. Как выбрать фреймворк для бэкенда: мнения разработчиков
9. Фреймворки — больше минусов чем плюсов
10. 5 полезных фреймворков и библиотек для начинающего фронтенд-разработчика на конец 2024 года
#инфраструктура
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤8🔥4⚡3
1. Мок-интервью Бизнес Системного Аналитика на уровень Senior
2. Тестовое собеседование на позицию сеньора аналитика. Решение задач
3. Топ-10 вопросов по Системному анализу / Собеседование с разбором ответов и материалами
4. Техническое собеседование системного аналитика
5. Тестовое собеседование на позицию Middle аналитика
6. Моковое собеседование на Middle системного аналитика | Solvery & На собесе как на танцполе
7. Тестовое собеседование на младшего системного аналитика
P.S. по ссылкам выше видео с ютуба
Бонус:
1. Топ-100 вопросов на собеседовании по системному анализу
2. 120 вопросов
#собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥40👍12❤5👏2
System Design (системный дизайн) — процесс проектирования архитектуры системы
Уровни системного дизайна
Основные принципы
Проектировать системы так, чтобы могли выдерживать рост нагрузки
Минимизировать влияние отказов компонентов на всю систему
Оптимизация времени отклика и обработки данных
Деление системы на независимые части для упрощения разработки и поддержки
Распределение входящего трафика между несколькими серверами
Защита данных и ресурсов системы
Система должна предоставлять метрики для отслеживания проблем
Системный дизайн VS архитектура
Краткий пример системного дизайна
Задача: создать масштабируемую систему для загрузки и хранения изображений
Сбор требований:
Решение
1. Что такое System design?
2. Что такое System Design. Пример System Design для онлайн-магазина, для мобильного приложения
3. System Design для начинающих: всё, что вам нужно
4. System design. Реальный проект vs Интервью
5. System Design. Общие принцип прохождения интервью по проектированию ИТ-систем
📚 Книги
1. System Design. Подготовка к сложному интервью
2. Разработка высоконагруженных систем — очень полезная брошюра по материалам конференции HighLoad++
#архитектура #проектирование #развитие
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29👍14❤6😁1🤔1
Forwarded from Библиотека Системного Аналитика
Микросервисы_От_архитектуры_до_релиза_Митра_Р_Надареишвили_И.pdf
6.2 MB
Микросервисы. От архитектуры до релиза
✍️ Автор: Ронни Митра, Иракли Надареишвили
🗓 Год издания: 2023
🔤 Язык: русский
📚 Объём: 336 стр.
Книга - практическое руководство по разработке микросервисной архитектуры. Авторы на основе своего опыта и кейсов из индустрии, предлагают системный подход к проектированию, организации команд, созданию инфраструктуры и развертыванию микросервисов.
Основное внимание уделяется практическому проектированию и разработке, затрагиваются ключевые принципы и модели микросервисных систем.
Предназначена для архитекторов и инженеров, работающих с микросервисами, но также будет полезна тем, кто хочет глубже разобраться в их реализации.
Обзор книги на Хабр
Микросервисная архитектура: основные понятия
#микросервисы #архитектура
✍️ Автор: Ронни Митра, Иракли Надареишвили
🗓 Год издания: 2023
🔤 Язык: русский
📚 Объём: 336 стр.
Книга - практическое руководство по разработке микросервисной архитектуры. Авторы на основе своего опыта и кейсов из индустрии, предлагают системный подход к проектированию, организации команд, созданию инфраструктуры и развертыванию микросервисов.
Основное внимание уделяется практическому проектированию и разработке, затрагиваются ключевые принципы и модели микросервисных систем.
Предназначена для архитекторов и инженеров, работающих с микросервисами, но также будет полезна тем, кто хочет глубже разобраться в их реализации.
Обзор книги на Хабр
Микросервисная архитектура: основные понятия
#микросервисы #архитектура
👍27❤11🔥2🤔1
Карта навыков BA/SA
Очередная карта навыков, найденная здесь.
Ранее мы делали собственную очень объёмную карту навыков системного аналитика.
Ну а разложить теорию в голове по полочкам и намаппить на карту навыков поможет база знаний.
Картинка без сжатия в комментариях
Очередная карта навыков, найденная здесь.
Ранее мы делали собственную очень объёмную карту навыков системного аналитика.
Ну а разложить теорию в голове по полочкам и намаппить на карту навыков поможет база знаний.
Картинка без сжатия в комментариях
❤54🔥25👍19⚡3😁1
Ранее писали про балансировку нагрузки
Напомним, балансировка — механизм распределения входящих запросов между серверами
Уровни балансировки в модели OSI
Типы балансировщиков
Аппаратные (Hardware Load Balancer, HLB)
- физические устройства с сетевыми процессорами (ASIC), которые обрабатывают пакеты быстрее, чем программные решения
- часто используются в крупных дата-центрах
Как работают
Программные (Software Load Balancer, SLB)
- ПО на сервере, которое выполняет функции балансировки
- гибкое, дешевле аппаратных решений, но требует мощностей сервера
Как работают
Виртуальные (Virtual Load Balancer, VLB)
- программные балансировщики, работают в виртуальных средах или в облаке
- поддерживают авто-масштабирование (динамическое изменение кол-ва серверов)
Как работают
* инстанс (instance) – виртуальная / физическая машина, которая обрабатывает запросы
Методы балансировки
DNS-сервер возвращает разные IP-адреса на один DNS-запрос
— не учитывает загрузку серверов и может кэшироваться клиентами (возможны задержки в обновлении маршрутов)
— например, api.example.com может вести на разные серверы
запросы поступают на прокси → он анализирует содержимое и перенаправляет на нужные серверы
изменяет MAC-адреса пакетов, направляет их напрямую на backend-серверы
изменяет IP-адреса и порты пакетов, направляет трафик на разные серверы онлайн
Примеры методов для разных типов нагрузки
Пользователь запрашивает изображение с сайта
REST API с /auth и /data:
/auth — на серверы аутентификации
/data — на серверы обработки данных
L7-балансировщик (F5 BIG-IP) с алгоритмом Sticky Sessions определяет пользователя по cookie и направляет его запросы на один сервер. Данные сессии (корзина, авторизация) не потеряются
Кластер PostgreSQL с мастером и 3 репликами
1. Балансировка нагрузки: основные алгоритмы и методы
2. Load Balancer и Reverse Proxy в микросервисной архитектуре
3. Load Balancers для систем оркестрации
4. Балансировка нагрузки в Облаках
5. Сетевой балансировщик нагрузки
6. DNS Балансировка нагрузки: что это такое
7. Как работает L3 балансировщик нагрузки
8. Балансировка нагрузки на L3, L4 и L7
9. Что такое Envoy, зачем он нужен и как работает
#проектирование #инфраструктура
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥6🤔3❤2😁2
Forwarded from Библиотека Системного Аналитика
Please open Telegram to view this post
VIEW IN TELEGRAM
Прокси-сервер – промежуточный сервер между клиентом (пользователем / приложением) и сервером
Отличие от балансировщика и VPN
Для чего нужен?
Анонимность и скрытие IP-адреса
Кеширование
(!) Кэш может быть не только в прокси. Важно учитывать последствия кэширования на разных уровнях
Контроль и фильтрация трафика
Балансировка нагрузки и защита серверов
схоже с балансировщиком, но цель другая - доп безопасность, а не отказоустойчивость
Пример работы
Прямой и обратный прокси
Прямой
Клиент
Обратный (реверсивный)
Клиент
Примеры интеграции
Интеграция с CDN
Интеграция с WAF (Web Application Firewall)
В микросервисной архитектуре
пример: сервис-меш с прокси для маршрутизации API-запросов между микросервисами
Пример архитектуры с прокси
[ Клиенты ] → [ Reverse Proxy ] → [ Балансировщик ] → [ Серверы приложений ] → [ БД ]1. Прокси
2. Что такое прокси-сервер и как его настроить
3. Прокси-сервер: что это такое и нужен ли он вам?
4. Что такое прокси? Для самых маленьких
5. Что такое прямой прокси и обратный прокси
6. Разница между обратным и прямым прокси
7. Разница между прямым прокси, обратным прокси и балансировщиком нагрузки
8. Типы Прокси HTTP, HTTPS, Socks
9. VPN или прокси-сервер: что лучше и в чем разница?
📚Книги
Безопасность веб-приложений. Разведка, защита, нападение. — Хоффман Эндрю
#проектирование #инфраструктура
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Системный Аналитик
Кэширование — разбор по полочкам
🔹Кэширование – способ способов оптимизации приложений, при котором результаты выполнения операций сохраняются на некоторое время
🔹Кэширование позволяет ускорить время отклика системы и повысить устойчивость к увеличению…
🔹Кэширование – способ способов оптимизации приложений, при котором результаты выполнения операций сохраняются на некоторое время
🔹Кэширование позволяет ускорить время отклика системы и повысить устойчивость к увеличению…
👍27❤9🔥8👏1
Термины
Рассмотрим обобщенно: как происходит платеж с момента поднесения карты к терминалу эквайринга до списания средств со счета
Карту подносят к терминалу. Начинается процесс авторизации платежа
Терминал может быть:
Платежная система (например, «Мир») определяет стандарты передачи данных (например, MIR Accept) и их безопасность
Карта успешно считана, терминал передает платежные данные (номер карты, срок действия, CVV, сумму транзакции) в ПЦ эквайера через защищенное соединение
ПЦ эквайера принимает платежный запрос, проверяет его корректность и передает в платежную систему (например, «Мир»)
Платежная система маршрутизирует платеж:
Банк-эмитент проверяет:
Если все ок, банк-эмитент выдает авторизацию и передает ответ (одобрение/отказ в проведении транзакции) платежной системе
Платежная система передает его в ПЦ эквайера - > эквайрер передает результат на терминал
После авторизации банк-эмитент резервирует сумму на счете покупателя
ПЦ передает подтверждение эквайеру
Эквайер передает его продавцу -> продавец получает платеж, транзакция завершается
Платежная система участвует в клиринге* и окончательных расчетах между банком-эквайером и банком-эмитентом
* клиринг — процесс взаимных расчетов между банками, выполняется платежной системой
Примеры технологий на каждом этапе
1. Поднесение карты к терминалу эквайринга
2. Передача данных с терминала эквайринга
3. Передача данных в ПЦ и платежную систему
4. Проверка данных и авторизация в банке-эмитенте
5. Завершение транзакции и списание средств
1. Платежные системы простыми словами. Как устроены и зачем нужны Mastercard, Visa, МИР и прочие
2. Интернет-эквайринг «для чайников»
3. Интернет-эквайринг в картинках
4. Как работает интернет-эквайринг
5. Платёжный сервис в банке, часть первая
6. Как мы переезжали на новый платежный сервис
7. Путешествие финансовой транзакции
8. Платёжные системы
#интеграции
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤47🔥35👍14💩1
Шаблонизаторы — инструменты для автоматической генерации текстовых данных на основе шаблонов и входных данных.
Используются в:
Примеры
Шаблон описывает процесс оформления заказа, но меняются условия для разных ролей:
Вместо 3-х сценариев используется шаблон с переменными
{role}, {action}, {notification}. Например, с помощью Jinja2, Mustache
Форматы сообщений генерируются из шаблонов (например, FreeMarker или Jinja2):
payment_template.xmlemail_template.jsonorders_template.csvЕсли банк меняет XML-структуру, достаточно обновить шаблон, а не переделывать всю интеграцию
Примеры шаблонизаторов
Разработка микросервисного API для обработки заказов
Проблемы:
Пример решения:
Используется для генерации текстовых выходных данных (HTML, конфигурационные файлы, исходный код)
Разработка веб-приложения
1. Динамическая генерация страниц (баланс, последние транзакции) с неизменной версткой
Контроллер Spring Boot передаёт в шаблон FreeMarker объект пользователя с балансом и историей операций.
FreeMarker подставляет данные в HTML и формирует готовую страницу
2. Персонализация контента: разные предложения для пользователей
В шаблоне используются условия
<#if> — если клиент VIP, добавляется блок с индивидуальными предложениями. Контент обновляется без изменения логики бэкенда
3. Повторное использование компонентов (хедер, меню, подвал) без копирования вручную
Общие шаблоны (layouts) с подключением через
includeЕсли нужно изменить меню — правится один файл
-- все страницы используют один
header.ftl* с логотипом и навигацией-- в
footer.ftl хранится контактная информация-- основной шаблон (
base.ftl) объединяет их в одну структуру*FreeMarker Template Language (FTL)
1. Что такое и зачем нужны шаблонизаторы HTML
2. Текстовые шаблонизаторы и их реализация
3. Три неочевидных примера использования шаблонизаторов в backend-е
4. Шаблонизаторы HTML: что это и стоит ли их использовать в разработке
5. 15 шаблонизаторов для фронтенд-разработки
6. 6 лучших шаблонизаторов на PHP
7. 5 популярных PHP-шаблонизаторов
8. ТОП-10 шаблонизаторов HTML для web-разработки
#инфраструктура
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍14❤10
Может, познакомимся?
🔹 Канал активно ведётся уже почти 2 года, появилось 17+ тысяч подписчиков, а мы до сих пор не знакомы друг с другом. Надо исправляться.
Есть идея создать на базе нашего канала группу-комьюнити системных аналитиков, чтобы:
1. Обмениваться опытом друг с другом
2. Узнавать, как там работается в других местах
3. Что там по ЗП
4. Ну и просто болтать
Естественно, модерация и все дела.
💡 Есть также идея проводить митапы пару раз в месяц на определённые темы, за которые будут голосовать люди. Но нужны энтузиасты, которые готовы выступать НА ПУБЛИКУ 😱
💬 Пишите в комментариях всё, что думаете по этому поводу.
Ну а ниже предлагаем ответить на несколько вопросов и чуть-чуть узнать друг о друге.
Есть идея создать на базе нашего канала группу-комьюнити системных аналитиков, чтобы:
1. Обмениваться опытом друг с другом
2. Узнавать, как там работается в других местах
3. Что там по ЗП
4. Ну и просто болтать
Естественно, модерация и все дела.
💬 Пишите в комментариях всё, что думаете по этому поводу.
Ну а ниже предлагаем ответить на несколько вопросов и чуть-чуть узнать друг о друге.
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥51👍22❤11
Ваш грейд (только для СА/БА)
Anonymous Poll
6%
Стажёр
17%
Junior
28%
Middle
18%
Middle+
14%
Senior
7%
Lead
11%
Я не СА и не БА
Ваша локация (откуда вы работаете)
Anonymous Poll
33%
Москва
13%
Санкт-Петербург
24%
Другой город-миллионник России
18%
Другой город России менее 1 млн
4%
Беларусь 🇧🇾
3%
Казахстан 🇰🇿
0%
Армения 🇦🇲
0%
Грузия 🇬🇪
0%
Украина 🇺🇦
4%
Другая страна 🌍