Azure Storage Services – Useful tools

This is the last part of our Azure Storage Services series. Today we are going to discuss a couple of useful tools that you might want to leverage for interacting with Azure Storage Services.

When it comes to viewing and interacting with your content in Azure Storage Services, there are plenty of options. Some of these are tools are provided and maintained by Microsoft; some others are from third parties. We have also discussed some other options in this series such as Classic and the new Azure Portal, PowerShell, AzureCLI, REST API, or even Python used with the Azure Storage Library.

Let me give you a short overview of tools that you might find useful for your daily Azure Storage tasks.

Storage Explorer

Storage Explorer is a cross-platform desktop application that provides visibility for your Azure Storage accounts. You can download Storage Explorer for Windows, Mac, and Linux.

Storage Explorer enables you to access and browse your content in multiple storage accounts. Each version also offers extended capabilities, such as dealing with containers, queues, tables, and file shares. Most basic operations are already embedded in the tool, and you can easily achieve some of your daily maintenance tasks with it.

One of the best things about the new version is that it also supports either ARM-based or Classic deployments.

There are different options for connecting to your storage account. You can simply provide your SAS URI or account key for particular storage accounts, or you might want to sign into your subscription. If you choose to sign into your Azure account, subscriptions associated with this account will be listed.

Adding an Azure account in Storage Explorer

Adding an Azure account in Storage Explorer

Then all associated storage accounts will be shown in the left pane.

Listing storage accounts in Storage Explorer

Listing storage accounts in Storage Explorer

You can take a variety of actions, such as: editing blob properties/metadata, uploading blobs and folders, viewing or querying entities in tables, adding or deleting messages, and creating file shares.

Creating new file share in Storage Explorer

Creating new file share in Storage Explorer

On the top right hand side, you can see all available options available for this newly created file share.

Additional actions in Storage Explorer

Additional actions in Storage Explorer

You can also manage Stored Access Policies for different storage services.

Accessing policies in Storage Explorer

Accessing policies in Storage Explorer

In a nutshell, it’s a pretty powerful cross-platform tool that covers most daily operational tasks you may want to achieve with Azure cloud storage services.

Azure Web Storage Explorer

We also have a web version of Storage Explorer. Its source code is currently available in GitHub, and you can start using it at https://azurestorage.azurewebsites.net.

Logging into Azure Web Storage Explorer

Logging into Azure Web Storage Explorer

You need to provide your storage account name and access key.

Creating new container in Azure Web Storage Explorer

Creating new container in Azure Web Storage Explorer

Web Storage Explorer’s main differentiator is that it has a web-based interface, which means you can access it from anywhere without needing a local application or SDK.

Just like other tools, you can interact with blobs, tables, and queues. But the main question is: why would you want to use a web-based storage explorer rather than using the official Azure portal?

I also have to say that its GUI is nowhere close to being user friendly compared to other available tools or the Azure Portal.

ClumsyLeaf – AzureXplorer

AzureXplorer from ClumsyLeaf is a VS extension that helps you to manage storage accounts and interact with tables, blobs, and queues.

AzureXplorer VS extensio

AzureXplorer VS extensio

Once you complete the installation, you need to click View » Other Windows » AzureXplorer in Visual Studio and add your subscription/storage accounts.

Along with view capabilities, AzureXplorer also brings some advanced features, such as advanced filtering, export/import options, test data generator, drag-and-drop, and so on. It goes without saying that all these advanced features are available with a license.

http://clumsyleaf.com/products/azurexplorer

Visual Studio Server Explorer

Azure Tools for Visual Studio extends the capabilities of Visual Studio to support the deployment and management of your applications across on-premises and Azure infrastructure. With the latest version of Azure Tools, you can set up a complete cloud infrastructure using Azure Resource Manager.

One other advantage of Azure Tools for Visual Studio is that you can also leverage an existing Server Explorer node in VS to display all of your storage accounts and associated storage services.

To start viewing and managing your resources in Server Explorer, it’s sufficient to login to your Azure subscription and expand your storage account’s node in Server Explorer:

Listing storage accounts in Visual Studio

