Top Azure PaaS Services That Developers Love and Why

Cloud Microsoft Azure nabízí mnoho služeb pro téměř všechny scénáře, které můžete potřebovat. Tyto služby můžete rozdělit do typů cloud computingu, jako jsou IaaS, PaaS a SaaS, a určit tak míru kontroly a odpovědnosti, kterou máte, oproti času, který můžete věnovat vytváření důležitých věcí.

Dovolte mi, abych tyto typy trochu blíže vysvětlil:

IaaS (Infrastruktura jako služba)

Typické služby IaaS jsou služba kontejnerů a virtuální stroje. Ty vám umožňují mít velkou kontrolu nad jejich provozem, ale také vyžadují, abyste byli zodpovědní za věci, jako je operační systém, antivir a vyrovnávání zátěže. Díky tomu můžete vy a váš tým věnovat méně času práci na přidávání obchodní hodnoty.

PaaS (Platform-as-a-Service)

Příklady služeb PaaS jsou App Services, Azure Search a Azure CDN. Nemusíte se starat o operační systém nebo dokonce o server, můžete pouze spustit svou aplikaci. Jste zodpovědní za určitou konfiguraci serveru, například za škálování, i když u některých služeb, jako jsou funkce Azure Functions, k tomu dochází automaticky.

SaaS (Software-as-a-Service)

Příkladem služeb SaaS jsou například Azure IoT Suite a Office 365.

SaaS (Software-as-a-Service)

Příklady služeb SaaS jsou například Azure IoT Suite a Office 365. SaaS je nejvyšší úroveň abstrakce a umožňuje aplikaci pouze používat, nemusíte ji ani vytvářet. Stačí ji jen nakonfigurovat. Nemusíte se starat o operační systém nebo dokonce o škálování aplikace. To vám umožňuje pracovat na obchodní hodnotě, ale nabízí vám to jen malou kontrolu nad aplikací.

Pro vývojáře softwaru je PaaS skvělým typem cloud computingu. Máte dostatečnou kontrolu, abyste mohli na své aplikaci pouze pracovat a upravovat ji tak, aby byla správná, a nemusíte se starat o všechny provozní záležitosti. Věci prostě běží, aniž byste se museli starat o záplaty operačního systému nebo vyrovnávání zátěže.

Azure má velmi silnou nabídku PaaS, která je pro vývojáře velmi atraktivní. V tomto článku se budeme zabývat nejlepšími službami Azure PaaS pro vývojáře, které mohou vylepšit vaše aplikace.

Top Azure PaaS Services

Jednou ze základních služeb Azure PaaS je Azure App Services. Služby Azure App Services poskytují několik typů služeb, z nichž každá je zaměřena na hostování vaší aplikace nebo obchodní logiky pro konkrétní případ použití. Typy služeb App Service navíc sdílejí společné funkce, jako je automatické škálování, ověřování a autorizace a vlastní domény a SSL.

Projděme si typy služeb App Service:

Webové aplikace

Webové aplikace služby Azure App Service jsou nezbytné, pokud chcete hostovat standardní webové aplikace ASP.NET. Webové aplikace jsou abstrakcí webového serveru, jako je IIS nebo Tomcat, a mohou spouštět aplikace napsané v jazycích .NET, PHP, Python, Node.js, Java a dalších. Jejich nastavení je velmi snadné a hned po instalaci poskytují spoustu výhod, například to, že jsou ve výchozím nastavení dostupné 99,95 % času. Nemusíte se obávat výpadků. Služby App Services jsou nyní k dispozici pro systémy Windows i Linux.

Mobilní aplikace

Azure vám může pomoci také při vytváření mobilních aplikací. V Azure App Services Mobile Apps můžete hostovat backend pro vaši mobilní aplikaci. K tomuto backendu se můžete snadno připojit pomocí sad SDK pro Azure Mobile Apps, které jsou k dispozici pro systémy IOS, Android, Windows, Xamarin.IOS, Xamarin.Android a Xamarin.Forms.

