Защо монолитът все още има място в devops средите въпреки остарялата технология. Кога и дали е необходимо да усложняваме архитектурата с допълнителна фрагментация. Плюсове и минуси при използване на оркестрация с microservices и алтернативния монолит.
CRM Instruction Manual - for Automotive DealersNaveen SharmaThis document provides instructions for using an AUTOSherpa CRM application. It describes the purpose of the CRM to manage customer lists, drive upsells, and retain customers. It outlines a recommended workflow for customer support teams that involves following up on appointments, calls, and scheduling services. It also provides steps for installing the mobile app, accessing the web module, searching for customers, and viewing performance reports.
Монолит или microservicesZhivko AngelovЗащо монолитът все още има място в devops средите въпреки остарялата технология. Кога и дали е необходимо да усложняваме архитектурата с допълнителна фрагментация. Плюсове и минуси при използване на оркестрация с microservices и алтернативния монолит.
[Dev.bg] CI from scratch with JenkinsBorislav TraykovHow to implement Continuous Integration processes using Jenkins .. and staying sane while doing so!
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...DAVID AcademyЗанятие №1 на курса по информационни технологии (2013) провеждан от ДАВИД академия в ПМГ "Никола Обрешков" - Казанлък. Включва темите:
- Desktop приложения
- Windows Forms
- Windows Presentation Foundation
Dependency injection Pattern LectureLachezar LechevThis is a Dependency Injection Pattern explained in Basics! Here we cover the Constructor and Setter Injection with PicoContainer and Spring Framework
Курс по уеб програмиране (2015), занятие №1 - HTMLDAVID AcademyKурс по уеб програмиране (2015)
Занятие №1: HTML
--
Въведение в HTML
Елементи и тагове
Мета съдържание
Структуриране на текст
Хипервръзки
Изображения
Таблици
Списъци
Форматиране на таблици
Форми
Въведение в HTML 5
Структуриране на страница
Форми и валидиране
Аудио и видео
Стартиране на софтуерен бизнес - пътят от програмата до продуктаNeven Boyanov Лекцията беше изнесена на 21.11.2012 г. в зала “Джон Атанасов” (№102) учебен корпус 3 на ВТУ “св. св. Кирил и Методий” – на факултет “Математика и информатика”, катедра “Алгебра и геометрия”
Представения тук текст е извадка от презентацията подготвена за лекцията и не представлява пълното ѝ съдържание.
----
Лекцията разглежда основни аспекти в процеса на стартиране на собствен софтуерен бизнес, създаване на софтуерен продукт и предизвикателствата пред които е изправен предприемача – как идеята става компютърна програма и какво превръща една компютърна програма в продукт. Засегнати са темите за свободен софтуер и софтуера с отворен код. Лекторът споделя над 20-годишния си опит в областта на софтуерния бизнес от България и САЩ.
Лекцията е подходяща за студенти изучаващи компютърни науки, информационни технологии и мултимедиен, маркетинг и продажби, и всеки който има интереси към софтуерния бизнес.
Cloud computing course overviewMiroslav LessevThe course introduces students to current trends in information technology (IT). Cloud computing is a new paradigm on the needs of IT, providing integrated plan for a homogeneous environment offered by the cloud services - Software as a Service (SaaS), Platform as a service (PaaS) and Infrastructure as a service (IaaS).
http://elearn.uni-sofia.bg/course/info.php?id=928
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows FormsDAVID AcademyЗанятие №4 на курса по програмиране за напреднали (2012) провеждан от ДАВИД академия в гр.Казанлък. Включва темите:
- Desktop приложения
- Windows Forms
Практики в програмирането на iOS приложение - дисекция на реален мой проект)Михаил ВеликовВ лекцията разказах за проблемите, които реших разработвайки последното си приложение.
Платформа Блоктину за визуално по C/C++ за микроконтролериNeven BoyanovПлатформа Блоктину за визуално обучение по програмиране на C/C++ и разработка на приложен софтуер за микроконтролери.
Платформата Блоктину решава проблем в конкретна област, а по-точно създаване на приложни програми за микроконтролери ATtiny85 [2] и по-специално за платформата Tinusaur. Това обуславя и конкретните цели и изисквания, представени в доклада.
[Dev.bg] CI from scratch with JenkinsBorislav TraykovHow to implement Continuous Integration processes using Jenkins .. and staying sane while doing so!
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...DAVID AcademyЗанятие №1 на курса по информационни технологии (2013) провеждан от ДАВИД академия в ПМГ "Никола Обрешков" - Казанлък. Включва темите:
- Desktop приложения
- Windows Forms
- Windows Presentation Foundation
Dependency injection Pattern LectureLachezar LechevThis is a Dependency Injection Pattern explained in Basics! Here we cover the Constructor and Setter Injection with PicoContainer and Spring Framework
Курс по уеб програмиране (2015), занятие №1 - HTMLDAVID AcademyKурс по уеб програмиране (2015)
Занятие №1: HTML
--
Въведение в HTML
Елементи и тагове
Мета съдържание
Структуриране на текст
Хипервръзки
Изображения
Таблици
Списъци
Форматиране на таблици
Форми
Въведение в HTML 5
Структуриране на страница
Форми и валидиране
Аудио и видео
Стартиране на софтуерен бизнес - пътят от програмата до продуктаNeven Boyanov Лекцията беше изнесена на 21.11.2012 г. в зала “Джон Атанасов” (№102) учебен корпус 3 на ВТУ “св. св. Кирил и Методий” – на факултет “Математика и информатика”, катедра “Алгебра и геометрия”
Представения тук текст е извадка от презентацията подготвена за лекцията и не представлява пълното ѝ съдържание.
----
Лекцията разглежда основни аспекти в процеса на стартиране на собствен софтуерен бизнес, създаване на софтуерен продукт и предизвикателствата пред които е изправен предприемача – как идеята става компютърна програма и какво превръща една компютърна програма в продукт. Засегнати са темите за свободен софтуер и софтуера с отворен код. Лекторът споделя над 20-годишния си опит в областта на софтуерния бизнес от България и САЩ.
Лекцията е подходяща за студенти изучаващи компютърни науки, информационни технологии и мултимедиен, маркетинг и продажби, и всеки който има интереси към софтуерния бизнес.
Cloud computing course overviewMiroslav LessevThe course introduces students to current trends in information technology (IT). Cloud computing is a new paradigm on the needs of IT, providing integrated plan for a homogeneous environment offered by the cloud services - Software as a Service (SaaS), Platform as a service (PaaS) and Infrastructure as a service (IaaS).
http://elearn.uni-sofia.bg/course/info.php?id=928
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows FormsDAVID AcademyЗанятие №4 на курса по програмиране за напреднали (2012) провеждан от ДАВИД академия в гр.Казанлък. Включва темите:
- Desktop приложения
- Windows Forms
Практики в програмирането на iOS приложение - дисекция на реален мой проект)Михаил ВеликовВ лекцията разказах за проблемите, които реших разработвайки последното си приложение.
Платформа Блоктину за визуално по C/C++ за микроконтролериNeven BoyanovПлатформа Блоктину за визуално обучение по програмиране на C/C++ и разработка на приложен софтуер за микроконтролери.
Платформата Блоктину решава проблем в конкретна област, а по-точно създаване на приложни програми за микроконтролери ATtiny85 [2] и по-специално за платформата Tinusaur. Това обуславя и конкретните цели и изисквания, представени в доклада.
6. Монолитна архитектура
● Архитектура, при която всички компоненти се намират на
една физическа среда (сървър)
● Апликацията е самостоятелна и независима
● Апликацията отговаря не само за дадена задача, а за цялата
функционалност на приложението
● Липсва модулност
● LAMP & LEMP stack
8. Архитектура с microservices
● Апликацията е разделена на отделни компоненти
● Компонентите са независими
● Компонентите изпълняват една задача
● Модулна структура
● Комуникират посредством мрежа, в общия случай
17. Исторически преход
● Physical server -> VM -> container-based solutions/microservices -> serverless and
function as service model.
Физ. сървър VMs Containers Функции
18. Three billy goats Gruff
● Michael Hausenblas, RedHat
monolith container function
21. Някои твърдения
● Microservice работи изолирано и индивидуално
● Microservice върши една единствена задача
● Microservice комуникира с други microservices
● Комуникацията е проблем
● Сложни думи свързани с microservices - discovery,
coordination, security, replication, data consistency, failover,
deployment.
● Фактор мрежа
● Дистрибутирани системи:
○ мястото, където се случва информацията да се загуби, разбърка, та дори
и фалшифицира.
○ мястото, където трудно някой може да каже къде точно е проблема.
22. Някои твърдения
● Монолита е прост
● В монолитна среда по-лесно се установява проблема
● Комуникацията по мрежата е нулева
● Добра производителност в монолита
● Монолита ни предлага сигурност
● Монолита е лесен за разбиране
● Монолита е old fashioned, vintage
“Too old to be considered modern, but not old enough to be considered antique”
24. Монолит +++
● Опростена архитектура
● Евтина комуникация м/у компонентите
● Лесен тест на цялата функционалност
● Лесна за deploy
● Лесно скалира хоризонтално
25. Монолит ---
● Приложението е трудно за разбиране
● Приложението е голямо, бави стартирането
● Подновяване на цялото приложение при малка промяна
● Споделени ресурси
● Малък бъг може да съсипе цялото приложение.
(мултиплициране)
● Използва един език за програмиране
26. Microservices +++
● Изолация на компонентите
● Независим deploy на отделните компоненти
● Всеки екип си работи на собствен microservice
● Свобода в избора на технологии
● Continuous deployment
● Всеки компонент може да скалира самостоятелно
27. Microservices ---
● Добавя допълнителна сложност на проекта
● Трудно тестване на цялото приложение
● Допълнителна конфигурация и авторизация за всеки
microservice
● Сложен deploy
● Фактор мрежа
29. service discovery
● Работи по мрежата
● Допълнително усложняване на архитектурата
● Single point of failure - service provider
● Проблеми с дерегистрирането
● Допълнителна конфигурация и оторизация
● Монолит load balancer
31. Distributed storage
● Работи по мрежата
● Сигурността е в опасност
● Загуба/подмяна на данни
● Нужда от дебела жица, голям трафик
● Производителността спада
● Добри технически познания за имплементиране и
поддръжка
35. Практически съвети
● Не използвайте microservices когато сте наясно, че мащаба на проекта не е
голям. Монолита върши работа.
● Започнете проекта си върху монолитна инфраструктура като обърнете
специално внимание на модулността на софтуера и как отделните модули ще
комуникират помежду си и какъв код ще споделят.
● Хибридна архитектура с монолит и microservices. Модулна апликация с
възможност кода да се преизползва и лесно да бъде скалиран към microservice
или друг monolith. Добавяне на load balancer
● Трудно връщане назад към monolith
● Монолитната архитектура може да се състои от няколко сървъра
● Тясното специализиране не е нещо хубаво
“successful microservice projects almost always start out as a monolith that got too big and
was broken up.”
Martin Fowler
39. Реален пример
● Presentation layer – HTML‑based web UI / HTTP requests
● Business logic layer – Основната функционалност. Свързва
Presentation layer с Data-access layer.
● Data‑access layer
41. Коя архитектура е подходяща за нас ?
● Имате ли необходимите знания за реализиране на microservices - network
latency & reliability, storage over the network, etc. Монолита е по-безопасен при
липса на тези умения.
● Имате ли подготвен екип и достатъчно хора, които да се грижат.
● При стартъпи монолита е по-подходящ, защото:
○ Имате ограничен брой технически служители
○ Искате бързо да деплойнете и стартирате апликацията си. Пазара не чака.
○ Няма време за мислене на комплексни архитектури
○ Липса на голяма натовареност, поне в началото