Listing storage accounts in Visual Studio

Azure Tools also helps you to interact with blobs, queues, and tables. You can create or delete blobs and containers, add or delete messages to/from existing queues, view or create tables, and interact with table data.

Creating a new container in Visual Studio

Creating a new container in Visual Studio

It’s also possible to create a new storage account by using Server Explorer. You can simply select “Create Storage Account” from the Server Explorer pane to do this.

Creating a new storage account in Visual Studio

Creating a new storage account in Visual Studio

 

Creating a new storage account

Creating a new storage account

I have personally started using Visual Studio with PowerShell tools. It’s a great extension for developing and debugging your PS scripts. Then I started to develop my ARM templates in VS. With the ability to interact with Azure Storage resources using Azure Tools, there is no doubt that Visual Studio will be getting more and more attention from datacenter engineers.

Conclusion

There are also other free and commercial tools available. This Microsoft page noted keeps track of these tools and their current functionalities.

That was the last part of our Azure Storage Services series. Please feel free to contact me if you have any questions or feedback!

Azure SQL – Database copy and export

Azure PaaS servislerinin en populer olanlarindan Azure SQL, PaaS olarak sunulmasinin avantajlarini kullanarak varsayilan bicimde bircok yuksek erisilebilirlik imkani sunmaktadir.

Yerel ortamlarda birkac sunucu, on yatirim, altyapi yapilandirmasi, veri merkezi kurulumu vb bircok operasyonal surec ile birlikte tam anlamiyla bir DR cozumu konumlandirabiliriz.

SQL Server 2016 ile birlikte SQL Always On kullanarak ozellikle SQL seviyesinde FT ve DR cozumlerinde elimiz daha guclendi. En onemlisi artik farkli farkli replikasyon yada HA cozumleri yerine tum bunlari icerisinde barindiran SQL Always On taknolojisini kullanabiliriz.

Azure SQL tarafina gelindiginde ise tum bu servislerin default olarak bulunuyor. Portal uzerinden birkac saniye icerisinde gerceklestirelel yapilandirma ile SQL veritabanlariniz icin secondary kopyalar olusuturulabilir.

Ayni sekilde Azure SQL icerisinde point-in-time denilen otomatik yedekleme hizmeti de bulunmaktadir. Varsayilan olarak veritabaninizin kopyasi Azure storage icerisinde tutulur. Sizin ek bir yapilandirma gerceklestirmenize gerek kalmadan portal uzerinden 5 dakika oncesine kadar otomatik alinmis yedekleri geri dondurebilme sansiniz bulunuyor.

Bunun disinda Azure SQL uzerinde is surekliligini saglamak icin ek bir ozellik daha bulunuyor. Database Copy and Export.

Azure SQL uzerinde, yerel SQL sunucularinda oldugu gibi veritabani yada log yedeklemesi yapilmasi mumkun degildir. Bunun disinda copy export servisini kullanarak varolan veritabani icin .bacpac dosyasi olusturulabilir ve bu dosya Azure Storage icerisinde barindirilabilir.

Buradaki onemli nokta ne zaman Copy Export ne zaman default point-in-time kullanilmasi gerektigine karar verilmesi.

Ozetle point-in-time operasyonel olarak tum yuku uzerinizden aliyor. Ek bir ucret odemeden arka planda calisan bir servis olarak manuel olaran copy-export servisinden daha efektif oldugu soylenebilir.

Bir diger var Point-in-Time senaryosunun consistent backup olusturuyor olmasi. Export surecinde ise ne yazik ki bu islemi canli database uzerinde gerceklestiremezsiniz. Oncelikle DB nin bir kopyasini almaniz gerekmektedir.

Copy-Export’ un en buyuk avantaji ise on-premise sunuculari uzerinde restore islemine izin vermesi. Point-In-Time senaryosunda restore islemi ancak Azure SQL uzerindeki sunuculari uzerinde gerceklestirilebilir.

Azure Storage Services – Security

In this part of my Azure Storage series, let me cover some important security components in Azure Storage Services that may help you build more secure applications using cloud storage.