Mobilní backend vám poskytuje některé jedinečné výhody. Jednou z nich je možnost provádět offline synchronizaci. To umožňuje uživateli pokračovat v práci s aplikací, pokud je offline, a synchronizovat data zpět do backendu, když se opět připojí online. Další schopností jsou push oznámení. Ta umožňuje odesílat oznámení o aplikaci do zařízení uživatele. Kromě toho mají mobilní aplikace všechny stejné možnosti jako webové aplikace, například automatické škálování a vysokou dostupnost.

Logické aplikace

Azure App Service Logické aplikace se od webových a mobilních aplikací liší tím, že v nich nehostujete aplikaci, ale orchestrujete s nimi obchodní logiku. Představte si Logic Apps jako způsob, jak automatizovat obchodní proces pouhou konfigurací.

Logická aplikace se spouští spouštěčem. Může to být čas (každých 15 minut) nebo vnější zdroj, například nová zpráva ve frontě. Spouštěč předává do pracovního postupu hodnoty (například obsah zprávy ve frontě), které lze použít v celé aplikaci Logic App. Zbytek toku aplikace Logic App se skládá z volání Konektorů, což jsou rozhraní API ke službám třetích stran, jako je Office365 nebo Twitter nebo vaše vlastní rozhraní API.

Logické aplikace se škálují automaticky a platíte za ně pouze při jejich spuštění. Někdy se tomu říká „bezserverové“, protože to znamená, že se můžete zcela soustředit na svou aplikaci nebo logiku a ne na základní infrastrukturu.

Funkce Azure

Funkční aplikace služeb Azure mohou hostit jednu nebo více funkcí Azure. Funkce Azure Functions používáte k hostování malých aplikací, jako jsou úlohy na pozadí nebo mikroslužba, která běží pouze po krátkou dobu.

Funkce Azure Functions mohou být spouštěny konfigurovatelnými časovači, například podle plánu (každých 15 minut), nebo externí službou, například při přidání nového blobu do úložiště Azure Blob Storage. Po spuštění může kód ve funkci Azure Function použít hodnotu ze spouštěče, například přidaný Blob. Do funkce Azure Function můžete také přidat výstupní vazby pro výstup hodnoty do externí služby, aniž byste museli psát nějaký instalatérský program. Může to být například výstup úložiště Blob, kde stačí vrátit Blob, aniž byste museli psát kód pro připojení k úložišti Azure.

Stejně jako Logic Apps jsou funkce Azure „bezserverové“, protože se automaticky škálují a platíte za ně pouze při jejich spuštění.

Azure WebJobs

Dalším způsobem, jak spouštět úlohy na pozadí, je spouštět je v Azure WebJobs. WebJobs jsou součástí aplikačních služeb a spouštějí se uvnitř aplikační služby, jako je webová aplikace nebo mobilní aplikace. Ve WebJobs můžete psát a hostovat kód, který se spouští spouštěčem, například časovačem (každých 15 minut) nebo externí službou, například novou zprávou ve frontě.

WebJobs fungují podobně jako Azure Functions v tom, že spouštějí malé části kódu, které mohou být spouštěny externími zdroji, které nevyžadují žádné nastavení instalatérského kódu.

Od Azure Functions se liší tím, že je třeba je ručně škálovat. Platíte za službu aplikace, která hostuje vaši webovou úlohu, což je měsíční poplatek bez ohledu na to, zda se webová úloha spustí, nebo ne.

Přečtěte si více: Srovnání Azure Functions vs. Azure WebJobs

Co kdy použít

Takže kterou App Service byste měli kdy použít? Pomoci by vám mohla tato tabulka:

.

.

Webové aplikace Mobilní aplikace Logické aplikace Funkce WebJobs
Host webové aplikace a API X
Hostování backendu pro mobilní aplikace X
Hostování pracovních postupů obchodní logiky X
Hostování úloh na pozadí X X
Skaluje automaticky a platí pouze při spuštění X X X
Řídit škálování a platit měsíční poplatek X X X X

