Agentic SAP Delivery: From Vision to Real-World Projects – регистрирай се за събитието на Accenture, за да разбереш как!

+
Вход

Въведи своя e-mail и парола за вход, ако вече имаш създаден профил в DEV.BG/Jobs

Забравена парола?
+
Създай своя профил в DEV.BG/Jobs

За да потвърдите, че не сте робот, моля отговорете на въпроса, като попълните празното поле:

74-24 =

+
Забравена парола

Въведи своя e-mail и ще ти изпратим твоята парола

Ирина Марудина: С Actor Model се пишат по-лесно паралелно изпълняващи се програми

“Highly concurrent and scalable applications with the Actor Model” е събитие, което ще се проведе на 29-ти юни и ще разглежда както нуждата от търсене на алтернативи на класическите архитектури, така и Actor Model като стил на програмиране, неговите предимства, недостатъци и конкретни казуси за приложението му в практиката. Ирина Марудина, която е технически ръководител на българския екип към DXC Technology продукта Rail Cargo Management System, ще бъде лектор на събитието и ще хвърли повече светлина върху този модел за разработка.


Ирина има близо 20 години опит с различни видове програмиране и дори в началото на кариерата си е работила по програмиране на машинни контролери. Въпреки разнообразния ѝ опит смята, че информационните системи (т. нар. enterprise системи) категорично ще продължат да бъдат фокус в професионалното ѝ развитие. Тя работи в структурата на компанията много преди 2017 (когато се сформира DXC Technology), а от близо 10 години помага и в обучението на новите програмисти, които влизат в IT екипите.

Какво представлява Actor Model и какви са неговите предимства?


Ирина: Actor Model е стил на програмиране, който все още не се ползва много разпространено, но аз лично се сблъсках за пръв път с него преди няколко години и силно ме заинтригува. Това е един от инструментите, които категорично бих използвала и в бъдещи проекти.

С Actor Model можеш много по-лесно да пишеш паралелно изпълняващи се програми, отколкото да използваш класическите инструменти, включени да кажем в библиотеката на Java. С него получаваш един допълнителен бонус – можеш много по-лесно да скалираш приложение, всъщност това са и двете точки, които основно ще разгледаме на 29 юни – конкурентност и скалируемост. Надявам се, че хората ще намерят ситуации, в които той ще им бъде полезен.

Какво ново ще научат хората на събитието Highly concurrent and scalable applications with the Actor Model?

Ирина: Смятам да представя теория и практика за това как с Actor Model-а можем лесно да извлечем максимума от процесора, както и да ускорим още повече изчисленията с добавяне на клъстер от инстанции на приложението. Ще покажа един от проектите ни в DXC Technology, за който сме използвали Actor Model.

Смятам, че плюсовете за хората ще са в две направления. Първо имаш един нов инструмент в своя инструментариум и в бъдеще, ако срещнеш ситуация, в която разпознаеш нуждата от него, ти ще можеш да го включиш. Ако не познаваш някой инструмент, най-вероятно ще подминеш нуждата от него и просто ще използваш нещо познато, което не е толкова ефективно и подходящо за ситуацията.

Второто е, че когато човек учи нещо различно, алтернатива на инструментите, с които е свикнал, обмисля и осъзнава по-добре това, което има в ръцете си. В случая Actor Model е една алтернатива на класическите нишки за писане на multithread код, което всеки един съвременен програмист вече познава. Затова смятам, че тази лекция ще е полезна на всеки, който е писал multithreading код, за да се запознае с алтернативата.

За какви проекти може да се използва Actor Model-a и какви знания предварително трябва да има един програмист, за да работи с него?

Ирина: Actor Model-ът е преди всичко като ООП (обектно-ориентирано програмиране), той може да се реализира на всякакви платформи и езици. Независимо на какъв език програмираш можеш да го използваш, ако решиш да не мислиш в нишки. Той е едно ниво на абстракция над нишките и затова с него може да се заобикалят някои проблеми, с които иначе трябва да се сблъскаш, например заключвания, race conditions и т.н.

