Azure Storage JavaScript knjižnica

by Rok Bermež 13. March 2017 10:06
JavaScript knjižnica za Azure Storage omogoča številne scenarije za razvoj spletnih aplikacij, ki uporabljajo storitev shranjevanja kot so Blob (datoteke), tabele (NoSql) ali pa čakalne vrste, in je združljiva z vsemi sodobnimi brskalniki. Naj bo to spletna igralna izkušnja, kjer se shranjujejo informacije o stanju v tabeli (table service), nalaganje fotografij z datotečnih storitev (Blob storage) v mobilni aplikaciji ali pa kar celotna spletna aplikacija podprta z dinamičnimi podatki shranjeni v Azure Storage, nam uradna javascript knjižnica prihrani ogromno časa. Sestavljena je tako da je njen odtis čim manjši, tako se programski API za določeno storitev nahaja v ločeni javascript datoteki JavaScript. Primer, razvijalec, ki potrebuje dostop do Blob skladišč mora bključiti zgolj: <script type=”javascript/text” src=”azure-storage.common.js”/> <script type=”javascript/text” src=”azure-storage.blob.js”/> Knjižnica podpira vse funkcije za shranjevanje, ki so na voljo v zadnji različici REST API 2016-05-31 in je zgrajena z pomočjo Browserify storitve z uporabo Azure Storage Client Library za Node.js. Tako lahko uporabite vse funkcionalnosti iz Node.js knjižnice ter njeno referenčno API dokumentacijo. Toplo se priporočama uporaba SRS žetonov za avtentikacijo z Azure Storage storitvijo, saj bodo v nasprotnem primeru poverilnice uporabnika na voljo v brskalniku, kar pa najbrž ni nekaj kar bi si želeli. SAS žeton, z omejenim dostopom in časom uporabe, se tako pridobi z pomočjo backend avtentikacije uporabnika ob prijavi in tako odpravi potrebo po preverjanje pristnosti z uporabo glavnega ključa vašega 'storage' računa. Primer za implementacijo takšnega SAS backenda lahko najdete na GitHubu (https://github.com/Azure-Samples/functions-node-sas-token). Ko enkrat imate spletno aplikacijo, ki lahko ustvarjajo SAS žetone omejenega obsega je vse ostalo precej enostavno! Prenesite k sebi JavaScript javascript knjižnico (https://github.com/Azure/azure-storage-node/#azure-storage-javascript-client-library-for-browsers ) in jo vključite v kodo. Tukaj je preprost primer, ki v Blob shrani dano besedilo: 1. Vključimo potrebne dela knjižnice <script type=”javascript/text” src=”azure-storage.common.js”/> <script type=”javascript/text” src=”azure-storage.blob.js”/> 2. Dodamo nekaj HTML elementov <input type="text" id="text" name="text" value="Hey ho!" /> <button id="uploadButton" onclick="uploadBlobFromText()">Dodaj</button> 3. Nato pa implementirajmo javascript funkcijo z imenom uploadBlobFromText, ki bo sprožila prenos podatkov v skladišče <script> function uploadBlobFromText() {      // vaš SAS žeton      var sasKey ="....";      var blobUri = "http://<accountname>.blob.core.windows.net";      var blobService = AzureStorage.createBlobServiceWithSas(blobUri, sasKey).withFilter(new AzureStorage.ExponentialRetryPolicyFilter());      var text = document.getElementById('text');      var btn = document.getElementById("uploadButton");      blobService.createBlockBlobFromText('mycontainer', 'myblob', text.value,  function(error, result, response){          if (error) {              alert('Ups….');              console.log(error);          } else {              alert('Yeeey ratalo!');          }      }); } </script> Seveda ta scenarij, kjer dobivate podatke iz tekstovnega polja ni najbolj pogost, zato pa si lahko pogledate več bolj praktičnih primerov na naslednjih naslovih: •    JavaScript Sample for Blob •    JavaScript Sample for Queue •    JavaScript Sample for Table •    JavaScript Sample for File Obilico veselja pri uporabi najbolj uporabljane Azure storitve še s pomočjo javascripta J.

Tags:

Azure

Azure kognitivne storitve

by Rok Bermež 1. October 2016 22:33
Pri Azure kognitivne storitvah gre za skupino orodij namenjenih za izboljšavo aplikacij na različnih platformah oz. njihovo razširitev z dodatnimi zmogljivostmi razumevanja človeških interakcij ter prepoznavanja smisla iz podatkov z namenom nuditi uporabnikom bolj koristno in sofisticirano interakcijo ter človeku podobnim obnašanjem. Storitve so sestavljene iz več različnih tehnologij, ki obsegajo pet ločenih področji: vid, govor, jezik, znanja in iskanja. Vsi so izpostavljeni kot REST APIji, ki jih lahko koristite na katerikoli platformi. Vse, kar potrebujete, je Varnostni ključ (začneta lahko z brezplačnim, ki ga dobite na https://www.microsoft.com/cognitive-services/en-us/sign-up ). Vse interakcije s storitvami potekajo klica na URI , kateremu pošljete vaš varnostni ključ ter želeno zahtevo. Različne APIje, ki so del kognitivnih storitev lahko razdelimo v dve večji skupini. Na eni strani imate bolj uveljavljene in znane tehnologije (kot na primer Bing iskanje). Na drugi strani pa najmodernejše stvari, kot so storitve za razumevanje jezika, čustev, znanja in prevajanja (v realnem času). Kognitivne storitve so platforma, ki se stalno razvija. Nekateri APIjo so še v beta fazi in večina izmed njih konstantno raste in se spreminja. Trenuten celoten sklop je sledeč: Trenutno se ne bomo spuščali v vse podrobnosti v zvezi s posameznimi API-ji temveč bomo to storili v prihodnjih člankih. Za sedaj bo zadosti, če rečemo da mogoče sama po sebi vsaka storitev ni najbolj impresivna a, ko jih začnemo kombinirati pa lahko pridemo do izjemno zanimivih rezultatov. Na tej točki je trenutno še nemogoče napovedati dosega te tehnologije. S tem, ko smo razvijalci in bolj pomembno nekoliko kasneje tudi končni uporabniki dobili te zmogljivosti v roko, bo to pripeljalo do novih inovativnih načinov uporabe in s tem nadaljnjih smeri razvoja teh storitev.

Tags:

.Net | Azure

Azure elastični podatkovni bazeni

by Rok Bermež 20. May 2016 12:27
Azure SQL podatkovne baze so dobile poleg novih kapacitet za zahtevnejše uporabnike še dodatno opcijo, ki v vam omogočajo gradnjo še boljših oblačnih aplikacij. Elastic database pools – Elastične baze podatkov vam omogočajo, da teče več izoliranih in neodvisnih baz podatkov na rezerviranem bazenu hardwarskih virov, namenjenih samo vam in vaši aplikacije. To zagotavlja odličen način za software-as-a-storiteve (SaaS), katerih razvijalci lahko bolje izolirajo svoje posamezne stranke na ekonomičen način. Če ste SaaS razvijalec z deset, sto ali celo več tisoč podatkovnih baz, elastična bazen podatkovna baza močno poenostavlja proces ustvarjanja, ohranjanja in upravljanja uspešnosti v teh baz podatkov v okviru finančnega načrta, ki ga nadzorujejo. SaaS aplikacijski vzorec (predvsem za gradnjo B2B SaaS aplikacij) je da SaaS aplikacije za uporabljajo drugačno podatkovno bazo za shranjevanje podatkov za vsako stranko posebej. To zelo koristi varnosti in izolaciji podatkov (in omogoča podatki o posamezni stranki, ki se šifrirajo ločeno, ločene varnostne kopije… itd), povzroči pa različno in nepredvidljivo porabo virov (vzorci CPU / IO / Memory) in ker je 'vrhove in doline' za vsako stranko težko napovedati je praktično ne mogoče zagototavljati optimalna sretstva saj imamo na voljo zgolj 2 možnosti: - zagotavljanje virov na podlagi vrha s čimer večino časa storitev preplačamo - zagotavljanje cenovno bolj ekonomičnih virov na račun učinkovitosti in zadovoljstva strank med vrhovi Microsoft je ustvaril elastične bazene baz podatkov, posebej z namenom za pomoč razvijalcem pri reševanju tega problema. Pri elastičnem bazenu podatkov lahko dodelimo skupni bazen virov za vse baze podatkov (CPU / IO / Memory), nato pa znotraj bazena ustvarimo in izvajamo več izoliranih baz na vrhu te skupine skupnih virov. Za vsako posamezno bazo, ki jo dodate v bazen, lahko nastavimo tudi najnižje in najvišje meje zmogljivosti SLA, kar zagotavlja, da nobena od podatkovnih baz nepravično ne vpliva na druge zbirke podatkov v vašem bazenu. Upravljani API vam omogoča enostavno skriptanje ter upravljanja večih baz naenkrat ter izvajanje poizvedb nad večimi podatkovnimi bazami hkrati. Najboljše od vsega pa je, da ko dodate več baz v tak bazen, imate v povprečju tipičen precej boljši izkoristek obremenitev (ker imajo stranke po navadi različne vrhove in doline) , kar na koncu zahteva veliko manj sredstev in s tem manj denarja, kot bi jih, če bi imeli vsako bazo podatkov posebej. Spodnji graf prikazuje tipičen primer tega, kar se zgodi, ko SaaS razvijalci izkoristijo zmogljivosti elastičnega bazena. Vsaka posamezna baza ima z vidika uporabe drugačne vrhove in doline (ker se pogosto zgodi ob različnih časih) in bazen jih normalizira ven, tako da skupno zahtevajo veliko manj sredstev: Ker so elastični podatkovni bazeni zgrajeni na podlagi SQL Database storitve, dobite zraven tudi vse njene vgrajene storitvene zmogljivosti, kot so: 99,99% SLA, večkratni visoko razpoložljivost, geo-podvajanje, 'point-in-time' obnovitev podatkov, TDE šifriranje podatkov, varnost na ravni vrstice, iskanje po celotnem besedilu, in še veliko več.

Tags:

Azure

Docker v Azurju

by Rok Bermež 10. April 2016 11:24
Ko je Microsoft prvič napovedal podporo za Docker na svoji oblačni Azure platformi, je bilo videti, zgolj kot podpora za samo še eno orodje upravljanja z containerji, namesto uporabe command line orodij, medtem ko smo čakali na vgrajeno podporo motorja Docker v naslednjo različico operacijskega sistema Windows Server. Čeprav je Azure res temelji na operacijskem sistemu Windows Server, je odličen peskovnik za preizkušanje prototipov novih strežniških funkcij. Na primer, Azure CTO Mark Russinovich pravi, da je Azure za "ključni dejavnik, ki tesno sodeluje z ekipo Windows o zahtevah za v naslednjo različico operacijskega sistema Windows Server, saj bo Azure je glavna stranka." Zato se je podpora zanj v zadnjih šestih mesecih bistveno povečala, od zgolj možnosti prižiga Docker virtualnih strojev na dodajanje vedno več in več podpore za upravljanje platform, kar jo naredi še precej bolj zanimivo za devops scenarije. Oblačna storitev, kot je Azure, je odlična izbira za Docker, ker omogoča razvijalcem prenosljivost ter zmožnost gradnje nad zadevami, ki so jih naredili že drugi in tako precej hitrejši razvojni cikel. Čeprav je pri besedi devops po navadi, največji poudarek je bil na ops strani, je Docker edinstven ker bistveno spreminja produktivnost razvijalca, ker z združitvijo aplikacije z potrebno infrastrukturo za njeno delovanje končno reši standardni »deluje na mojem računalniku« glavobol tako da se lahko osredotočijo na optimizacijo prave infrastrukture za aplikacije ter vejo, da deluje in da imajo prenosljivost. " Lažja uporaba Docker containerjev in boljša integracija z ostalimi Azure storitvami pomeni, da lahko dobite prednosti devopsa brez večjih notranjih sprememb. Pri devops je del sprememb ponavadi tudi velika organizacijska sprememba. Velika stvar tega modela pa je, da loči aplikacije iz omejitev infrastrukture. Tako lahko spremenite svoj organizacijsko strukturo - vendar ga pa to ni nujno potrebno. Več pa si lahko preberete na https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-dockerextension/.

Tags:

Web | Azure

Windows Azure Mobile Services novosti

by Rok Bermež 1. April 2014 06:56
  Pred kratkim so Windows Azure Mobile Services dobile podporo za .Net in ASP.NET Web API. Ta kombinacija je naredila gradnjo oblačnih mobilnih 'backendov' še toliko enostavnejšo. Začnemo lahko enostavno tako, da gremo na azure management portal in naredimo nov Mobile service, pri tem pa zberemo .NET kot jezik uporabe. Ko bo servis narejen, pridemo do priročne začetne strani Kjer z klikom na gumb 'download' dobimo v naprej prirpavljen projekt temelječ na Web API predlogi z nekaj dodatnimi NuGet paketi. Če odpremo privzet ToDoItemConroller lahko vidimo kako se uporablja vgrajeni TableController<T> .NET razred, ki nam omogoča enostavno serviranje podatkov v mobilne aplikacije. Prav tako je omogočeno lokalno razhroščevanje in razvoj, ko pa smo z svojo storitvijo zadovoljni, jo pa enostavno objavimo na njeno oblačno mesto s pomočjo njenega 'publish' profila.

Tags:

.Net | Azure

Calendar

<<  May 2017  >>
MonTueWedThuFriSatSun
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

View posts in large calendar

Page List

Month List