Společné funkce aplikačních služeb

Aplikační služby Azure sdílejí některé úžasné funkce, které je činí velmi atraktivními pro použití. Zde jsou některé z nich:

  • Snadné ověřování a autorizace
  • Plynulé doručování
  • Vlastní domény
  • Hybridní připojení
    • Umožňuje připojení k místním zdrojům, jako jsou webové služby nebo databáze
  • (automatické)škálování a vyrovnávání zátěže
  • Sloty pro nasazení
    • Ty umožňují testovat novou verzi aplikace a nasadit ji do produkce bez prostojů. Dokonce umožňují nasměrovat část produkčního provozu na novou verzi aplikace, abyste zjistili, zda funguje podle očekávání.
    • Další informace o slotech pro nasazení najdete zde

Nasazení služeb

Vytvoření nové webové aplikace nebo aplikace Logic je jednoduché prostřednictvím portálu Azure, ale nasazení byste měli skutečně automatizovat, abyste je mohli opakovat v různých prostředích a provozovat přesně stejnou konfiguraci. Toho můžete dosáhnout vytvořením šablon Azure Resource Manager (ARM), které nasadíte z Visual Studia nebo v kontinuální dodávce pomocí služby, jako je Visual Studio Team Services.

Šablony ARM popisují vaše zdroje, jako jsou webové aplikace, databáze Azure SQL a skupiny zdrojů, v dokumentech JSON. Můžete je vytvořit pomocí šablony projektu Azure Resource Group ve Visual Studiu a inspirovat se kliknutím na tlačítko Automation Script u libovolného prostředku na portálu Azure Portal.

Azure Event Grid

Relativně nová služba Azure Event Grid funguje jako pojivo mezi službami. Azure Event Grid může směrovat události z libovolného zdroje do libovolného cíle.

Téměř každá služba Azure může publikovat události, které může Azure Event Grid přijímat a používat ke spouštění aplikací. Můžete také nechat své vlastní aplikace a služby publikovat události, které Azure Event Grid může použít ke směrování na jiné služby.

Azure Event Grid se škáluje automaticky a vy platíte pouze za počet operací, které používáte.

Azure Event Grid eliminuje potřebu dotazování. Vaše aplikace mohou naslouchat událostem a reagovat na ně z jakékoli služby, která události do Azure Event Grid publikovala.

Můžete například nechat Azure Event Grid naslouchat změnám v poštovním seznamu a spustit aplikaci Azure Logic App, když se něco změní.

Azure Service Bus

Jednou z nejstarších a nejpoužívanějších a nejspolehlivějších služeb v Azure je Azure Service Bus. Skládá se z několika služeb, především z front sběrnice Azure Service Bus a témat sběrnice Azure Service Bus.

Aplikace může vkládat zprávy do fronty sběrnice Azure Service Bus. Každá zpráva je z fronty načtena a zpracována jednou aplikací. Fronty sběrnice Azure Service Bus mají některé pokročilé funkce, které získáte hned po vybalení, jako je detekce duplicit a dílčí fronta s mrtvými písmeny, kam se přesouvají zprávy, které nelze zpracovat.

Témata sběrnice Azure Service Bus jsou trochu jiná. Aplikace mohou vkládat zprávy do tématu sběrnice Azure Service Bus Topic a zprávy může číst a zpracovávat více aplikací. Přijímají zprávy, které mají atributy, o které mají zájem. Přihlásí se k odběru „témat“ ve frontě. Azure Service Bus Topics mají stejné pokročilé možnosti jako Queues.

Obě tyto služby umožňují oddělit aplikaci, která zprávy do fronty vkládá, od aplikace, která zprávy zpracovává. Tento vzor umožňuje aplikaci zpracovávající úlohy zpracovávat vlastním tempem, aniž by na ni uživatel musel čekat. To je užitečné, když zpracování může chvíli trvat a vy nechcete, aby na to uživatel musel čekat, například když zpracováváte požadavek na objednávku, který může trvat 5 minut.

