Pixabay.com
StockSnap

Кои езици за облачни решения са нужни на програмистите? (1 част)

Как да изберете програмен език за облачни приложения и инфраструктури, който да пасва най-добре на вашите днешни и бъдещи нужди?

Владимир Владков

Pixabay.com

© StockSnap


Програмирането на облачни изчислителни ресурси има много различни форми. За разработчиците на сървърна (back-end) инфраструктура това може да означава разработване на облачно приложение или непрекъсната доставка на взаимосвързан набор от микроуслуги. За администраторите това може да означава писане на скрипт, който автоматично да предоставя облачни ресурси. А за уеб разработчиците това може да означава разработка на приложение с Angular или React, което използва ресурси, намиращи се в облака.

За да изберете най-добрия език за "облачно" програмиране за вашите нужди, внимателно разгледайте изброените критерии. След това вижте подробности за някои популярни езици за програмиране и кога те се употребяват най-често.

Организациите трябва да вземат предвид поне 4 фактора, когато избират език за програмиране в облака:

1. Кои са клиентите на облака и предоставяните услуги?

2. Към кой слой от облачния пакет са насочени? 3. Доколко познат е езикът?

4. Доколко познати са рисковете?

1. Клиенти и услуги

Първата стъпка, за да определите кой език за програмиране е подходящ за вас, е да попитате за какъв тип клиенти ще създавате софтуера и до кои видове облачни услуги те ще имат достъп. Например, шлемове за виртуална реалност (VR), които могат да се възползват от възможностите за машинно обучение (ML) например на NVIDIA CloudXR (за рендериране на мощни видеокарти и стрийминг към VR шлема или други облачни услуги), имат различни езикови изисквания от обикновено приложение за iOS, което изтегля изображения от услуги за обектно съхранение.

2. Облачен слой

Друго съображение е дали имате нужда от общ, универсален език за програмиране, който прави различни неща добре, или такъв, който е насочен към конкретна технология. Всъщност е важно къде в цялостния облачен пакет ще работи писаният код.

Node.js и Microsoft .NET например са универсални платформи, които позволяват на разработчиците да разработват облачни микроуслуги и да осъществяват достъп до популярни облачни услуги като AWS, Microsoft Azure или Google Cloud. Но тези платформи не са много подходящи за подобряване на Linux ядрото, което управлява повечето облачни инфраструктури. Все пак промените в Linux ядрото, и конкретно за облака, е доста нишово занимание и с това се занимават големите облачни доставчици. За мнозинството от разработчиците този слой не се засяга. Не можете обаче да използвате нито Node.js, нито .NET, за да ускорите работа на Docker или Kubernetes. Само езици като C и Go са приемливи опции за тези слоеве от облачния пакет.

3. Популярност

ИТ екипите и екипите за разработка не винаги трябва да напускат зоната си на комфорт. Понякога е най-добре те да се възползват от съществуващите си познания за дадена платформа или рамка. Ако вече имате добри умения за Java или .NET например, това е убедителна причина да изберете Java или .NET.

Освен това избягвайте шумно рекламираните езици за програмиране. Например, много разработчици рекламират Python като предпочитан език за науката за данни и за изкуствен интелект (AI), но това не е задължително изискване. Всяка облачно управлявана услуга с изкуствен интелект и машинно обучение като Google Cloud AutoML и AWS Sagemaker Copilot, се предлага с поддръжка за различни езици. "За нещо малко е разумно да не се инвестира в нов стек за разработка, но за сериозни неща за момента Python държи нивото заради лесното писане и многото ML библиотеки.

"Java, Python, JavaScript и .NET са еволюирали, за да поддържат общ, по-широк стандарт, обяснява Майкъл Форестър, AWS инструктор, специализиран в DevOps и ML. - Ако сте започнали с Java, придържайте се към този език. Ако сте започнали с Python, също се придържайте към наученото."

Така че няма нужда да се учи Python от създаден екип от Java разработчици, само за да работят с изкуствен интелект и машинно обучение в облака. Използвайте талантите, които вече имате.

4. Осъзнаване на рисковете

И накрая, една организация трябва да определи своя комфорт с риск. Например Rust е език за програмиране, който разработчиците могат да използват на почти всеки слой от облачния стек. Въпреки това проектът Rust за Linux все още не е интегрирал код в официална компилация на ядрото и поддръжката на комплекта за софтуерна разработка (SDK) от водещите облачни доставчици не е универсална. Все пак от версия 6.1 от края на 2022 г. на Rust може да се разработва ядро, но все още това е експериментално. Ако предприятието иска да избегне риска, по-добър вариант е да избере по-утвърден език.

Изборът на програмен език зависи от нивото, на което искате да използвате облачните приложения, продукта, който искате да разработите (IaaS, PaaS или SaaS), средата за разработка и операционият стак, на който искате да базирате вашите услуги.

Иван Димитров
Иван Димитров

старши директор „Софтуерно инженерство“ в Progress

Иван Димитров, старши директор "Софтуерно инженерство" в Progress, обаче смята, че няма пряка връзка между характеристиките на езиците за програмиране и концепциите за облачни решения. "Изборът на програмен език зависи от нивото, на което искате да използвате облачните приложения, продукта, който искате да разработите (IaaS, PaaS или SaaS), средата за разработка и операциония стаж, на който искате да базирате вашите услуги. Обяснява Димитров. - Изучаването на език за програмиране с общо предназначение е само първата стъпка в изграждането на облачни приложения и трябва да се вземе предвид и познаването на платформите и инструментите, които облачните доставчици като като Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP) и други предлагат."

Правилният език не се използва просто за "написването" на едно приложение - той улеснява реализацията на идеите на разработчиците в облачната екосистема. Но за мен езикът е просто инструмент и в основата на всеки успешен проект винаги е екипът от разработчици

Петьо Димитров
Петьо Димитров

старши софтуерен архитект в Мусала Софт

"Подборът на езика за програмиране има значение при започването на едно облачно приложение. Python със своята простота и обширна поддръжка на библиотеки; Java, C# и JavaScript заради своята мащабируемост и устойчивост; Go - със своята ефективност и лекота за мащабно разгръщане. Правилният език не се използва просто за "написването" на едно приложение - той улеснява реализацията на идеите на разработчиците в облачната екосистема. Но за мен езикът е просто инструмент и в основата на всеки успешен проект винаги е екипът от разработчици", споделя Петьо Димитров, старши софтуерен архитект в "Мусала Софт".

При избора на език за програмиране за облачни изчисления организациите преценяват 11 опции (вижте във втората част от статията).

Програмирането на облачни изчислителни ресурси има много различни форми. За разработчиците на сървърна (back-end) инфраструктура това може да означава разработване на облачно приложение или непрекъсната доставка на взаимосвързан набор от микроуслуги. За администраторите това може да означава писане на скрипт, който автоматично да предоставя облачни ресурси. А за уеб разработчиците това може да означава разработка на приложение с Angular или React, което използва ресурси, намиращи се в облака.

За да изберете най-добрия език за "облачно" програмиране за вашите нужди, внимателно разгледайте изброените критерии. След това вижте подробности за някои популярни езици за програмиране и кога те се употребяват най-често.

Привличането и задържането на хора остава проблем за стартъпите
Съдържание за Адвокатско дружество "Динова, Русев и съдружници"

Най-новото










Още от Digitalk ›
С използването на сайта вие приемате, че използваме „бисквитки" за подобряване на преживяването, персонализиране на съдържанието и рекламите, и анализиране на трафика. Вижте нашата политика за бисквитките и декларацията за поверителност. ОК