Относно употребата му, на първо място е необходимо да се познава обектно-ориентираното програмиране, освен това ще бъде много полезно за човек, ако има опит в писането на паралелни решения на проблеми. Actor Model-ът те стимулира да мислиш в посока на това кои са частите от алгоритмите, които могат да се изпълнят паралелно. Дава фокус върху това да решиш къде трябва да има задължителна последователност в действията и изчакване, и къде например може да се изпълни на няколкото ядра на компютъра.

Днес те питаме…

Кога си склонен да започнеш преговори за увеличение на заплащането?
Loading ... Loading …
Как използвате Actor Model в DXC Technology?

Ирина: Използваме го за проекти, в които има нужда от паралелна обработка на голямо количество данни. Конкретно аз съм го използвала по отношение на една от любимите ми сфери – железопътния транспорт. В един от последните ми проекти се наложи да правим приложения, които да обработват голямо количество данни, да работят върху голяма граф структура, която съхранява информация за резервации за транспорт и много други данни. Използвахме Cassandra като база данни, върху нея имахме JanusGraph, комуникирахме с Kafka потоци с останалия свят и в сърцевината на всичко това беше тази Akka система, т.е. имплементация на Actor Model, която успяхме в cloud да пуснем на множество инстанции, да измерим производителност и да постигнем едни много добри резултати.

По какъв начин промените в очакванията към софтуерните системи принуждават програмистите да се обърнат към архитектури от типа на реактивните системи?

Ирина: Когато за пръв път се срещнах с термина „реактивна архитектура“ се притеснявах дали не става дума за поредния „buzzword“. Т.е. за термин, който се използва основно заради реклама или поради желанието на разработчиците да изпробват нещо ново в реален проект. При реактивните системи обаче натискът за промяна идва отвън – клиентите са тези, които вече не се задоволяват с характеристиките на класическа система.

Налага се да приложим нови принципи в архитектурата, за да получи клиентът бърза реакция от софтуера, ограничаване на възникнали проблеми и др. Реактивните архитектури предлагат такива принципи, които имат за цел да помогнат в постигането на определени нефункционални характеристики. А Actor Model-ът отлично се вписва в идеологията на изграждане на реактивни системи. Разбира се, на самата сесия ще поговорим подробно за това и ще задълбоча в детайли.

Ирина, ти си Технически ръководител на българския екип към DXC продукта Rail Cargo Management System (RCMS), разкажи ни повече за опита, който си натрупала през годините?

Ирина: Програмирането за мен освен професия е и хоби. Смята се, че е нормално един програмист, като натрупа опит, да премине към мениджър ролите. Не споделям това мнение.Самата аз съм пробвала развитие в посока мениджмънт, но категорично съм решила за себе си, че техническата част е моето нещо. Един от най-големите плюсове в работата ми е това, че съм в голяма компания и имам възможност да участвам в проекти, които често са недостъпни за малки фирми, че можем да си позволим да правим проекти, които са цели продуктови линии. Също така мога едновременно да черпя свежи идеи от млади и мотивирани програмисти, докато се възползвам от съвети на архитекти с много повече опит от мен.

Категорично вярвам във важността на качеството и затова съм доста стриктна и в моя екип. Много често наглеждам кода, но смятам че хората го оценяват, защото сами си правят двойна проверка на работата. ЖП транспортът е любима сфера за мен. Колко често като програмисти, можем да се похвалим, че правим нещо полезно за природата? Всъщност, освен че мога да пиша код и да се забавлявам, аз и екипът ми помагаме за оптимизирането на транспорта и намаляване на вредни емисии. Радвам, че мога да участвам в голям екип и да работим заедно с немски колеги ръка за ръка. Чувствам едно удовлетворение от труда си и от постигнатия резултат. Смятам, че мотивацията е нещо заразно и затова се опитвам да бъда позитивна и да предавам това усещане и на колегите, с които работя.

Искаш да научиш повече? Регистрирай се за събитието “Highly concurrent and scalable applications with the Actor Model” на 29 юни от 19:00 ч.