Úložiště Azure

Základním stavebním prvkem každé aplikace je úložiště dat. Úložiště Azure Storage poskytuje několik možností ukládání dat, například souborů nebo datových řádků. Nabízí několik různých služeb, které jsou všechny relativně levné, škálují se téměř neomezeně a napříč geografickými regiony a nabízejí funkce, jako je šifrování a ověřování. To vše získáte ihned po spuštění účtu úložiště Azure. Probereme si různé typy úložiště Azure Storage:

Úložiště Blob

V úložišti Azure Blob Storage ukládáte velké soubory neboli „bloby“. Mohou to být například soubory VHD nebo zvukové či video soubory nebo zálohy databází.

Můžete si vybrat úroveň úložiště Blob, která určuje výkon a náklady. Existuje úroveň Hot pro bloby, ke kterým přistupujete často. Existuje také úroveň Cool, kterou používáte pro bloby, ke kterým nepřistupujete tak často, třeba jednou za měsíc. A pak je tu archivační vrstva pro bloby, které nepoužíváte téměř nikdy. Když si vyžádáte blob z archivační vrstvy, může trvat i několik hodin, než k němu získáte přístup.

Tabulkové úložiště

Pomocí tabulkového úložiště Azure můžete ukládat polorelační data v řádcích a sloupcích. To je ideální pro věci, jako je protokolování dat. Data ukládáte do tabulek, které jsou podobné tabulkám v SQL Serveru, ale jsou méně přísné v tom, že mezi nimi nejsou vztahy. Úložiště Azure Table Storage je rychlé a relativně levné, stejně jako ostatní typy úložiště Azure Storage.

Uložiště front

Drobné zprávy, které lze vyzvednout a zpracovat později, můžete ukládat do front úložiště Azure Storage, stejně jako do front sběrnice Azure Service Bus. Jedná se o trochu zvláštní nabídku, protože se překrývá s frontami Azure Service Bus. Liší se tím, že Service Bus Queues mají detekci duplicit a Storage Queues ne. Zprávy služby Service Bus Queue také zůstávají k dispozici po 7 dnech, zatímco zprávy služby Storage Queue lze ukládat pouze 7 dní.

Úložiště souborů

Úložiště souborů Azure můžete používat jako další pevný disk, který připojíte k počítači nebo virtuálnímu počítači. Tato služba je skvělá pro začátek práce s cloudem tím, že do něj migrujete své soubory. Můžete nechat aplikace, aby ji používaly, stačí je nasměrovat na úložiště Azure File Storage namísto vlastního pevného disku. Díky tomu můžete začít přecházet do cloudu.

Diskové úložiště

Diskové úložiště Azure je prémiová funkce a je vysoce výkonná a užitečná, když potřebujete provádět práci náročnou na vstupy a výstupy, například na primárním pevném disku virtuálního počítače. Funguje jako škálovatelný, vysoce výkonný disk, který můžete připojit k virtuálnímu počítači.

Azure Cosmos DB

Nová verze a název Azure DocumentDB je Azure Cosmos DB. Azure Cosmos DB je nabídka databází, která se dokonale hodí do cloudu. Jako služba PaaS stačí Cosmos DB roztočit a můžete začít pracovat. Pokud jste používali Azure DocumentDB, nyní automaticky používáte Azure Cosmos DB. Váš kód není třeba měnit.

Existuje několik věcí, které činí Cosmos DB výjimečnou:

  • Můžete proti ní programovat pomocí různých „API“, jako je SQL, JavaScript, MongoDB, Gremlin a Table Storage. Už si nemusíte vybírat typ databáze, stačí si vybrat způsob, jakým s ní chcete komunikovat, Cosmos DB se postará o zbytek
  • Už nemusíte vytvářet indexy, Cosmos DB to udělá automaticky za vás
  • Cosmos DB je vysoce výkonná. Ve smlouvě SLA dokonce garantuje nízkou latenci
  • Získáte geografickou škálovatelnost out-of-the-box. Stačí uvést, kde na světě chcete mít svá data, a ta se replikují v reálném čase. Díky tomu máte jistotu, že jsou vaše data blízko uživatelům