Storage Account Key

If you have read our Azure Storage Services series to this point, you may have noticed that I used storage account keys numerous times to access data objects in the storage account context. We use storage account keys to authenticate endpoints when accessing the account.

MSDeploy.exe ile web uygulamalarinin Azure’a deploy edilmesi

Local ortamda gelistirdiginiz uygulamalarin Azure uzerinde Publish edilmesi icin birkac farkli yontem bulunuyor.

En klasik yontemden baslayalim. FTP.

Azure bir FTP server gibi hareket edebilir ve bu sayede siz de dosyalarinizi web sunucusuna FTP protokolu uzerinden gonderebilirsiniz. Bu biraz eski usul web hosting yontemlerine benziyor. Kullandiginiz FTP client ile Azure portal uzerinden edindiginiz FTP adresine istediginiz dosyalari atmaniz yeterli olacaktir.

Ancak bu yontemin temel birkac sorunu var.

  • FTP ile dosyalari yalniz transfer edebilirsiniz. Ne yazikki degisen dosyalar, farklar ayiklanamaz. Yada web.config dosyasinin icerigini desistirip production DB den test DB sine gecis yapamaz.
  • FTP her zaman secilen tum dosyalari transfer eder. DOsyalarin degisip degismedigi ile ilgilenmez. Bu yuzden her surum icin tum dosyalari Azure uzerine gondermeniz gerekir.

WebDeploy ise bu problemlerin onune gecen ve genellikle kullanilan yontemdir. Web Deploy hem client tarafinda hem sunucu tarafinda sahip oldugu komponentler sayesinde dosyalarinizin Azure uzerine senkronize olmasini saglar. Web Deploy’u hem yeni uygulamalarin publish edilmesinde hem de bir IIS sunucusunun diger bir IIS sunucusuna tasinmasi gibi senaryolarda kullanabilirsiniz.

En onemli artilarindan birisi de Visual Studio icerisinden native olarak kullanilabilmesi.

Limitasyonlara gelicek olursa en onemlisi Web Deploy’u yalnizca IIS server icin kullanabilirsiniz.

Visual Studio icerisinde WebDeploy kullanimi oldukca basit. Var olan Solution uzerine sag tiklayip Publish dedikten sonra Publish Web Wizard acmaniz yeterli.

Ardindan varolan App Service grubunuzu ve Resource Grubunuzu secmeniz yeterli.

Benzer sureci PowerShell ile de gerceklestirebilirsiniz. AzureRmResourceGroupDeployment komutu isinizi gorecektir.

Ornegin:

deploying-web-apps-with-powershell

New-AzureRmResourceGroupDeployment -TemplateUri
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-web-appgithub-
deploy/azuredeploy.json -siteName ExampleSite -hostingPlanName ExamplePlan
-siteLocation "West US" -ResourceGroupName ExampleDeployGroup

Azure uzerinde KUDU’yu denediniz mi?

Son gunlerde Azure uzerinde bulunan Azure Web App servisi ile ilgili calisiyorum. Eski Azure PaaS Cloud hizmetinin yenilenmis versiyonu olarak sunulan Azure App, ayni cati altinda ayrica Web App, Logic App, API App gibi ek servisleri barindiriyor.

Azure Web App, cok basit olarak size Azure uzerinde web uygulamalarinizi calistirabileceginiz bir PaaS hizmeti veriyor. Kendi icerisinde yedekleme, auto-scaling high availability gibi tum secenekleri otomatik olarak barindiran bu servis sayesinde VS uzerinde develop ettiginiz uygulamalarinizi saniyeler icerisinde Azure uzerinde publish edebilirsiniz.

Azure Web App ile ilgili konusulacak cok sey var. Ancak bu blogda ilginc bir ozelliginden bahsetmek istiyorum.

Azure Web App arka planda buyuk oranda open-source olan KUDU isimli bir bileseni kullaniyor. Aslinda bu bilesen Azure Web App’in en begenilen ozelliklerinden olan continuous deployment noktasinda gerekli destegi sagliyor. Bu sayede Azure Web App icerisinden GIT gibi bir source control sistemine otomatik baglanti saglayabiliyorsunuz. GIT uzerindeki repository’de bir degisiklik oldugunda Azure Web App bu degisikligi alip staging yada test slotuna deploy edebiliyor.

