Azure Functions — це обчислювальний ресурс в хмарному сервісі Microsoft Azure, який дозволяє розробникам писати, розгортати та управляти функціями без необхідності створювати інфраструктуру з нуля. Це дозволяє розробникам зосередитись на розробці коду, який виконує окремі завдання, а Azure Functions автоматично керує масштабуванням та інфраструктурою, необхідною для їх виконання.
Тип | Безсерверні обчислення і Функція як послуга |
---|---|
Розробник | Microsoft |
Перший випуск | березень 2016 |
Платформа | Багатоплатформна |
Ліцензія | Proprietary for platform, MIT License for client SDKs |
Вебсайт | azure.microsoft.com/en-us/products/functions |
Архітектура
Azure Functions підтримує ряд мов програмування, включаючи C#, JavaScript, Python, Java та інші, що дозволяє розробникам використовувати свої улюблені мови для написання функцій. Функції можуть бути спрямовані на реагування на події в Azure або зовнішні події, такі як надходження повідомлень, взаємодія з HTTP-запитами або зміни даних у базах даних.
Одна з ключових особливостей Azure Functions — це можливість платити лише за фактичний час виконання функцій, а не за весь час їхньої доступності. Це забезпечує оптимальне використання ресурсів і знижує витрати, особливо для функцій, які не працюють постійно або мають невеликі навантаження.
Azure Functions спирається на події, що викликають виконання функцій. Ці події можуть бути пов'язані зі змінами даних в базі даних, завершенням обчислень, надходженням повідомлень або іншими діями, які викликають виконання функції. Коли виникає тригерна подія, Azure Functions автоматично розпочинає виконання функції.
Кожна функція може працювати зі своїм контекстом та даними, що дозволяє їм виконувати ізольовані завдання.
Azure Functions надає різні опції хостингу. Опції хостингу з масштабуванням за подіями варіюються від повністю безсерверного, де оплачується лише час виконання (Consumption Plan), до завжди готових екземплярів для найшвидшого часу відповіді (Premium Plan).
App Service Plan. Цей тип хостингу дозволяє встановлювати передбачувані параметри масштабування функцій та витрат.
Для повного контролю середовища виконання, Azure Functions можуть бути розгорнуті в контейнерах як частина архітектури мікросервісів в Azure Container Apps або навіть самостійно розміщені в Kubernetes.
Приклад використання
Azure Functions можуть бути використані в сценарії створення системи автоматичної обробки зображень. Коли користувач завантажує зображення в певний контейнер у службі Azure Blob Storage, спрацьовує тригер Blob і активує Azure Function, яка автоматично збільшує розмір зображення та зберігає його в іншому контейнері. Після цього спрацьовує HTTP тригер, який повідомляє про успішне завершення обробки.
Durable Functions
Durable Functions є розширенням Azure Functions, яке дозволяє розробникам створювати складні потоки роботи та тривалі задачі в серверних додатках. Звичайні Azure Functions призначені для обробки одиночних подій, але у реальних додатках часто виникає потреба в реалізації багатокрокових процесів, які можуть включати затримки, оркестрацію та взаємодію з іншими функціями.
Durable Functions надає два головних шаблони для роботи з задачами, які вимагають відносно довгого часу виконання:
1. Orchestrator Functions (Функції оркестратори)
Це функції, які оркеструють та керують потоками роботи в Durable Functions. Вони здатні виконувати багатокрокові процеси, зберігаючи стан потоку роботи та керуючи виконанням інших функцій.
2. Activity Functions (Функції активності)
Це звичайні Azure Functions, які виконують окремі завдання в потоці роботи. Вони не знають про стан інших функцій та можуть бути викликані з оркестратора для виконання певних дій.
Durable Functions забезпечує можливість керувати відновленням потоків роботи після непередбачуваних збоїв або виключень, що робить їх ідеальним рішенням для створення надійних та стійких додатків.
Аналогічні продукти
Azure Functions є одним із багатьох інструментів для обчислень у хмарному середовищі. Інші провайдери хмарних послуг пропонують схожі можливості. Ось кілька основних конкурентів Azure Functions:
1. AWS Lambda
AWS Lambda — це сервіс в хмарній платформі Amazon Web Services (AWS), який дозволяє розробникам створювати, виконувати та керувати функціями безпосередньо в хмарі. Подібно до Azure Functions, AWS Lambda пропонує можливість автоматичного масштабування та платиться лише за фактичний час виконання функцій.
2. Google Cloud Functions
Google Cloud Functions — це сервіс в хмарній платформі Google Cloud, який надає можливість створювати та запускати функції відповідно до подій в хмарі. Він підтримує ряд мов програмування, так само як Azure Functions і AWS Lambda, і дозволяє платити лише за час виконання коду.
3. IBM Cloud Functions
— це рішення в хмарній платформі , яке дозволяє розробникам створювати невеликий, але потужний код, який реагує на події. Завдяки моделі виконання на основі запуску, IBM Cloud Functions може ефективно масштабуватись залежно від навантаження.
Джерела
- Microsoft Azure. «Azure Functions documentation.»
- Microsoft Azure. «Azure Functions overview.»
- Microsoft Azure. «Durable Functions documentation.»
- Microsoft Azure. «Durable Functions overview.»
- Amazon Web Services (AWS). «AWS Lambda.»
- Google Cloud. «Cloud Functions.»
- IBM Cloud. «Functions.»
- https://learn.microsoft.com/en-us/azure/azure-functions/dedicated-plan
- https://learn.microsoft.com/en-us/azure/azure-functions/functions-scale
- Microsoft. «Introducing Azure Functions.» Опубліковано у березні 2016.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Nemaye perevirenih versij ciyeyi storinki jmovirno yiyi she ne pereviryali na vidpovidnist pravilam proektu Azure Functions ce obchislyuvalnij resurs v hmarnomu servisi Microsoft Azure yakij dozvolyaye rozrobnikam pisati rozgortati ta upravlyati funkciyami bez neobhidnosti stvoryuvati infrastrukturu z nulya Ce dozvolyaye rozrobnikam zosereditis na rozrobci kodu yakij vikonuye okremi zavdannya a Azure Functions avtomatichno keruye masshtabuvannyam ta infrastrukturoyu neobhidnoyu dlya yih vikonannya Azure FunctionsTipBezserverni obchislennya i Funkciya yak poslugaRozrobnikMicrosoftPershij vipuskberezen 2016 8 rokiv tomu 2016 03 PlatformaBagatoplatformnaLicenziyaProprietary for platform MIT License for client SDKsVebsajtazure microsoft com en us products functionsZmist 1 Arhitektura 2 Priklad vikoristannya 3 Durable Functions 3 1 1 Orchestrator Functions Funkciyi orkestratori 3 2 2 Activity Functions Funkciyi aktivnosti 4 Analogichni produkti 4 1 1 AWS Lambda 4 2 2 Google Cloud Functions 4 3 3 IBM Cloud Functions 5 DzherelaArhitekturared Azure Functions pidtrimuye ryad mov programuvannya vklyuchayuchi C JavaScript Python Java ta inshi sho dozvolyaye rozrobnikam vikoristovuvati svoyi ulyubleni movi dlya napisannya funkcij Funkciyi mozhut buti spryamovani na reaguvannya na podiyi v Azure abo zovnishni podiyi taki yak nadhodzhennya povidomlen vzayemodiya z HTTP zapitami abo zmini danih u bazah danih Odna z klyuchovih osoblivostej Azure Functions ce mozhlivist platiti lishe za faktichnij chas vikonannya funkcij a ne za ves chas yihnoyi dostupnosti Ce zabezpechuye optimalne vikoristannya resursiv i znizhuye vitrati osoblivo dlya funkcij yaki ne pracyuyut postijno abo mayut neveliki navantazhennya Azure Functions spirayetsya na podiyi sho viklikayut vikonannya funkcij Ci podiyi mozhut buti pov yazani zi zminami danih v bazi danih zavershennyam obchislen nadhodzhennyam povidomlen abo inshimi diyami yaki viklikayut vikonannya funkciyi Koli vinikaye trigerna podiya Azure Functions avtomatichno rozpochinaye vikonannya funkciyi Kozhna funkciya mozhe pracyuvati zi svoyim kontekstom ta danimi sho dozvolyaye yim vikonuvati izolovani zavdannya Azure Functions nadaye rizni opciyi hostingu Opciyi hostingu z masshtabuvannyam za podiyami variyuyutsya vid povnistyu bezservernogo de oplachuyetsya lishe chas vikonannya Consumption Plan do zavzhdi gotovih ekzemplyariv dlya najshvidshogo chasu vidpovidi Premium Plan App Service Plan Cej tip hostingu dozvolyaye vstanovlyuvati peredbachuvani parametri masshtabuvannya funkcij ta vitrat Dlya povnogo kontrolyu seredovisha vikonannya Azure Functions mozhut buti rozgornuti v kontejnerah yak chastina arhitekturi mikroservisiv v Azure Container Apps abo navit samostijno rozmisheni v Kubernetes Priklad vikoristannyared Azure Functions mozhut buti vikoristani v scenariyi stvorennya sistemi avtomatichnoyi obrobki zobrazhen Koli koristuvach zavantazhuye zobrazhennya v pevnij kontejner u sluzhbi Azure Blob Storage spracovuye triger Blob i aktivuye Azure Function yaka avtomatichno zbilshuye rozmir zobrazhennya ta zberigaye jogo v inshomu kontejneri Pislya cogo spracovuye HTTP triger yakij povidomlyaye pro uspishne zavershennya obrobki Durable Functionsred Durable Functions ye rozshirennyam Azure Functions yake dozvolyaye rozrobnikam stvoryuvati skladni potoki roboti ta trivali zadachi v servernih dodatkah Zvichajni Azure Functions priznacheni dlya obrobki odinochnih podij ale u realnih dodatkah chasto vinikaye potreba v realizaciyi bagatokrokovih procesiv yaki mozhut vklyuchati zatrimki orkestraciyu ta vzayemodiyu z inshimi funkciyami Durable Functions nadaye dva golovnih shabloni dlya roboti z zadachami yaki vimagayut vidnosno dovgogo chasu vikonannya 1 Orchestrator Functions Funkciyi orkestratori red Ce funkciyi yaki orkestruyut ta keruyut potokami roboti v Durable Functions Voni zdatni vikonuvati bagatokrokovi procesi zberigayuchi stan potoku roboti ta keruyuchi vikonannyam inshih funkcij 2 Activity Functions Funkciyi aktivnosti red Ce zvichajni Azure Functions yaki vikonuyut okremi zavdannya v potoci roboti Voni ne znayut pro stan inshih funkcij ta mozhut buti viklikani z orkestratora dlya vikonannya pevnih dij Durable Functions zabezpechuye mozhlivist keruvati vidnovlennyam potokiv roboti pislya neperedbachuvanih zboyiv abo viklyuchen sho robit yih idealnim rishennyam dlya stvorennya nadijnih ta stijkih dodatkiv Analogichni produktired Azure Functions ye odnim iz bagatoh instrumentiv dlya obchislen u hmarnomu seredovishi Inshi provajderi hmarnih poslug proponuyut shozhi mozhlivosti Os kilka osnovnih konkurentiv Azure Functions 1 AWS Lambdared AWS Lambda ce servis v hmarnij platformi Amazon Web Services AWS yakij dozvolyaye rozrobnikam stvoryuvati vikonuvati ta keruvati funkciyami bezposeredno v hmari Podibno do Azure Functions AWS Lambda proponuye mozhlivist avtomatichnogo masshtabuvannya ta platitsya lishe za faktichnij chas vikonannya funkcij 2 Google Cloud Functionsred Google Cloud Functions ce servis v hmarnij platformi Google Cloud yakij nadaye mozhlivist stvoryuvati ta zapuskati funkciyi vidpovidno do podij v hmari Vin pidtrimuye ryad mov programuvannya tak samo yak Azure Functions i AWS Lambda i dozvolyaye platiti lishe za chas vikonannya kodu 3 IBM Cloud Functionsred IBM Cloud Functions ce rishennya v hmarnij platformi IBM Cloud yake dozvolyaye rozrobnikam stvoryuvati nevelikij ale potuzhnij kod yakij reaguye na podiyi Zavdyaki modeli vikonannya na osnovi zapusku IBM Cloud Functions mozhe efektivno masshtabuvatis zalezhno vid navantazhennya Dzherelared Microsoft Azure Azure Functions documentation Microsoft Azure Azure Functions overview Microsoft Azure Durable Functions documentation Microsoft Azure Durable Functions overview Amazon Web Services AWS AWS Lambda Google Cloud Cloud Functions IBM Cloud Functions https learn microsoft com en us azure azure functions dedicated plan https learn microsoft com en us azure azure functions functions scale Microsoft Introducing Azure Functions Opublikovano u berezni 2016 Otrimano z https uk wikipedia org wiki Azure Functions