V těchto pětiminutových návodech se dozvíte, jak začít pracovat s Azure Cosmos DB.

Cosmos DB je nejvhodnější pro nerelační nebo polorelační data.

Azure Cognitive Services

Přidávání inteligence do vašich aplikací nebylo nikdy tak snadné jako s Azure Cognitive Services. Jedná se o sadu rozhraní API, která poskytují téměř magické schopnosti, poháněné umělou inteligencí a strojovým učením. K dispozici je přibližně 30 kognitivních služeb a další přibývají. Zde je několik příkladů:

  • Emotion API, která analyzuje obličeje na fotografiích a videích a detekuje emoce, jako je štěstí, smutek, znechucení a podobně
  • Language Understanding Intelligent Service (neboli LUIS), která skutečně dokáže porozumět jazykovému kontextu ve více než 12 jazycích. Pomocí ní můžete vytvořit inteligentního bota, který skutečně rozumí tomu, co mu říkáte
  • Rozhraní API pro rozpoznávání mluvčích, které identifikuje mluvčí na základě řeči. Můžete ji použít k ověřování pomocí hlasu nebo k identifikaci osob na základě jejich hlasu
  • Computer Vision API, která dokáže detekovat informace o vizuálním obsahu nalezeném v obrázcích, například že na pozadí je voda a obloha nebo že bunda, kterou má osoba na sobě, je černá

Kognitivní služby se velmi snadno používají, protože je stačí používat z cloudu a nemusíte spravovat žádnou infrastrukturu ani konfiguraci.

K trénování služeb můžete použít vlastní data a vylepšit tak své výsledky. Přitom by rozhraní Face API mohlo například vracet jména a věk vašich spolupracovníků. Kognitivní služby se navíc učí za běhu, podle dat, která jim dodáte. Díky tomu jsou chytřejší a přesnější.

Chcete-li použít kognitivní službu, jednoduše zavoláte koncový bod API, například https://westcentralus.api.cognitive.microsoft.com/face/v1.0/detect s přihlašovacím klíčem, který získáte při registraci, a předáte jí potřebné parametry, například pole bajtů obrázku v případě rozhraní Face API. To vrátí odpověď JSON v tomto tvaru (některé řádky jsou z důvodu úspory místa vynechány):

Výsledek detekce obličeje:

 }, "smile": 0.826, "headPose": { "pitch": 0.0, "roll": -16.9, "yaw": 21.3 }, "gender": "female", "age": 23.8, "facialHair": { "moustache": 0.0, "beard": 0.0, "sideburns": 0.0 }, "glasses": "ReadingGlasses", "makeup": { "eyeMakeup": true, "lipMakeup": true }, "emotion": { "anger": 0.103, "contempt": 0.003, "disgust": 0.038, "fear": 0.003, "happiness": 0.826, "neutral": 0.006, "sadness": 0.001, "surprise": 0.02 }, … }]

Ve výstupu vidíte, že tato konkrétní služba vrací spoustu dat. Dokonce zjistí, kde se na obrázku nacházejí rysy obličeje a zda má osoba na sobě make-up. Myslím, že to je opravdu úžasné.

Azure CDN

Můžete zrychlit své aplikace tím, že přenesete provoz do Azure CDN. Azure CDN (Content Delivery Network) funguje jako koncový bod pro váš statický obsah, jako je video, obrázek, JavaScript a CSS soubory. Díky tomu, že tyto soubory obsluhuje síť Azure CDN, vaše aplikace nemusí a má k dispozici více prostředků pro zpracování většího počtu požadavků. Kromě toho síť Azure CDN replikuje statický obsah do bodů přítomnosti (Points-of-Presence, PoP) po celém světě, čímž umisťuje statický obsah blízko míst, kde jsou vaši uživatelé, a omezuje latenci, což je dobré pro výkon.