Bunun yaninda yeni kesfettigim bir ozellik ise, deploy ettigimiz her Azure Web App icin ayni zamanda bize ozel bir KUDU sayfamizin olmasi.

http://webappismi.scmazurewebsites.net seklinde araya scm adresini ekledigimizde KUDU arayuzune ulasabiliyorsunuz.

Burada ise sizi bir cok ilginc secenek bekliyor.

Bildiginiz gibi Azure Web Sites bir PaaS servisi. Yani sizin alt tarafta calisan altyapi ile ilgili bir bilginiz yok. Ayni zamanda yapilandirma noktasinda ancak izin verilen degisikleri yapabiliyorsunuz.

KUDU arayuzunde ise gordugunuz gibi Web App icin calistirilan sunuculara konsol yada powershell baglantisi acabilirim, environmental variable lari degistirebilirim. process explorer ile web app sunucum uzerinde calisan processleri gorebilir (ornegin iis processi) ve bunlari terminate edebilirim.

Otomatik olarak gelen bu konsol eklentisi sayesinde sinirli yapilandirma imkani bulunan Azure Web Site icin ek ozelliklere sahip olabiliyorsunuz.

Azure Storage Access Tools

Azure Storage servislerine erisim icin genis bir arac seti bulunmaktadir. Gerek developer gerek IT pro perspektifinden bakildiginda Azure Storage servislerine farkli arayuzlerden erisim ihtiyaci duyabiliriz.

Kisaca su an icin en populer olan araclari ve arayuzleri inceleyelim.

Azure PowerShell Cmdlets:

Azure PowerShell modulu icerisinde oldukca zengin bir cmdlet havuzu bulunuyor. Gerekli modulu PowerShell Gallery altindan yada direk kurulum modulu uzerinden kurabilirsiniz.

Azure PowerShell module icerisinde Blob, File, Queue ve Table hizmetleri icin cmdletler bulunmaktadir.

AzCopy

AzCopy araci Microsoft tarafindan sunulan komut satiri araclarindan bir tanesi. Genellikle Azure uzerinde veri transferinde kullanilabilir.

Storage Explorer:

En unlu araclardan bir tanesi. En guncel surumunde tum servisler ve alt komponentleri ile ilgili aksiyonlar alinabilir.

Visual Studio

Benim favori araclarimdan bir tanesi. Yalnizca storage servisleri ile ilgili degil Azure uzerindeki ozellikle PAAS servislerine entegrasyonu cok iyi seviyede.

Gerek Storage gerekse Compute icin emulatorler kullanilarak local ortamdan VS ile birlikte development gerceklestirebilirsiniz. Ayni zamanda birkac saniye icerisinde Azure SUbscription bilgisini vererek public Azure uzerindeki servislere Toolset icerisinden erisim saglayabilirsiniz.

Tek bir sag klik ile var olan aplikasyonunuzu Azure uzerinde stage yada production gibi slotlara publish edebilirsiniz.

 

Azure Load Balancing Yontemleri

Azure, highly available ve scalable uygulamalar bircok kolaylik saglamaktadir. HA bir uygulama planlanmasi icin Azure uzerinde degerlendirilmesi gereken bir cok servis buluuyor.

Ornegin her bir tier icerisinde mutlaka birden fazla instance olusturmaniz gerekli. Her bir tier’i ayri Availability Setler icerisine koymaniz gerekli ki VM leri Update Domain ve Fault Domain ler arasinda paylastirabilin.

Bunun disinda farkli instanceler ile uygulama tarafinda hizmet vereceginiz icin internetten gelen trafigin bu sunuculara yonlendirilmesi noktasinda karar vermeniz gerekiyor.

Azure uzerinde farkli sunuculara trafigin dagitilmasi icin Load Balancer bileseni kullanilabilir. Bu yazida farkli Load Balancing yontemlerinden ve teknolojilerinden kisaca bahsedecegim.

