Windows Azure, Microsoft’un bilişim sektörüne sunduğu, bulut bilişim hizmetleri sağlayan Windows Server işletim sisteminin özelleştirilmiş bir üründür. İnternet uygulamaları, veri depolama merkezi,sanallaştırma platformu gibi IT sektörünün kullanabileceği teknolojilerin bulunduğu platformlar Windows Azure yapısında mevcuttur. Kullanıcılara aynı zamanda test ortamı sağlamasıyla beraber kendi lokasyonlarında kullandıkları uygulamaların Windows Azure üzerine entegrasyonu da mümkündür. Windows Azure teknolojisinin ölçeklenebilir olması da kurumların bu teknolojiyi tercih etme nedenlerinden biridir. Bahsi geçen yenilikler dışında Windows Azure teknolojisi IT dünyasına kullanılan birçok yenilikleri de üzerinde barındırmaktadır.
Aşağıdaki arayüzde Windows Azure teknolojisinin bileşenleri görülmektedir. Şekilde de görüldüğü üzere Windows Azure gerek sanallaştırma teknolojisinde, gerek web siteleri üzerinde gerek cloud servisleri üzerinde, gerek database yönetimlerinde, gerek network üzerinde gerekse de yazılım teknolojilerinde aktif bir şekilde çalışmaktadır.
http://blog.microsoft.com.tr/wp-content/uploads/WindowsAzure_e-book.pdf
Windows Azure üzerinde yapılabilecek işlemlerini temel başlıklar halinde incelemek gerekirse çalışma modelleri açısından 3 temel seçenek yer almaktadır. Bunlar sanal makineler, web siteleri, kurumsal bulut hizmetleri(cloud services)’dir. Veri yönetimi açısından incelendiğinde SQL database, tablolar ve bloblar yer almaktadır. Ağ iletişimi yönünden ise sanal ağların oluşturulması, traffic manager ve connection başlıkları incelenebilir. Bunun dışında SQL Reporting, Hadoop, Caching, medya servisi gibi uygulamalar da yer almaktadır.
Sanal Makineler (Virtual Machines)
Windows Azure teknolojisinde yeni bir sanal makine oluşturulabilindiği gibi varolan bir imaj dosyasından da sanal makinelerin oluşturulması mümkündür. Bunun için kullanılacak vhd’ler seçilebilindiği gibi yeni oluşturulan makineler için virtual boyutları da belirlenebilir. Windows Azure aynı zamanda IT çalışanlarına içerisinde vhd dosyaları bulunan galeri sunmaktadır. Bu galeri içerisinde Windows Server 2012, SQL Server gibi Microsoft ürünleri yer aldığı gibi Linux imajları da yer almaktadır. Kullanıcının kendisinin oluşturduğu sanal makinelerin imajlarını da almak mümkündür. İmajı kullanıcı nereden kullanır ise kullansın yapılan değişiklikler kaydedilir ve daha sonra nerede kalınırsa oradan kullanılmaya devam edilir. Hatta oluşturulan vhd’ler Windows Azure dışında kullanılması mümkündür.Oluşturulan bu sanal makineler aynı zamanda test platformalarında da kullanılabilmektedir.
Web siteleri (Web sites)
Windows Azure teknolojisinin bilişim sektörüne sağladığı özelliklerinden biri de internet uygulamaları geliştirmek ve internet siteleri yayınlamaktır. Internet Information Services’i ( IIS)arka planda kullanılmaktadır. IIS üzerinde daha önceden yayınlanan sitelerin Windows Azure teknolojisine taşınabilmesidir mümkündür. Windows Azure Web Sites hem internet sitesinin diğer sitelerle birlikte sanal bir makine üzerinde çalıştığı paylaşılan bir seçenek hem de sitenin kendi sanal makinelerinin içerisinde çalışabilindiği bir seçenek sunulur. Web sitesi geliştiricilerine sunulan bu teknolojileri Windows Azure platformunda SQL Database ve MySQL gibi teknolojilerinin yanı sıra .NET, PHP ve Node.js teknolojileri kullanabilinmektedir. Buradaki amaç web sitelerinin maliyetini düşürüp, büyük ölçekli ve yararlı platform sağlamaktır.
Kurumsal Bulut Hizmetleri (Cloud Services)
Eş zamanlı çalışan kullanıcıların bulunduğu, yönetim yükünün daha az olması gerektiği ve hali hazırda felaket senaryolarına daima hazır olan bulut sistemi hazırlanılmak istenilmesi durumunda Windows Azure teknolojisinin “Cloud Services”i kullanılabilinmektedir. Web sitesi ve sanal makine oluşturulma özellikleri bulut hizmetleri dışında da Windows Azure ortamında yapılandırılmaktadır. Ancak bu işlerin bulut hizmetleri ile yapılması kullanıcılara esneklik, yüksek derecede ölçeklenebilirlik ya da güvenlik gibi işlemlerinin aynı zamanda kullanıcılara bu işlemleri kendilerinin yapması yerine zaten bulut sisteminin bunu gerçekleştiriyor olması bulut hizmetinin önemini daha arttırmaktadır. Bu sayede düşük seviyede yönetim gerektiren uygulamaları destekler ve Hizmet olarak Platform(PaaS) olarak çalışmaktadır. Eğer sanallaştırma yapılacak ve burada Windows Azure teknolojisindeki bulut hizmetleri kullanılacak ise buradaki sanal makineler kodlar ile Windows Azure tarafından yönetilir, yamaların kurulumu güncelleştirmeler yine Windows Azure tarafından yapılmaktadır ki bu özelliği de yine Windows Azure Virtual Machines özelliğinden ayrılmaktadır. Windows Azure tarafından hem sanalların izlenmesi ve hata alınması durumunda yeniden başlatılması sağlanır.
Windows Azure bulut hizmetlerinde Web Roles ve Worker Roles olmak üzere 2 önemli rol bulunmaktadır. Bu rollerin ikisi de Windows Server tabanlı olması iken arasındaki fark internet rolünün IIS çalıştırılması ve çalışan rolünün bunu kullanmamasıdır.
SQL Database-Tables-Blobs
Windows Azure üzerinde uygulamalar gerçekleştirilir ve bu uygulamaların verilere ihtiyaçları vardır .Bu verilerin saklanması için ve verilerin yönetilmesi için Windows Azure teknolojisinde farklı teknolojiler kullanılır. Bunlardan birisi Windows Azure Virtual Machines ile oluşturulan SQL Server veya diğer DBMS çalıştırılmasıdır. Burada NoSQL teknolojisinin kullanılması da mümkündür. Verileri saklamak için kullanıcı kendi veri tabanını oluşturabilir ancak buranın yönetimini yine kullanıcıların kendilerinin yapması gerekir. Windows Azure bu iş içinde kullanıcılara üç farklı yöntem sunmuştur. Bunlar SQL Databases, Tables ve Blobs’tur.
SQL databases sayesinde ilişkisel verilerin depolanması sağlanır. Kullanıcıların birden çok kullanıcı tarafından aynı anda erişilmesi durumunda bunlar araasında veri bütünlüğü sağlar. SQL Server üzerindeki gibi ADO.NEt,JDBC teknolojileri Windows Azure SQL Database’inden de yapılabilmektedir. Ayrıca T-SQL dilinin büyük kısmını ve SQL Server Management Studio teknolojileri de burada kullanılabilmektedir. SQL Databases teknolojisi bir Paas hizmetidir. İstenilmesi durumunda verilerin varolan verilerinizi kontrol edebilirsiniz, bunun yanı sıra SQL Database, donanım altyapısını yönetmenizi ve işletim sisteminize ait güncelleştirme işlemlerini de yaparak kullanıcıya kolaylık sağlamaktadır. Büyük verilerle çalışanlar için kullanıcı taleplerini birden fazla sunucu arasında dengelemesi IT çalışanları tarafından tercih sebebi olmuştur. Aynı zamanda yine kullanıcılar için birçok donanım teknolojisi kullanarak (örneğin tablet bilgisayaralar, telefon gibi) SQL Database sistemine erişim kolaylığı sağlanmıştır.
Tables ise yine verilerin yönetiminde kullanılan bir diğer teknolojidir. Örneğin büyük veriler ile çalışan fakat karmaşık SQL sorguları kullanmayan bir yapıda verilere erişim kolaylığı sağlamaktadır. Bu teknoloji sayesinde büyük verilere hızlı erişim sağlanır. NoSQL yaklaşımı kullanılmaktadır yani ilişkisel veri depolama yapılmamaktadır. Windows Azure Tables bir uygulama içerisindeki farklı türlerin saklanamasını sağlar. Gruba ait ilişkili özegün anahtar kullanarak bunu elde eder. Bir diğer özelliği ise ölçeklenebilmesidir ve yüksek depolama imkanı sağlamaktadır. İlişkisel olamayarak basit bir tablolama kullanarak düşük maliyet sağlamaktadır.
Bloblar, yine veri depolama teknolojisi için gerçekleştirilmiş bir teknolojidir. Arkada Windows dosya sistemini kullanabildiği gibi Windows Azure sürücülerini kullanarak videolar gibi ikili bilgiler için kalıcı veri depolamayı sağlayan teknolojidir.
Virtual Network-Connect-Traffic Manager
Windows Azure dünyada başta ABD olmak üzere birçok yerde çeşitli veri merkezleri ile çalışmaktadır. Kullanıcıların uygulamalarını saklamak için bu veri merkezi ya da veri merkezleri seçilir. Bunun için Windows Azure Virtual Network,Windows Azure Connect ya da Traffic Manager özellikleri kullanılabilir.
Windows Azure Virtual Network özelliği ile kurum içerisi ile beraber çalışan sanal makinelerin oluşturulması sağlanır. Yani Windows Azure üzerindeki sanal makineler direkt şirkete bağlandırılarak uygulamalar sanki kurum içerisindeki veri merkezinde çalışıyormuş gibi kullanılır.Windows Azure teknolojisi ile şirket arasında bir VPN bağlanısı kurularak bu işlem gerçekleştirilir. Böylelikle Windows Azure Virtual Machines üzerinde bulunan sanal makineler şirkete ait networkten IP alarak şirket ağında görünecektir.
Connect teknolojisi ise belirli grup sanal makinenin yerel ağ ile VPN bağlantısı oluşturulmasıdır. Bunun için VPN için gerekli donanmlara ve ağ hizmetine ihtiyaç vardır. Windows Azure üzerinde yer alan bir uygulamanın şirket içerisine bağlanması gerektiği bir durumda VPN teknolojisi yerine connect teknolojisi kullanılabilir. Bunun için kururm içindeki bilgisayarlara connect kurulur ve Windows Azure uygulaması yapılandırılır. Böylelikle işlem tamamlandıktan sonra Windows Azure üzeirnde yer alan bazı sanal makineler şirket içerisindeymiş gibi çalışmaya başlar.
Traffic Manager ise yine uygulamaların performanslı bir şekilde yönetilmesini sağlar. Kullanıcılar genellikle uygulamaların yakın veri merkezlerinde çalışmasını istemektedir. Ancak talebin çok olması durumunda verilerin başka veri merkezlerinde de yer alması gerekebilir. Bu durumda Traffic Manager kullanıcılara verilerin yönlendirilmesi ile ilgili kurallar sunar ve bu kuralları uygular. Mesela kullanıcılar tarafından çok talep edilen veri merkezinin haliyle kullanıcıya verdiği tepki süresi de artacaktır. İşte bu koşullarda kullanıcılar başka veri merkezlerine yönlendirilirler.
SQL Reporting-Hadoop
Bu kadar verinin saklanadığı bir teknoloji de haliyle veri analizinin de yapılması kaçınılmazdır. Windows Azure teknolojisinde ise bu SQL Reporting ve Hadoop ile sağlanmaktadır.
SQL Reporting özelliği ile depolanan verilerle ve verilerin kullanımları ile ilgili raporlar sunulur. Windows Azure SQL Database içerisinde yer alan veriler ile ilgili raporlama ise SQL Reporting özelliği ile sağlanır. Bu teknoloji kullanıcıya HTML,XML,PDF gibi formatlarda raporlama hizmeti sunar. Onun dışında SQL Database özelliği SQL Server gibi çalışabildiğinden dolayı SQL Server Reporting Services’tan yararlanılabilir.
Hadoop ise yüksek verilerin bulunduğu ortamlarda ve ilişkisel verilerin kullanılmadığı ortamlarda veri analizi için kullanılan teknolojidir. Hadoop Dağıtılmış Dosya Sistemi (HDFS) içerisinde saklanan veriler MapReduce işlemi ile analiz edilir. Yüksek performanslı paralel veriler işlenir.
Queues-Services Bus
Windows Azure teknolojisinde varolan kodlamalar biribirleri ile basit ya da karmaşık şekillerde etkileşimler halindedir. Queues ve services bus teknolojileri mesajlamada kullanılan teknolojilerdir.
Queues bir uygulamanın sıraya bir mesaj bırakması durumunda, başka uygulama tarafından aynı mesajın kullanılması istenildiğinde bu mesajın okunma durumudur. Örneğin aynı sorguyu ya da mesajı kullanacak iki uygulama düşünülürse, birinci uygulama mesajı gönderdikten sonra ikinci uygulamanın bu mesajı okuyup kendi işini gerçekleştirebilmektedir. İnternet ortamındaki videoların yüklenmesi ve gerektiğinde formatlarının değiştirilmesi örnek olarak verilebilir.
Services Bus uygulamaların birbiriyle etkileşim içerisinde olmasından dolayı ve verilerin veri merkezlerinde çalışıyor olmasından dolayı uygulamaların her yerde veri değişimi yapabilmesidir. Queues ile Services Bus arasındaki en önemli farklardan birisi Services Bus yayınlanma ve abonelik mekanizması sunar bu sayede aynı mesaj birden fazla uygulama tarafından okunabilinmektedir. Services Bus teknolojisi geçiş hizmeti üzerinden direkt iletişime imkan verir ve aynı zamanda güvenli yol sunar.
Caching
Uygulamalar aynı veriye sürekli bağlanmak durumundadırlar ve haliyle bu verileri yakın lokasyonlarda tutmak veya bir kopyasını uygulamaya yakın tutmak bekleme süresini kısaltacaktır. Windows Azure teknolojisinde bunun için uygulamalar tarafından kullanılan uygulamaların ön bellekte tutulması ve CDN teknolojileri kullanılmakatadır.
SQL Databases, Tables ve Blobs hizmetleri hızlı teknolojilerdir ancak verilere bellekten erişmek daha hızlı olcaktır. Bunun için Windows Azure teknolojisi caching özelliği sunmaktadır. Uygulamalar verileri önbellek üzerinde tutacaklardır. Hatta istenildiği takdirde veriler üzerinde okuma, yazma gibi izinler de verilebilmektedir.
CDN özelliği kullanıcıların bir veriye erişmesi çok fazla olması durumunda verinin bir merkezde tutulması yeterli olmayacaktır. Bu durumda veri merkezi dışında CDN teknolojisi, talep eden kullanıcılara yakın bölgede CDN deposuna kopyalar. Böylelikle kullanıcıların verilere daha kolay erişimi sağlayacaktır.
Medya
Günümüz internet ortamına bakıldığında videolar büyük yer tutmaktadır ve kullanıcılar tarafından talep görmektedir. Ancak videoların bu taleplere karşılık verimli çalışabilmesi için arkada birçok algoritmada çalışmaktadır.Fakat bazen videolar patlayabilmektedir. Uygulamalar bunun için kendi içerisinde zaten çeşitli çözümler bulmuşlardır fakat merkezi bir yerden çözüm üretilmesi gerekiyor ise bunun için Windows Azure teknolojisi kullanılabilir.
Windows Azure teknolojisi video ve diğer medyalar için birçok hizmet sunmaktadır. Videoların yüklenmesi için medya alıcıları, video ve ses formatına sahip şifreleme algoritmaları, digital haklar sağlayan içerik korumasını, videolar içerisine reklam gibi hizmetlerin eklenmesine olanaklar sunmuştur. Microsoft dışında başka bileşenler ile de çalışılabilinmesine imkan sağlar. Aynı zamanda Windows Azure içerisinde bulunan CDN hizmeti ile beraber kullanılması videoların erişiminde performans sağlayacaktır.
http://blog.microsoft.com.tr/wp-content/uploads/WindowsAzure_e-book.pdf
Elinize sağlık güzel anlatım olmuş.
Oldukça yararlı bir yazı olmuş 🙂 Teşekkürler.