Síť Azure CDN můžete používat tak, že vytvoříte koncový bod sítě Azure CDN, spojíte jej se zdrojem, jako je úložiště Azure Storage, a nahrajete soubory do úložiště Azure Storage. Azure CDN automaticky replikuje soubory do PoP po celém světě a vy můžete na soubory odkazovat prostřednictvím adresy URL, například https://custom.azureedge.net/cd/myimag.png. Pro adresu URL můžete také použít vlastní název domény.

Azure Redis Cache

Dalším způsobem, jak zrychlit své aplikace, je ukládání dat do mezipaměti pomocí Azure Redis Cache. Když získáváte data z mezipaměti místo z jiného datového úložiště, například databáze, zrychlíte svou aplikaci.

To proto, že mezipaměť, jako je Azure Redis Cache, uchovává data v paměti a ukládá je v jednoduchém formátu klíč/hodnota. Díky tomu lze data obsluhovat rychleji, protože se nemusí načítat z disku a nemusí se získávat prováděním složitého dotazu.

Azure Redis Cache poskytuje cache jako službu a poskytuje pokročilé funkce, jako je clustering a georeplikace. Je založena na populárním open-source Redis Cache a nyní je podpořena smlouvami SLA společnosti Microsoft a podnikovou podporou. Azure Redis Cache je možnost ukládání do mezipaměti pro aplikace v Azure.

Azure API Management

Společnost Azure API Management můžete použít k vylepšení svých rozhraní API nebo rozhraní API třetích stran, která používáte. Azure API Management funguje jako brána mezi vaším rozhraním API a vnějším světem. To vám umožní vylepšit vaše rozhraní API.

Pomocí služby API Management můžete vytvořit portál, kam mohou uživatelé vašeho rozhraní API přejít, aby mohli spravovat své předplatné (předplatná) a testovat aplikaci. Příkladem takového portálu pro vývojáře je webová stránka jedné z kognitivních služeb, která také využívá správu API:

Můžete řídit používání rozhraní API nastavením limitů pro uživatele nebo typ předplatného. To je dobrý způsob, jak zpeněžit rozhraní API, například tím, že nabídnete bezplatnou úroveň použití do 10 požadavků denně, a pokud potřebujete více, začnete platit. Pokud se uživatelé pokusí použít více, bez správného předplatného budou jejich požadavky přiškrceny.

Dále můžete API vylepšit tím, že je učiníte výkonnějšími. Odpovědi API můžete ukládat do mezipaměti, abyste je nemuseli získávat výpočty nebo skládáním dat ze zdroje dat.

A rozhraní API můžete chránit pomocí klíčů, hesel, certifikátů a filtrování IP. Kromě toho můžete transformovat vstupy a výstupy do a z rozhraní API. Můžete například transformovat příchozí XML na JSON nebo totéž provést s odpověďmi.

Azure API Management je opravdu výkonný a zvyšuje kontrolu, kterou máte nad svými rozhraními API (a rozhraními API třetích stran, která vystavujete prostřednictvím API Managementu). A umožňuje vám to, aniž byste měnili rozhraní API.

Závěr

Všechny služby v tomto článku jsou příklady služeb Azure PaaS. Všechny se velmi snadno zprovozňují a vyžadují minimální údržbu. Zůstanou v provozu, jsou samoopravné a v podstatě „prostě fungují“.

Hodnota, kterou tyto služby mohou poskytnout, je obrovská a lze ji snadno začlenit do vašich aplikací. Skutečně se tak postarají o spoustu instalatérských a opakujících se úkolů, které jsme dříve vytvářeli a dělali sami.

Azure PaaS nám umožňuje soustředit se na vytváření věcí, které jsou důležité. Nezapomeňte se vždy zaměřit také na zlepšování svých aplikací pomocí nástroje APM pro celý životní cyklus, jako je Stackify Retrace. Zjistěte více.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.