Oncelikle Load Balancer dedigimizde Azure uzerinde iki farkli LB tipip bulunuyor.

  • Azure Load Balancer
  • Internal Load Balancer

Internet uzerinden gelen trafik icin external (Azure) Load Balancer kullanmaniz gerekiyor. Ancak bu sekilde LB NIC lerine Public IP atamasi yapabilirsiniz.

Ancak ornegin Web Tier ile App Tier yada App Tier ile DB Tier arasindaki trafigi dagitmak icin herhangi bir external NIC yada IP ihtiyaciniz bulunmuyor. Bunun icin de Internal Load Balancer kullanilabilir.

Bir diger LB teknolojisi isi Application Gateway.

Biraz once bahsettigimiz geleneksel LBler aslinda Layer 4 uzerinde calisirlar ve genellikle port, protocol gibi kriterler ile yonlendirme yaparlar. Ancak kimi durumda OSI7. seviye de calisan bir LB ihtiyaciniz olabilir. Bu sayede HTTP/HTTPS paketlerinin icerigine gore veya URL path hedeflerine gore yonlendirme yapabilir hatta SSL Offloading ile sertifika sonlandirma process’ini web sunuculardan LB uzerine cekebilirsiniz.

Son olarak ise Traffic Manager dan bahsedelim. Genellikle karistirilan noktalardan birisi Traffic Manager’in LB gibi dusunulmesidir. Her ne kadar trafigi yonlendirme isini gerceklestirse de Traffic Manager asla paketleri kendi uzerine alip hedefe tasimaz.

Traffic Manager’in temel gorevi istemcilerden gelen DNS sorgusunu ilk karsilayan nokta olmak ve kendi uzerindeki latency tablosuna bakarak bu istemciyi en yakin Azure veri merkezine gondermek. Bu sayede ornegin dunya capinda bir web sitesiniz var ise, kullanicilarin sitenize eristikleri lokasyona gore Traffic Manager yonlendirme yapar.

Bu yuzden her zaman onerim better together. Load Balancer ile Traffic Manager’i ayni senaryo icerisinde kullanarak availability’yi arttirmaniz.

Azure VM Boyut Kararlari

Azure uzerinde sanal makine hizmetini kullanmak istediginizda Azure size oldukca zengin bir menu sunmaktadir. A, D, G,DS, GS serileri ve yeni aciklanan ve aciklanacak olan bir sureu farkli seri icerisinde farkli boyutlarda makineler secebilmeniz mumkun,

Bu noktada ozellikle Azure altypapisi planlanirken VM boyut planlamasi yapilmasi da onemlidir. Her ne kadar Azure size ilgili VM boyutlarini degistirmek icin imkan verse de, altyapi tasinmadan once genel resmi gormek ve mumkunse maliyeti hesaplamak onemlidir.

Azure Sanal Makineleri uzerinde boyut karari verilirken asagidaki noktalara dikkat edebilirsiniz.

  • Iki farkli tier bulunuyor. Standard ve Premium. Premium genellikle daha yuksek I/O thorughput isteyen uygulamalar icin tasarlanmistir ve bu sebeple maliyetleri fazladir.
  • Her VM boyutunun maliyeti farklidir. Ayni zamanda belirli size lar belirli ozellikleri destekleyebilir yada desteklemeyebilir.
  • A1 production ortaminda kullanilmasi icin onerilen en dusuk boyuttur.
  • Eger SQL veritabani icin bir sanal makine olusturuyorsaniz, minimum 4 CPUlu bir sanal makine secmeye ozen gosterin.

Azure Storage Services – Queue storage

In my previous articles, we covered blob, table, and file storage details as well as the overall Azure Storage Service architecture. Now it’s time to take a look at one other Azure storage option – queue storage.

Before digging into the details of Azure Queue storage, let me give you a basic overview of why queue data structure is important in the development world.

Queue data structure

In programming languages, stacks and queues are two different data structures to manipulate large collections of objects. Think of these data structures as a collection of items. The main differences between these collections are the following principles.

Continue Reading…