Windows Azure ile Bulut Bilişime Giriş

25

Transcript of Windows Azure ile Bulut Bilişime Giriş

Page 1: Windows Azure ile Bulut Bilişime Giriş

 

 

 

 

 

 

 

 

 

 

   

Page 2: Windows Azure ile Bulut Bilişime Giriş

1

WINDOWS  AZURE  Windows  Azure,  Microsoft’un  Genel  Bulut  uygulama  ve  altyapı  platformudur.  Bu  platformu  pek  çok  şekilde  kullanabilirsiniz.  Örneğin  Windows  Azure  ile  verilerini  Microsoft  veri  merkezleri  üzerinden  çalıştıran  ve  saklayan  bir  internet  uygulaması  hazırlayabilirsiniz.  Windows  Azure'u,  verileri  kurum  içerisinde  (yani  genel  bulut  dışında)  kullanan  uygulamalar  için  sadece  veri  depolamak  amacıyla  da  kullanabilirsiniz.  Windows  Azure'u  geliştirme  ve  test  işlemleri  veya  SharePoint  ve  diğer  uygulamaları  çalıştırmak  amacıyla  sanal  makineler  oluşturmak  için  de  kullanabilirsiniz.  Windows  Azure'u  çok  ama  çok  sayıda  kullanıcıya  sahip  çok  büyük  ölçeklendirilebilir  uygulamalar  oluşturmak  için  de  kullanabilirsiniz.  Platform  pek  çok  hizmet  sunduğundan  tüm  bunlar  ve  çok  daha  fazlası  mümkündür.  

Bunlardan  herhangi  birisini  gerçekleştirebilmek  için  temel  bilgileri  anlamanız  gerekmektedir.  Bulut  bilişim  hakkında  hiçbir  şey  bilmiyor  olsanız  bile  bu  makale  Windows  Azure  ile  ilgili  temel  bilgileri  size  sağlayacaktır.  Amaç  bulut  platformunu  anlamanız  ve  kullanmaya  başlamanız  için  size  bir  temel  sunmaktır.  

İçindekiler  

Windows  Azure'un  Bileşenleri  ................................................................................................................  2  

Çalıştırma  Modelleri  ................................................................................................................................  3  

Veri  Yönetimi  ...........................................................................................................................................  6  

Ağ  İletişimi  ...............................................................................................................................................  9  

Business  Analytics  .................................................................................................................................  12  

Messaging  .............................................................................................................................................  14  

Caching  ..................................................................................................................................................  16  

Kimlik  .....................................................................................................................................................  18  

Yüksek  Performanslı  Bilişim  ..................................................................................................................  19  

Medya  ...................................................................................................................................................  20  

Ticaret  ...................................................................................................................................................  22  

SDK'lar  ...................................................................................................................................................  23  

Başlama  .................................................................................................................................................  24  

   

Page 3: Windows Azure ile Bulut Bilişime Giriş

2

Windows  Azure'un  Bileşenleri  

Windows  Azure'un  neler  yapabileceğini  anlamak  için  hizmetlerini  kategorilere  ayırmak  yararlı  olacak.  Şekil  1'de  bu  gösteriliyor.  

 

Şekil  1:  Windows  Azure,  Microsoft  veri  merkezleri  üzerinde  çalışan,  internet  üzerinden  erişilebilir  uygulama  hizmetleri  sunmaktadır.  

Windows  Azure'a  başlangıç  yapmak  için  bileşenleri  hakkında  en  azından  temel  bilgilere  sahip  olmanız  gerekir.  Bu  makalenin  geri  kalanında  şekilde  gösterilen  teknolojiler  hakkında  bilgiler  sunulacak  ve  her  birinin  neler  sunduğu  ve  ne  zaman  kullanabileceğiniz  anlatılacaktır.  

   

Page 4: Windows Azure ile Bulut Bilişime Giriş

3

Çalıştırma  Modelleri    

Bir  bulut  platformunun  gerçekleştirdiği  en  temel  işlerden  birisi  uygulamaları  çalıştırmaktır.  Windows  Azure  bunu  yapmak  için  üç  seçenek  sunuyor.  Bu  seçenekler  Şekil  2'de  gösterilmektedir.  

 

Şekil  2:  Windows  Azure  Hizmet  olarak  Altyapı  (IaaS),  internette  barındırma  ve  Hizmet  olarak  Platform  (PaaS)  sunmaktadır.    

Bu  üç  yaklaşımdan  (sanal  makineler,  internet  siteleri  ve  bulut  hizmetleri)  her  biri  ayrı  ayrı  kullanılabilir.  Ayrıca  bu  yaklaşımlardan  ikisi  veya  daha  fazlasını  birlikte  kullanabilecek  bir  uygulama  da  hazırlayabilirsiniz.    

Virtual  Machines  

İster  standart  ister  sizin  sunacağınız  bir  imaj  ile  talep  tabanlı  sanal  makine  oluşturma  yeteneği  çok  yararlı  olabilir.  Bu  sanal  makinenin  saat  başı  ücretlendirilebilmesi  ise  daha  da  yararlıdır.  Windows  Azure  Virtual  Machines  de  genelde  Hizmet  olarak  Altyapı  (IaaS)  olarak  tanımlanan  bu  yaklaşımı  size  sunar.  

Bir  VM  (Sanal  Makine)  oluşturabilmek  için  hangi  VHD'nin  kullanılacağı  ve  VM  boyutlarını  belirtmeniz  gerekir.  Bunun  ardından  VM'in  çalıştığı  her  saat  için  ücret  ödersiniz.  Şekil  2'de  de  gösterildiği  gibi  Windows  Azure  Virtual  Machines  standart  VHD'lerden  oluşan  bir  galeri  sunmaktadır.  Bunlar  içerisinde  Windows  Server  2008  R2,  Windows  Server  2012  ve  SQL  Server  ile  Windows  Server  2008  R2  gibi  Microsoft  tarafından  sunulan  seçenekler  ve  ayrıca  Microsoft  iş  ortakları  tarafından  sunulan  Linux  imajları  yer  alır.  Ayrıca  kendi  VHD'lerinizden  de  VM'ler  yükleme  ve  oluşturma  imkânına  sahip  olursunuz.  

İmaj  nereden  gelirse  gelsin  bir  VM  çalışırken  yapılan  değişiklikleri  kalıcı  bir  şekilde  kaydedebilirsiniz.  Aynı  VHD'den  bir  daha  bir  VM  oluşturduğunuzda  kaldığınız  yerden  de  devam  edebilirsiniz.  Ayrıca  değiştirilen  VHD'yi  Windows  Azure  dışına  kopyalamak  ve  yerelde  çalıştırmak  mümkündür.  

Page 5: Windows Azure ile Bulut Bilişime Giriş

4

Windows  Azure  VM'leri  çok  farklı  şekillerde  kullanılabilir.  Pahalı  olmayan  bir  geliştirme  ve  test  platformu  oluşturmak  ve  kullanmayı  bitirdiğinizde  de  kapatmak  için  kullanabilirsiniz.  Aynı  zamanda  istediğiniz  dilleri  ve  kütüphaneleri  kullanan  uygulamaları  oluşturmak  ve  çalıştırmak  da  mümkündür.  Bu  uygulamalar  Windows  Azure  tarafından  sağlanan  her  türlü  veri  yönetimi  seçeneğini  kullanabilmektedir.  Ayrıca  bir  veya  daha  fazla  makine  üzerinde  çalıştırabileceğiniz  SQL  Server  veya  diğer  DBMS'yi  kullanmayı  da  seçebilirsiniz.  Diğer  seçenek  ise  Windows  Azure'u  SharePoint  veya  diğer  uygulamaları  çalıştıran  kurum  içi  veri  merkezinizin  bir  uzantısı  olarak  kullanmaktır.  Bunun  için  Windows  Azure  VM'leri  içerisinde  Active  Directory'yi  çalıştırarak  bulut  üzerinde  Windows  etki  alanları  yaratmak  mümkündür.  Bulut  bilişim  için  bu  genel  yaklaşım  pek  çok  farklı  problemi  çözmek  amacıyla  kullanılabilir.  Hangisini  seçeceğiniz  size  bağlı.  

Web  Sites  

İnsanların  bulutta  yaptığı  en  genel  işlerden  birisi  internet  siteleri  ve  uygulamalarını  çalıştırmaktır.  Windows  Azure  Virtual  Machines  bu  iş  için  kullanılabilir  fakat  bir  veya  birden  çok  VM'in  yönetim  sorumluluğu  yine  sizdedir.  Peki  yönetim  işlerinin  bir  başkası  tarafından  sizin  adınıza  yapıldığı  bir  internet  sitesi  istiyorsanız  ne  olacak?  

Windows  Azure  Web  Sites  sizin  için  tam  da  bu  imkânı  sunuyor.  Internet  Information  Services'ın  (IIS)  kullanıldığı  bu  modelde  yönetilen  bir  internet  ortamı  sunulur.  Mevut  bir  IIS  internet  sitesini  Windows  Azure  Web  Sites  üzerine  değiştirmeden  taşıyabilir  veya  bir  yenisini  direkt  bulut  üzerinde  oluşturabilirsiniz.  Bir  internet  sitesi  çalıştığında  örnekleri  dinamik  olarak  ekleyebilir  veya  kaldırabilir  ve  bu  sırada  taleplerle  ilişkili  yüklerin  dengelenmesi  işini  Web  Sites'a  bırakabilirsiniz.  Şekil  2'de  de  gösterildiği  gibi  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  VM'inin  içerisinde  çalıştırılabildiği  bir  seçenekle  sunuluyor.  

Windows  Azure  Web  Sites  hem  geliştiriciler  hem  de  internet  tasarımı  işi  yapan  ajanslara  yarar  sağlaması  amaçlanmıştır.  Geliştirme  açısından,  ilişkisel  depolama  için  SQL  Database  ve  (bir  Microsoft  ortağı  olan  ClearDB  ile)  MySQL'e  ilave  olarak  .NET,  PHP  ve  Node.js,  desteği  sunuyor.  Ayrıca  WordPress,  Joomla  ve  Drupal  de  dahil  olmak  üzere  çeşitli  popüler  uygulamalara  dahili  destek  de  mevcut.  Amaç  internet  sitelerinin  ve  uygulamalarının  genel  bulut  üzerinde  oluşturulması  için  düşük  maliyetli,  ölçeklendirilebilir  ve  büyük  ölçüde  yararlı  bir  platform  sunmaktır.    

Cloud  Services    

Diyelim  ki  çok  sayıda  eş  zamanlı  kullanıcıyı  desteklemesi  gereken,  çok  fazla  yönetim  işi  gerektirmeyen  ve  hiç  bir  zaman  çökmeyen  bir  bulut  uygulaması  hazırlamak  istiyorsunuz.  Mesela,  mevcut  yazılımlarınızdan  birisinin  bulut  sürümünü  geliştirerek  Hizmet  Olarak  Yazılımdan  (SaaS)  yararlanmaya  karar  vermiş  tecrübeli  bir  yazılım  satıcısı  olabilirsiniz  Veya  hızla  büyüyeceğini  düşündüğünüz  bir  tüketici  uygulaması  oluşturmaya  başlıyor  olabilirsiniz.  Yazılımınızı  Windows  Azure  üzerinde  oluşturuyorsanız  hangi  modeli  kullanmanız  gerek?  

Page 6: Windows Azure ile Bulut Bilişime Giriş

5

Windows  Azure  Web  Sites  bu  tür  bir  internet  uygulamasının  hazırlanmasına  izin  verir  fakat  bazı  kısıtlamalar  bulunur.  Örneğin  yönetici  erişimine  sahip  olmazsınız  yani  isteğe  göre  yazılımlar  yükleyemezsiniz.  Windows  Azure  Virtual  Machines,  yönetici  erişimi  dahil  olmak  üzere  size  çok  fazla  esneklik  sunar  ve  yüksek  derecede  ölçeklendirilebilir  bir  uygulama  oluşturmak  için  kullanabilirsiniz.  Fakat  güvenirlik  ve  yönetim  ile  ilişkili  birçok  işi  de  kendi  kendinize  yapmanız  gerekir.  İhtiyacınız  olan  ise  sahip  olan  kontrolü  size  sunabilecek  ve  aynı  zamanda  güvenirlik  ve  yönetim  alanında  gereken  işlerin  çoğunu  yerine  getirebilecek  bir  seçenektir.  

Windows  Azure  Cloud  Services  tarafından  sunulan  da  tam  olarak  budur.  Bu  teknoloji  ölçeklendirilebilir,  güvenilir  ve  düşük  seviyede  yönetim  gerektiren  uygulamaları  destekleyecek  şekilde  tasarlanmıştır  ve  Hizmet  olarak  Platform  (PaaS)  olarak  adlandırılan  çözümün  bir  örneğidir.  Kullanmak  için  C#,  Java,  PHP,  Python,  Node.js,  veya  istediğiniz  başka  bir  teknolojiyi  kullanan  bir  uygulama  hazırlamanız  gerekir.  Ardından  hazırladığınız  kod  Windows  Server'ın  bir  sürümünü  kullanan  sanal  makinelerde  çalıştırılır  ("örnek"  olarak  adlandırılmaktadır).  

Fakat  bu  VM'ler  Windows  Azure  Virtual  Machines  ile  oluşturduklarınızdan  farklıdır.  Birincisi  bu  kodlar  Windows  Azure  tarafından  yönetilir  ve  işletim  sistemi  yamalarının  kurulumu  ve  yeni  güncellenmiş  imajlara  otomatik  geçiş  gibi  işlemler  Windows  Azure  tarafından  yerine  getirilir.  (Bu  sebepten  dolayı  uygulamanız  internet  veya  çalışan  rolü  örneklerinde  kalmamalı  bir  sonraki  bölümde  anlatılan  bir  Windows  Azure  veri  yönetimi  seçeneklerinin  birisi  içerisinde  yer  almalıdır).  Windows  Azure  VM'leri  izler  ve  hata  verenleri  yeniden  başlatır.  

Şekil  2'de  de  gösterildiği  gibi  bir  örnek  oluşturduğunuzda  seçebileceğiniz  iki  rol  bulunmaktadır  ve  her  ikisi  de  Windows  Server  tabanlıdır.  İkisi  arasındaki  temel  fark  bir  internet  rolünün  IIS  çalıştırması  ve  çalışan  rolünün  bunu  kullanmamasıdır.  İkisi  de  aynı  şekilde  yönetilir  fakat  bir  uygulamanın  her  ikisini  de  kullanması  genel  olarak  karşılaşılan  bir  durumdur.  Örneğin  bir  internet  rolü  örneği,  kullanıcılardan  talepler  kabul  edebilir  ve  bunları  işlenmek  üzere  çalışan  rol  örneğine  aktarır.  Uygulamanızı  ölçeklendirmek  için  Windows  Azure'un  herhangi  bir  rolde  daha  fazla  örnek  oluşturmasını  veya  mevcut  örnekleri  kapatmasını  talep  edebilirsiniz.  Windows  Azure  Virtual  Machines'de  olduğu  gibi  her  bir  internet  ve  çalışan  rolü  örneği  için  saat  başına  ücretlendirilirsiniz.  

Windows  Azure'un  üç  çalıştırma  modelinden  her  birinin  oynayacağı  ayrı  bir  rol  vardır.  Windows  Azure  Virtual  Machines  genel  amaçlı  bir  bilişim  ortamı  sunmaktadır.  Windows  Azure  Web  Sites  düşük  maliyetli  internet  barındırma  çözümü  sunmaktadır  ve  Windows  Azure  Cloud  Services  düşük  yönetim  maliyetleri  sunan  ölçeklendirilebilir  ve  güvenilir  uygulamaların  oluşturulması  için  en  iyi  seçenektir.  Daha  önce  de  belirtildiği  gibi  bu  teknolojileri  birbirinden  ayrı  olarak  kullanabilir  veya  ihtiyaca  göre  birlikte  kullanarak  uygulamanız  için  doğru  altyapıyı  oluşturabilirsiniz.  Kullanacağınız  yaklaşım  çözmeniz  gereken  sorunlara  bağlıdır.  

   

Page 7: Windows Azure ile Bulut Bilişime Giriş

6

Veri  Yönetimi  

Uygulamalar  veriye  ihtiyaç  duyar  ve  farklı  türde  uygulamalar  farklı  türde  veri  gerektirir.  Bu  yüzden  Windows  Azure  verilerin  depolanması  ve  yönetilmesine  yönelik  farklı  yöntemlere  sahiptir.    

Bunlardan  birisi  yukarıda  açıklanmıştı:  Windows  Azure  Virtual  Machines  ile  oluşturulan  bir  VM  içerisinde  SQL  Server  veya  diğer  bir  DBMS'nin  çalıştırılması.  (Bu  seçeneğin  ilgili  sitelerle  sınırlı  olmadığını  bilmek  önemlidir;  MongoDB  ve  Cassandra  gibi  NoSQL  teknolojilerini  de  kullanabilirsiniz).  Kendi  veri  tabanı  sisteminizi  çalıştırmak  son  derece  kolaydır  (kendi  veri  merkezlerinizin  yerine  geçer)  fakat  DBMS'nin  yönetimini  yapmanız  gerekir.  Bunu  daha  da  kolay  bir  hale  getirmek  için  Windows  Azure  yönetim  işinin  büyük  ölçüde  sizin  adınıza  yapıldığı  üç  farklı  veri  yönetimi  seçeneği  sunar.  Şekil  3'te  bu  seçenekler  gösterilmektedir.  

 

 

 

Şekil  3:  Windows  Azure  veri  yönetimi  için  ilişkisel  depolama,  ölçeklendirilebilir  NoSQL  tabloları  ve  yapılandırılmamış  ikili  depolama  sunar.  

Bu  üç  seçenekten  her  biri  farklı  bir  ihtiyacı  karşılar:  ilişkisel  depolama,  potansiyel  olarak  büyük  miktarlarda  basit  olarak  yazılmış  verilere  hızlı  erişim  ve  yapılandırılmamış  ikili  depolama.  Üç  durumda  da  veriler,  yüksek  kullanılabilirlik  sağlamak  için  otomatik  olarak  Windows  Azure  veri  merkezinde  yer  alan  üç  farklı  bilgisayarda  çoğaltılır.  Üç  seçenekten  her  birinin  Windows  Azure  uygulamaları  tarafından  veya  kurum  içi  veri  merkeziniz,  dizüstü  bilgisayarınız  veya  telefonunuz  gibi  başka  yerlerde  çalışan  uygulamalar  tarafından  erişilebilir  olduğunu  belirtmekte  fayda  vardır.  Ve  nasıl  uygularsanız  uygulayın  Windows  Azure  veri  yönetimi  hizmetlerine  kullanıma  göre  ücret  ödersiniz.  Ödeyeceğiniz  ücrette  depolanan  veriler  için  gigabayt  başına  aylık  ödeme  de  bulunur.  

SQL  Database  

Windows  Azure  ilişkisel  depolama  için  SQL  Database'i  sağlar.  Eski  adı  SQL  Azure  olan  SQL  Database  bir  ilişkisel  veri  tabanı  yönetim  sistemi  için  gereken  tüm  önemli  özellikleri  sunar.  Buna  atomik  işlemler,  verilere  birden  çok  kullanıcı  tarafından  eş  zamanlı  erişim  ve  veri  bütünlüğü,  ANSI  SQL  sorguları  ve  bilinen  bir  programlama  aracı  da  dahildir.  SQL  Server  gibi,  

Page 8: Windows Azure ile Bulut Bilişime Giriş

7

SQL  Database'e  de  Entity  Framework,  ADO.NET,  JDBC  ve  diğer  bilinen  veri  erişimi  teknolojileri  ile  erişilebilir.  Ayrıca  T-­‐SQL  dilinin  büyük  bir  kısmı  ve  SQL  Server  Management  Studio  gibi  SQL  Server  araçları  da  desteklenir.  SQL  Server  (veya  bir  başka  ilişkisel  veri  tabanı)  kullanımını  bilen  herhangi  birisi  için  SQL  Database'in  de  kullanımı  basittir.  

Fakat  SQL  Database  sadece  bulut  içerisindeki  bir  DBMS  değil  bir  PaaS  hizmetidir.  Halen  daha  verilerinizi  ve  verilerinize  kimin  eriştiğini  siz  kontrol  edersiniz  fakat  SQL  Database,  donanım  altyapısını  yönetmek  ve  veri  tabanını  ve  işletim  sistemini  güncel  tutmak  gibi  yönetim  işlerinin  büyük  kısmını  sizin  adınıza  yapar.  SQL  Database  ayrıca  verileri  birden  çok  sunucuya  dağıtan  federasyon  seçeneği  de  sunmaktadır.  Bu  seçenek  çok  büyük  verilerle  çalışan  veya  daha  iyi  performans  için  veriye  erişim  taleplerini  birden  çok  sunucu  arasında  dağıtması  gereken  uygulamalar  için  yararlıdır.  

Üç  çalıştırma  modelinden  birisini  kullanarak  Bir  Windows  Azure  uygulaması  oluşturuyorsanız  ve  oluşturduğunuz  uygulama  ilişkisel  depolama  gerektiriyorsa  SQL  Database  iyi  bir  seçenek  olabilir.  Bulut  dışında  çalışan  uygulamalar  da  bu  hizmeti  kullanabilir  fakat  bu  konuyla  ilişkili  daha  birçok  senaryo  vardır.  Örneğin  SQL  Database  üzerinde  saklanan  verilere  masaüstü,  dizüstü,  tablet  bilgisayarlar  ve  telefon  gibi  farklı  istemci  sistemlerinden  erişilebilir.  Çoğaltma  sayesinde  dahili  olarak  yüksek  kullanılabilirlik  sağladığı  için  SQL  Database  aksama  sürelerini  azaltmaya  da  yardımcı  olur.  

Tables  

Diyelim  ki,  yazılı  verilere  hızlı  erişim  gerektiren  bir  Windows  Azure  uygulaması  oluşturmak  istiyorsunuz  ve  diyelim  ki  bu  veriler  büyük  boyutlarda  fakat  bu  veriler  üzerinde  karmaşık  SQL  sorgularının  yapılması  gerekmiyor.  Örneğin  her  bir  kullanıcının  müşteri  profili  bilgilerini  saklayacak  bir  tüketici  uygulaması  hazırladığınızı  varsayalım.  Uygulamanız  çok  popüler  olacak  bu  yüzden  büyük  ölçekte  veriye  izin  vermeniz  gerekecek  fakat  bu  veriler  saklamakta  ve  basit  yöntemlerle  geri  çağırtmaktan  daha  fazla  bir  şey  yapmayacaksınız.  Bu  da  tam  Windows  Azure  Tables'ın  kullanılabileceği  bir  alandır.  

İsmi  sizi  şaşırtmasın  bu  teknoloji  ilişkisel  depolama  sunmuyor.  (aslında  anahtar/değer  depolama  olarak  adlandırılan  bir  NoSQL  yaklaşımı).  Buna  karşın  Windows  Azure  Tables,  dize,  bilgi  ve  tarihler  gibi  bir  uygulamanın  çeşitli  türlerdeki  özellikleri  saklamasına  izin  veriyor.  Uygulama  da  grupla  ilişkili  özgün  bir  anahtar  sunarak  o  grubun  özelliklerini  elde  edebiliyor.  Birleştirme  gibi  karmaşık  işlemler  desteklenmese  de  tablolar  yazılı  verilere  hızlı  erişim  sağlıyor.  Aynı  zamanda  son  derece  ölçeklendirilebilirdir  ve  tek  bir  tablo  bir  terabayt  kadar  veriyi  tutabiliyor.  Basitliğine  ilave  olarak  tabloların  kullanımı  SQL  Database'in  ilişkisel  depolamasını  kullanmaktan  daha  da  ucuz.  

Bloblar  

Veri  yönetimi  için  üçüncü  seçenek  yapılandırılmamış  ikili  verilerin  depolanması  için  tasarlanmış  olan  Windows  Azure  Blobs'tur.  Tables  gibi  Blobs  da  pahalı  olmayan  depolama  sağlar  ve  tek  bir  blob  bir  terabayt  büyüklüğünde  olabilir.  Örneğin  videolar  veya  yedekleme  

Page 9: Windows Azure ile Bulut Bilişime Giriş

8

verileri  veya  diğer  ikili  bilgileri  saklayan  bir  uygulama  basit  ve  ucuz  depolama  için  Blobs'u  kullanabilir.  Windows  Azure  uygulamaları  ayrıca  Windows  Azure  sürücülerini  de  kullanabilir  ve  bu  sayede  Blobs  bir  Windows  Azure  örneği  üzerine  takılmış  olan  Windows  dosya  sistemi  için  kalıcı  depolama  sağlar.  Uygulama  sıradan  Windows  belgelerini  görür  fakat  içerikleri  gerçekte  bir  blob  içerisinde  saklanır.  

   

Page 10: Windows Azure ile Bulut Bilişime Giriş

9

Ağ  İletişimi  

Windows  Azure  bugün  ABD,  Avrupa  ve  Asya'da  bulunan  çeşitli  veri  merkezlerinde  çalışıyor.  Bir  uygulama  çalıştırdığınızda  veya  veri  depoladığınızda  kullanmak  istediğiniz  bir  veya  daha  çok  veri  merkezini  seçebiliyorsunuz.  Bu  veri  merkezlerine  çeşitli  yollardan  da  bağlanabilirsiniz:    

• Kendi  kurum  içi  yerel  ağınızı  belirli  Windows  Azure  VM'lerine  bağlamak  için  Windows  Azure  Virtual  Network'ü  kullanabilirsiniz.  

• Bir  veya  daha  çok  Windows  sunucusunu  belli  bir  Windows  Azure  uygulamasına  bağlamak  için  Windows  Azure  Connect'ten  yararlanabilirsiniz.    

• Windows  Azure  uygulamanız  birden  çok  veri  merkezinde  çalışıyorsa  kullanıcılardan  gelen  talepleri  akıllı  bir  şekilde  uygulamanın  örnekleri  arasında  yönlendirmek  için  Windows  Azure  Traffic  Manager'ı  kullanabilirsiniz.  

Şekil  4'te  bu  üç  seçenek  gösterilmektedir.  

 

Şekil  4:  Windows  Azure  bir  bulut  VPN’nin  oluşturulmasına,  bir  Windows  Azure  uygulamasının  kurum  içi  makinelere  bağlanmasına  ve  kullanıcı  taleplerinin  akıllı  bir  şekilde  farklı  veri  merkezleri  arasında  

dağıtılmasına  imkân  sağlar.      

Page 11: Windows Azure ile Bulut Bilişime Giriş

10

Sanal  Ağ  

Genel  bulutun  kullanımındaki  yararlı  bir  yöntem  genel  bulutu  kendi  veri  merkezinizin  bir  uzantısı  olarak  görmektir.  Çünkü  VM'leri  talep  temelli  oluşturabilir  ve  ardından  gerek  kalmadığında  kaldırabilir  (ve  ücret  ödemeyi  durdurabilir)  ve  sadece  ihtiyacınız  olduğunda  gereken  bilişim  gücünden  yararlanabilirsiniz.  Windows  Azure  Virtual  Machines,  SharePoint,  Active  Directory  ve  diğer  bilinen  kurum  içi  yazılımlarla  çalışan  VM'ler  oluşturmanıza  izin  verdiği  için  bu  yaklaşım  zaten  sahip  olduğunuz  uygulamalarla  da  çalışır.  

Bunu  daha  da  yararlı  bir  hale  getirmek  için  kullanıcılarınızın  bu  uygulamaları  sanki  kendi  veri  merkezinizde  çalışıyormuşçasına  kullanması  gerekir.  Windows  Azure  Virtual  Networks'ün  yaptığı  tam  da  budur.  Bir  VPN  ağ  geçidi  aygıtı  kullanan  bir  yönetici,  yerel  ağınız  ve  Windows  Azure  üzerinde  çalışan  belirli  bir  grup  VM  arasında  bir  sanal  özel  ağ  (VPN)  oluşturabilir.  Bulut  VM'lerine  kendi  IP  v4  adreslerinizi  atayacağınız  için  kendi  ağınız  üzerinde  görüneceklerdir.  Bu  sayede  işletmenizdeki  kullanıcılar  VM'ler  içerisindeki  bu  uygulamalara  yerelde  çalışıyormuşçasına  erişecektir.  

Connect  

Yerel  ağınız  ve  bulut  üzerinde  yer  alan  bir  dizi  VM  arasında  bir  VPN  oluşturmak  yararlıdır  fakat  aynı  zamanda  VPN  ağ  geçidi  donanımı  ve  bir  ağ  yöneticisinin  hizmetlerine  ihtiyaç  duyar.  Diyelim  ki  siz  tek  bir  Windows  Azure  uygulamasını  işletmeniz  içerisinde  çalışan  belirli  bir  grup  Windows  makinesine  bağlamak  istiyorsunuz.  Örneğin  bu  sunuculardan  birisi  üzerindeki  bir  veri  tabanına  erişmesi  gereken  bir  Bulut  Hizmetleri  uygulaması  oluşturmuş  ve  bir  VPN  ağ  geçidi  yapılandırması  işi  içerisine  girmek  istemiyor  olabilirsiniz.  

Windows  Azure  Connect  bu  gibi  durumlar  için  tasarlanmıştır.  Connect,  bir  Windows  Azure  uygulaması  ve  Windows  çalıştıran  bir  grup  bilgisayar  arasında  güvenli  bir  bağlantı  kurmak  için  basit  bir  yol  sunar.  Geliştirici  sadece  Connect  yazılımını  kurum  içi  bilgisayarlara  kurar  (ve  bu  durumda  bir  ağ  yöneticisine  ihtiyaç  kalmaz)  ve  Windows  Azure  uygulamasını  yapılandırır.  Bu  işlem  tamamlandıktan  sonra  uygulama  sanki  aynı  ağ  üzerindeymiş  gibi  kurum  içerisindeki  bilgisayarlarla  iletişime  geçebilir.  

Traffic  Manager  

Dünyanın  bir  yerinde  bulunan  kullanıcılara  sahip  bir  Windows  Azure  uygulaması  sadece  tek  bir  Windows  Azure  veri  merkezinde  çalışabilir.  Dünyanın  farklı  yerlerine  dağılmış  olan  kullanıcılara  sahip  bir  uygulamanın  birden  çok  veri  merkezinde  ve  hatta  hepsinde  birden  çalışması  daha  yüksek  bir  olasılıktır.  İkinci  durumda  bir  sorunla  karşı  karşıya  kalırsınız:  Kullanıcıları  nasıl  akıllı  bir  şekilde  uygulama  örneklerine  atayacaksınız?  Çoğu  zaman  her  bir  kullanıcının  kendisine  en  yakın  olan  veri  merkezine  erişmesini  istersiniz,  çünkü  en  yakın  veri  merkezine  erişim  en  iyi  tepki  süresini  verecektir.  Fakat  ilgili  uygulama  örneği  aşırı  olarak  kullanılıyorsa  veya  kullanılamaz  haldeyse  ne  olacak?  Bu  durumda  kullanıcının  talebini  otomatik  olarak  bir  başka  veri  merkezine  yönlendirmek  yararlı  olur.  Windows  Azure  Traffic  Manager'ın  yaptığı  da  tam  olarak  budur.  

Page 12: Windows Azure ile Bulut Bilişime Giriş

11

Uygulamanın  sahibi  kullanıcı  taleplerinin  veri  merkezlerine  nasıl  yönlendirileceği  konusundaki  kuralları  belirler  ve  ardından  Traffic  Manager  bu  kuralları  uygular.  Örneğin  kullanıcılar  en  yakın  Windows  Azure  veri  merkezine  yönlendirilebilir  fakat  varsayılan  veri  merkezinin  tepki  süresi  belirlenmiş  bir  eşiğin  altında  kaldığında  bir  başka  veri  merkezine  yönlendirilir.  Küresel  olarak  dağıtılmış  ve  çok  sayıda  kullanıcıya  sahip  uygulamalarda  bu  gibi  sorunların  çözülmesi  için  dahili  bir  hizmete  sahip  olmak  yararlıdır.  

   

Page 13: Windows Azure ile Bulut Bilişime Giriş

12

Business  Analytics  

Veri  analizi  işletmelerin  bilgi  teknolojilerini  kullanırken  yararlandığı  temel  bir  konudur.  Bir  bulut  platformu  talep  temelli,  kullanıma  bağlı  olarak  ücretlendirilen  kaynaklar  sunar  ve  bu  tür  bir  bilişim  yöntemi  için  iyi  bir  altyapı  oluşturur.  Buna  uygun  olarak  Windows  Azure  işletme  analizine  yönelik  iki  seçenek  sunar.  Şekil  5'te  bu  seçenekler  gösterilmektedir.  

 

Şekil  5:  Windows  Azure  iş  analizi  için  raporlama  ve  büyük  veri  desteği  sağlar.  

Veri  analizi  birçok  şekilde  yapılabilir  bu  yüzden  de  bu  iki  seçenek  birbirinden  çok  farklıdır.  Seçenekleri  ayrı  ayrı  incelemek  yararlı  olacaktır.  

SQL  Reporting  

Depolanan  verilerin  kullanımına  ilişkin  en  sık  yararlanılan  yöntemlerden  birisi  veriye  dayanarak  raporların  oluşturulmasıdır.  Windows  Azure,  SQL  Database  içerisindeki  verilerle  bunu  gerçekleştirebilmek  için  SQL  Reporting  çözümünü  sunuyor.  SQL  Server  içerisinde  bir  dizi  raporlama  hizmeti  yer  alıyor  ve  SQL  Reporting  kurum  içerisinde  veya  Windows  Azure  üzerinde  çalışan  uygulamalar  içerisine  raporlama  özelliğini  eklemenize  izin  veriyor.  Oluşturacağınız  raporlar  HTML,  XML,  PDF,  Excel  ve  daha  başka  formatlarda  hazırlanabiliyor  ve  isterseniz  uygulamaların  içerisine  gömmek  veya  bir  internet  tarayıcısı  ile  incelemek  mümkün  oluyor.  

SQL  Database  ile  analiz  işlemlerindeki  bir  diğer  seçenek  kurum  içerisindeki  iş  zekası  araçlarını  kullanmaktır.  Bir  istemci  için  SQL  Database,  SQL  Server  gibi  görünür  ve  bu  sayede  aynı  teknolojiler  ikisinde  de  çalışabilir.  Örneğin  SQL  Database  verileri  ile  raporlar  oluşturmak  için  kurum  içi  SQL  Server  Reporting  Services'tan  faydalanabilirsiniz.  

Hadoop  

Uzun  yıllar  boyunca  veri  analizi  işlemlerinin  büyük  çoğunluğu  ilişkisel  bir  DBMS  ile  hazırlanan  veri  ambarlarında  saklanan  ilişkisel  veriler  üzerinde  yapıldı.  Bu  tür  veri  analizi  halen  daha  önemli  ve  önemini  uzun  süre  daha  sürdürecek.  Fakat  analiz  etmek  istediğiniz  veri  büyüklüğü  ilişkisel  veri  tabanlarının  kullanamayacağı  kadar  büyük  olursa  ne  olacak?  Ve  hatta  veri  ilişkisel  değilse  ne  olur?  Örneğin  sunucular  bir  veri  merkezine  veya  sensörlerden  gelen  geçmiş  etkinlik  verilerine  veya  başka  bir  alana  bağlanabilir.  Bu  gibi  durumlarda  büyük  veri  problemi  olarak  adlandırılan  bir  durum  oluşur.  Ve  farklı  bir  yaklaşım  kullanmanız  gerekir.  

Page 14: Windows Azure ile Bulut Bilişime Giriş

13

Büyük  verilerin  analizi  için  bugün  elimizde  olan  ana  teknoloji  Hadoop'tur.  Açık  kaynaklı  bir  Apache  projesi  olan  bu  teknoloji  verileri  Hadoop  Dağıtılmış  Dosya  Sistemi  (HDFS)  ile  saklar  ve  ardından  geliştiricilerin  veriyi  analiz  etmesi  için  MapReduce  işlemleri  oluşturmasına  izin  verir.  HDFS  birden  çok  sunucuya  yayılır  ve  ardından  her  birinde  MapReduce  işlemlerini  çalıştırır  ve  büyük  verinin  paralel  olarak  işlenmesini  sağlar.  

Şekil  5'te  de  gösterildiği  gibi  Windows  Azure  için  Apache  Hadoop  tabanlı  hizmet  HDFS'nin  verileri  birden  çok  sanal  makineye  dağıtmasını  ve  ardından  bir  MapReduce  işinin  mantığını  o  VM'lere  yaymasını  sağlıyor.  

Kurum  içi  Hadoop  gibi  veri  yerelde  (mantık  ve  üzerinde  çalıştığı  veri  aynı  VM  üzerinde  yer  alıyor)  ve  daha  yüksek  performans  için  paralel  olarak  işleniyor.  Windows  Azure  için  Apache  Hadoop  tabanlı  hizmet  teknolojisinin  diğer  bileşenlerini  de  destekliyor  buna  Hive  and  Pig  de  dahil.  Microsoft  ise  Hive  sorgularının  oluşturulması  için  bir  Excel  eklentisi  hazırladı.  

   

Page 15: Windows Azure ile Bulut Bilişime Giriş

14

Messaging  

Ne  yapıyor  olursa  olsun  kodların  diğer  kodlarla  etkileşime  girmesi  gerekir.  Bazı  durumlarda  ise  ihtiyaç  duyulan  tüm  iş  temel  sıralı  mesajlaşmadır.  Diğer  durumda  ise  daha  karmaşık  bir  etkileşim  gerekir.  Windows  Azure  bu  sorunları  çözmek  için  birbirinden  farklı  yöntemler  sunar.  Şekil  6'sa  bu  seçenekler  gösterilmektedir.  

 

Şekil  6:  Windows  Azure  uygulamaların  birbirine  bağlanması  için  bulut  üzerinden  sorgular,  yayınlama  /  abonelik  ve  senkronize  bağlantılar  sunar.  

Queues  

Sorgu  basit  bir  konudur:  Bir  uygulama  sıraya  bir  mesaj  bırakır  ve  bu  mesaj  zamanı  geldiğinde  bir  başka  uygulama  tarafından  okunur.  Uygulamanızın  ihtiyacı  olan  basit  bir  hizmetse  Windows  Azure  Queues  sizin  için  en  iyi  seçenek  olabilir.  

Queues'in  bugünkü  genel  kullanımlarından  birisi  bir  internet  rolü  örneğinin  bir  çalışan  rolü  örneği  ile  aynı  Bulut  Hizmetleri  uygulaması  içerisinde  iletişime  geçmesine  izin  vermektir.  Örneğin  video  paylaşımı  için  bir  Windows  Azure  uygulaması  oluşturdunuz.  Uygulama  içerisinde,  kullanıcıların  videoları  yüklemesine  ve  izlemesine  imkân  tanıyan  bir  internet  rolü  PHP  kodlarından  oluşuyor  ve  aynı  zamanda  C#  ile  hazırlanmış  ve  yüklenen  videoları  farklı  formatlara  çeviren  bir  çalışan  rolü  kullanılıyor.  İnternet  rolü  örneği  bir  kullanıcıdan  yeni  bir  video  aldığında  videoyu  bir  blob  içerisine  kaydedebilir  ve  ardından  bir  sordu  içerisinden  çalışan  rolüne  bir  mesaj  göndererek  videonun  nerede  bulunduğunu  belirtir.  Bir  çalışan  örneği  (hangisi  olduğu  önemli  değildir)  ardından  sorgu  içerisindeki  bu  mesajı  okuyacak  ve  arka  planda  gereken  video  dönüşümünü  gerçekleştirecektir.  Bir  uygulamayı  bu  şekilde  yapılandırmak  asenkron  bir  işleme  izin  verir  ve  internet  rolü  örneklerinin  ve  çalışan  rolü  örneklerinin  sayısının  birbirinden  ayrı  olması  sayesinde  uygulamanın  ölçeklendirilmesini  kolaylaştırır.    

   

Page 16: Windows Azure ile Bulut Bilişime Giriş

15

Service  Bus  

İster  bulut  üzerinde  ister  veri  merkezinizde,  ister  mobil  bir  aygıt  veya  başka  bir  yerde  çalışıyor  olsun  uygulamaların  birbiriyle  etkileşimde  olması  gerekir.  Windows  Azure  Service  Bus'ın  amacı  çalışan  uygulamaların  neredeyse  her  yerde  veri  değişimi  yapabilmesidir.  

Şekil  6'da  da  gösterildiği  gibi  Service  Bus  bir  sorgu  hizmeti  sağlar.  Buna  karşın  sağlanan  hizmet  biraz  önce  tanımlanan  Queues  ile  tam  olarak  aynı  değildir.  Örneğin  Windows  Azure  Queues'den  farklı  olarak,  Service  Bus  bir  yayınlama  ve  abonelik  mekanizması  sunar  Bir  uygulama  bir  konu  ile  ilgili  mesajlar  gönderirken  diğer  uygulamalar  bu  konu  ile  ilgili  abonelikler  oluşturabilir.  Bu  sayede  bir  dizi  uygulama  arasında  çok  sayıda  iletişim  yaratılır  ve  aynı  mesajın  birden  çok  alıcı  tarafından  okunabilmesi  sağlanır.  Sorgu  ise  tek  seçenek  değildir:  Service  Bus  ayrıca  geçiş  hizmeti  üzerinden  direkt  iletişime  imkân  verir  ve  bu  sayede  güvenlik  duvarlarının  üzerinden  etkileşim  için  güvenli  bir  yol  sunar.  

Service  Bus  üzerinden  iletişim  kuran  uygulamalar  Windows  Azure  uygulamaları  olabileceği  gibi  diğer  bulut  platformları  üzerinde  çalışan  yazılımlar  da  olabilir.  Ayrıca  bulut  dışında  çalışan  uygulamalar  da  olabilir.  Örneğin  kendi  veri  merkezi  içerisindeki  bilgisayarlarda  rezervasyon  hizmetleri  kullanan  bir  havayolu  şirketi  düşünün.  Havayolu  şirketi  bu  hizmetleri  birçok  müşteriye  sunmak  zorundadır.  Bunlara  havaalanlarındaki  kiosklar,  rezervasyon  acentelerinin  terminalleri  ve  hatta  müşterilerin  telefonları  dahildir.  Bunu  gerçekleştirmek  çeşitli  uygulamalar  arasında  gevşek  bağlar  oluşturarak  Service  Bus'u  kullanabilir.  

   

Page 17: Windows Azure ile Bulut Bilişime Giriş

16

Caching  

Uygulamalar  aynı  veriye  sürekli  olarak  bağlanırlar.  Performansı  arttırmanın  bir  yolu  verilerin  bir  kopyasını  uygulamaya  yakın  tutmak  ve  bu  sayede  veriye  ulaşmak  için  gereken  süreyi  en  aza  indirmektir.  Windows  Azure  bunu  yapmak  için  iki  farklı  hizmet  sunar:  Windows  Azure  uygulamaları  tarafından  kullanılan  verilerin  bellek  içerisinde  ön  belleğe  alınması  ve  blob  verilerini  kullanıcılara  daha  yakın  olan  disklerde  ön  belleğe  alan  bir  içerik  dağıtım  ağı  (CDN).  Şekil  7'de  ikisi  de  gösterilmektedir.  

 

Şekil  7:  Bir  Windows  Azure  uygulaması  verileri  bellek  içerisinde  önbelleğe  alabilir  ve  blob  kopyaları  tüm  dünyada  çeşitli  alanlarda  önbelleğe  alınabilir.  

Caching  

Herhangi  bir  Windows  Azure  veri  yönetimi  hizmetlerinde  (SQL  Database,  Tables  veya  Blobs)  yer  alan  verilere  erişim  son  derece  hızlıdır.  Fakat  bellek  içerisinde  tutulan  verilere  erişim  daha  bile  hızlıdır.  Bundan  dolayı  sıklıkla  erişilen  verilerin  kopyalarını  bellek  içerisinde  tutmak  uygulama  performansını  arttırabilir.  Bunun  için  Windows  Azure’un  bellek  içerisinde  Caching  özelliğini  kullanabilirsiniz.  

Bir  Bulut  hizmetleri  uygulaması  verilerini  bu  önbellek  içerisinde  tutabilir  ve  ardından  kalıcı  depoya  erişme  gereği  olmadan  direkt  olarak  erişebilir.  Şekil  7'de  gösterildiği  gibi  önbellek  uygulamanızın  VM'lerinin  içerisinde  tutulabilir  veya  sadece  önbelleğe  alma  işine  atanmış  VM'ler  tarafından  sunulabilir.  İki  durumda  da  önbellek  içerisindeki  verilerle  birlikte  dağıtılabilir  ve  bir  Windows  Azure  veri  merkezi  içerisindeki  birden  çok  VM'lere  yayılabilir.  

Örneğin  bir  ürün  kataloğunu  sürekli  olarak  okuyan  bir  uygulamanın  ihtiyaç  duyduğu  veriler  daha  hızlı  bir  şekilde  kullanılabilir  hale  geleceğinden  bu  tür  bir  önbelleğe  alma  işleminden  

Page 18: Windows Azure ile Bulut Bilişime Giriş

17

yararlanabilir.  Bu  teknoloji  aynı  zamanda  kilitlemeyi  de  desteklemekte  ve  verilerin  okuma  /  yazma  veya  salt  okunur  olarak  kullanılmasına  izin  vermektedir.  Ve  ASP.NET  uygulamaları  oturum  verilerini  saklamak  için  tek  bir  yapılandırma  değişikliği  ile  bu  hizmetten  yararlanabilir.  

CDN  

Diyelim  ki  tüm  dünyadan  kullanıcıların  erişeceği  blob  verilerini  saklamanız  gerekiyor.  Mesela  saklanacak  olan  en  son  Dünya  Kupası  maçı  veya  sürücü  güncellemeleri  veya  popüler  bir  e-­‐kitap  olsun.  Verilerin  bir  kopyasını  birden  çok  Windows  Azure  veri  merkezinde  saklamak  uygun  olacaktır  fakat  kullanıcı  sayısı  çok  fazlaysa  bu  yeterli  olmayacaktır.  Daha  da  iyi  bir  performans  elde  etmek  için  Windows  Azure  CDN'den  yararlanabilirsiniz.  

CDN  tüm  dünyada  düzinelerce  alana  sahiptir  ve  her  biri  Windows  Azure  bloblarının  kopyalarını  saklayabilmektedir.  Dünyanın  bir  köşesindeki  bir  kullanıcının  belli  bir  bloba  ilk  kez  erişmesi  durumunda  içerisindeki  bilgiler  bir  Windows  Azure  veri  merkezinden  bölge  içerisindeki  yerel  bir  CDN  deposuna  kopyalanır.  Bunun  ardından  dünyanın  o  bölgesinden  yapılacak  erişimler  CDN  içerisinde  önbelleğe  alınmış  blob  kopyasını  kullanacaktır  ve  en  yakın  Windows  Azure  veri  merkezine  erişmek  zorunda  kalmayacaktır.  Bunun  sonucunda  dünyanın  herhangi  bir  yerindeki  kullanıcılar  tarafından  sıklıkla  erişilen  verilere  daha  hızlı  erişim  elde  edilir.  

   

Page 19: Windows Azure ile Bulut Bilişime Giriş

18

Kimlik  

Çoğu  uygulamanın  yaptığı  işler  arasında  kimlik  ile  çalışmak  yer  alır.  Örneğin  bir  kullanıcının  kim  olduğunu  bilmek  uygulamanın  o  kullanıcı  ile  nasıl  etkileşime  geçeceğine  karar  vermesine  imkân  verir.  Bunun  için  Microsoft,  Windows  Azure  Active  Directory'i  sunuyor.  

Çoğu  dizin  hizmeti  gibi  Windows  Azure  Active  Directory  kullanıcılar  ve  kullanıcıların  bağlı  oldukları  kuruluşlar  hakkında  bilgileri  saklamaktadır.  Kullanıcıların  bağlanmasına  izin  vermekte  ve  ardından  kimliklerini  kanıtlamak  için  uygulamalara  sunabilecekleri  belirteçler  sağlamaktadır.  Ayrıca  kullanıcı  bilgilerinin,  kurum  içerisindeki  yerel  ağınızda  çalışan  Windows  Server  Active  Directory  ile  eşitlenmesine  izin  vermektedir.  Windows  Azure  Active  Directory  tarafından  kullanılan  mekanizmalar  ve  veri  formatları  Windows  Server  Active  Directory  tarafından  kullanılanlarla  aynı  olmasa  da  yerine  getirdiği  fonksiyonlar  son  derece  benzerdir.  

Windows  Azure  Active  Directory'nin  temelde  bulut  uygulamaları  tarafından  kullanılacak  şekilde  tasarlanmış  olduğunu  anlamak  önemlidir.  Örneğin  Windows  Azure  veya  diğer  bulut  platformlarında  çalışan  uygulamalar  tarafından  kullanılabilir.  Ayrıca  Office  365'tekiler  gibi  Microsoft’un  kendi  bulut  uygulamalarında  da  kullanılabilir.  Fakat  Windows  Azure  Virtual  Machines  ve  Windows  Azure  Virtual  Network  ile  veri  merkezinizi  bulut  içerisine  genişletmek  istiyorsanız  Windows  Azure  Active  Directory  doğru  seçenek  değildir.  Bunun  yerine  daha  önce  anlatıldığı  gibi  bulut  VM'lerinde  Windows  Server  Active  Directory  kullanmanız  gerekir.  

Windows  Azure  Active  Directory,  uygulamaların  bilgilere  erişmesini  sağlamak  için  Windows  Azure  Active  Directory  Graph  adında  bir  RESTful  API  sağlar.  Bu  API  herhangi  bir  platformda  çalışan  uygulamaların  dizin  nesnelerine  ve  nesnelerin  birbiri  arasındaki  ilişkilerine  erişmesini  sağlar.  Örneğin  yetkini  bir  uygulama  bu  API'yi  kullanarak  bir  kullanıcı,  o  kullanıcının  dahil  olduğu  gruplar  ve  daha  başka  bilgiler  elde  eder.  Uygulamalar  aynı  zamanda  kullanıcılar  arasındaki  ilişkileri  (sosyal  grafik)  görebilir  ve  bu  sayede  insanların  birbiriyle  olan  ilişkileri  hakkında  daha  zeki  bir  şekilde  çalışabilir.  

Windows  Azure  Active  Directory  Access  Control  bir  uygulamanın  Facebook,  Google,  Windows  Live  ID  ve  diğer  popüler  kimlik  sağlayıcılarından  kimlik  bilgilerini  kabul  etmesini  kolaylaştırır.  Uygulamanın  farklı  veri  formatlarını  ve  bu  sağlayıcıların  her  birinin  kullandığı  protokolleri  anlamasını  gerektirmek  yerine  Access  Control  tümünü  tek  bir  ortak  formata  dönüştürür.  Aynı  zamanda  bir  uygulamanın  bir  veya  daha  fazla  Active  Directory  etki  alanından  girişleri  kabul  etmesini  sağlar.  Örneğin  bir  SaaS  uygulaması  sağlayan  bir  satıcı  her  bir  müşterisinde  bulunan  kullanıcılarına  tek  bir  giriş  gerektiren  bir  uygulama  sağlamak  için  Windows  Azure  Active  Directory  Access  Control'ü  kullanabilir.  

Dizin  hizmetleri  kurum  işi  bilişimin  temel  taşlarından  birisidir.  Bulut  içerisinde  önemli  olmaları  da  şaşırtıcı  değildir.  

   

Page 20: Windows Azure ile Bulut Bilişime Giriş

19

Yüksek  Performanslı  Bilişim  

Bir  bulut  platformunu  kullanmanın  en  çekici  yönlerinden  birisi  yüksek  performanslı  bilişim  (HPC)  gücüdür.  HPC'nin  temelinde  aynı  kodu  aynı  anda  birçok  makine  üzerinde  çalıştırabilmesi  yatmaktadır.  Windows  Azure  üzerinde  bunun  anlamı,  bazı  problemleri  çözmek  için  paralel  olarak  görev  alan  eş  zamanlı  çok  sayıda  sanal  makinenin  çalıştırılmasıdır.  Bunu  yapmak  için  bir  şekilde  uygulamaları  programlamak  gerekir,  yani  yapılacak  işi  bu  örnekler  arasında  dağıtmak  gerekir.  Windows  Azure  bunu  yapmak  için  HPC  Scheduler'ı  kullanır.  

Bu  bileşen,  sektör  standardı  Message  Passing  Interface'i  (MPI)  kullanmak  üzere  tasarlanmış  HPC  uygulamalarını  kullanabilmektedir.  Araba  çarpışma  simülasyonları  gibi  sınırlı  analiz  yapmayan  yazılımlar  bu  tür  bir  uygulamalardan  pek  çoğuna  örnek  olarak  gösterilebilir.  HPC  Scheduler  ayrıca  Monte  Carlo  simülasyonları  gibi  sıkıcı  paralel  olarak  adlandırılan  uygulamalarla  da  kullanılabilir.  Hangi  problem  üzerinde  çalışılırsa  çalışılsın  sağlayacağı  değer  aynıdır:  HPC  Scheduler,  birçok  Windows  Azure  sanal  makinesi  üzerinde  paralel  bilişim  programlaması  gibi  karmaşık  bir  sorunu  çözer.  Burada  amaç  bulut  üzerinde  çalışan  HPC  uygulamalarını  oluşturmayı  daha  kolay  bir  hale  getirmektir.  

   

Page 21: Windows Azure ile Bulut Bilişime Giriş

20

Medya  

Günümüzde  internet  trafiğinin  büyük  bir  kısmını  videolar  oluşturmaktadır  ve  bu  oran  daha  da  artacaktır.  Buna  karşın  internet  üzerinde  video  sunmak  basit  bir  iş  değildir.  Sıkıştırma  algoritmaları  ve  kullanıcı  ekranındaki  görünüm  çözünürlüğü  gibi  çok  fazla  değişken  bulunur.  Video  ayrıca  talep  üzerinde  patlamalar  yaratmaktadır.  Mesela  insanların  çevrimiçi  bir  film  seyretmek  istediği  Cumartesi  günleri  talep  çok  yüksek  seviyelere  çıkmaktadır.  

Popülerliği  dikkate  alındığında  birçok  yeni  uygulamanın  da  video  kullanacak  şekilde  hazırlanacağı  kolaylıkla  tahmin  edilebilir.  Fakat  tüm  bu  programların  aynı  problemleri  çözmesi  gerekecek  ve  her  bir  programın  bu  tür  problemleri  kendi  başına  çözmesini  beklemek  de  anlamsızdır.  Daha  iyi  bir  yaklaşım  birçok  uygulamanın  kullanabileceği  ortak  çözümler  sunabilecek  bir  platform  yaratmaktır.  Bu  platformu  bulut  üzerinde  oluşturmanın  da  açık  bir  şekilde  görülebilir  olan  avantajları  bulunur.  Kullandıkça  öde  tabanlı  olarak  geniş  bir  kullanıma  sahip  olabilir  ve  ayrıca  video  uygulamalarının  genellikle  karşı  karşıya  kaldığı  talep  artış  ve  azalmalarıyla  da  başa  çıkabilir.  

Windows  Azure  Media  Services  bu  soruna  çözüm  getirmektedir.  Video  ve  başka  medyalar  kullanan  uygulamalar  hazırlayan  ve  çalıştıran  insanlar  için  hayatı  kolaylaştıran  bir  dizi  bulut  bileşeni  sunmaktadır.  Şekil  8'te  bu  teknoloji  gösterilmektedir.  

 

Şekil  8:  Media  Services  video  ve  diğer  türlü  medyaları  tüm  dünyadan  istemcilere  sunan  uygulamalar  için  bir  platformdur.  

Şekilde  de  gösterildiği  gibi  Media  Services  video  ve  diğer  medyalarla  çalışan  uygulamalar  için  bir  dizi  bileşen  sunmaktadır.  Örneğin  Media  Services  içerisine  bir  video  yüklemek  için  kullanılabilecek  bir  medya  alıcısına  (Windows  Azure  Blobs  içerisinde  tutulmaktadır),  çeşitli  video  ve  ses  formatlarına  sahip  bir  şifreleme  bileşenine,  dijital  hak  yönetimi  hizmeti  sağlayan  bir  içerik  koruma  bileşenine,  video  akışı  içerisine  reklamların  eklenmesine  imkân  sunan  bir  bileşene,  akış  bileşenine  ve  daha  başka  birçok  bileşene  sahiptir.  Microsoft  ortakları  ayrıca  platforma  yönelik  bileşenler  sunmakta  ve  ardından  bu  bileşenleri  Microsoft  aracılığı  ile  sunup  kendileri  için  faturalandırılmasını  sağlamaktadır.  

Bu  platformu  kullanan  uygulamalar  Windows  Azure  veya  başka  yerlerde  çalışabilir.  Örneğin  videolar  hazırlayan  bir  ajansa  yönelik  bir  masaüstü  uygulaması  kullanıcılarının  videoları  Media  Services'e  yüklemesine  ve  ardından  çeşitli  şekillerde  o  videoyu  işlemesine  imkân  

Page 22: Windows Azure ile Bulut Bilişime Giriş

21

sağlar.  Alternatif  olarak  bulut  tabanlı  ve  Windows  Azure  üzerinde  çalışan  bir  içerik  yönetim  hizmeti  videoların  işlenmesi  ve  dağıtılması  için  Media  Service'i  kullanabilir.  Nerede  çalışırsa  çalışsın  ve  ne  yaparsa  yapsın  her  uygulama  kullanması  gereken  bileşenleri  seçer  ve  RESTful  arabirimleri  üzerinden  erişir.  

Bir  uygulama  ürettiğini  dağıtmak  için  Windows  Azure  CDN,  bir  başka  CDN  kullanabilir  veya  verileri  direkt  olarak  kullanıcılara  gönderebilir.  Ulaşması  gereken  noktaya  nasıl  ulaşırsa  ulaşsın  Media  Services  ile  oluşturulmuş  bir  video  çeşitli  istemci  sistemler  tarafından  tüketilebilir  bunlara  Windows,  Macintosh,  HTML  5,  iOS,  Android,  Windows  Phone,  Flash  ve  Silverlight  dahildir.  Amaç  modern  medya  uygulamalarını  hazırlamayı  daha  kolay  bir  hale  getirmektir.  

   

Page 23: Windows Azure ile Bulut Bilişime Giriş

22

Ticaret  

Hizmet  olarak  Yazılımın  kullanılması  uygulamaları  hazırlama  şeklimizi  de  değiştiriyor.  Aynı  zamanda  uygulamaları  nasıl  sattığımızı  da  değiştiriyor.  Bir  SaaS  uygulaması  bulut  üzerinde  yaşadığı  için  potansiyel  müşterilerin  de  çözümleri  çevrimiçi  ortamlarda  araması  mantıklıdır.  Bu  değişim  veriler  ve  aynı  zamanda  uygulamalar  için  de  geçerlidir.  İnsanlar  neden  ticari  olarak  erişilebilir  hale  gelen  veri  setlerini  bulut  içerisinde  aramasın?  Microsoft  bu  iki  durum  için  Şekil  9'da  gösterildiği  gibi  Windows  Azure  Marketplace'i  sunuyor.  

 

Şekil  9:  Windows  Azure  Marketplace,  Windows  Azure  uygulamalarını  ve  ticari  veri  setlerini  bulmanızı  sağlar.  

Potansiyel  müşteriler  Marketplace  üzerinde  aramalar  yaparak  ihtiyaç  duydukları  özellikleri  karşılayan  Windows  Azure  uygulamalarını  bulabilir  ve  ardından  ya  uygulamanın  sahibi  ya  da  direkt  olarak  Marketplace  üzerinden  uygulamayı  kullanmak  üzere  kayıt  yapabilir.  Müşterileri  Marketplace  üzerinde  ticari  veri  setlerini  de  arayabilir  bunlara  demografik  veriler,  finansal  veriler,  coğrafi  veriler  ve  daha  birçok  veri  türü  dahildir.  İhtiyaç  duydukları  verileri  bulduktan  sonra  satıcı  üzerinden  veya  direkt  olarak  Marketplace  aracılığıyla  erişebilirler.  Uygulamalar  aynı  zamanda  Marketplace  üzerinden  Bing  Search  API'yi  kullanıp  internet  aramalarının  sonuçlarına  erişebilirler.  

   

Page 24: Windows Azure ile Bulut Bilişime Giriş

23

SDK'lar  

2008  yılında  Windows  Azure  yayın  öncesi  sürümü  sadece  .NET  geliştirmelerine  izin  veriyordu.  Fakat  bugün  neredeyse  her  dilde  Windows  Azure  uygulamaları  hazırlayabilirsiniz.  Microsoft  şu  anda  .NET,  Java,  PHP,  Node.js,  ve  Python  için  SDK'lar  sunuyor.  Ayrıca  C++  dahil  olmak  üzere  her  dil  için  temel  destek  sunan  genel  bir  Windows  Azure  SDK'sı  da  mevcuttur.  

Bu  SDK'lar  Windows  Azure  uygulamaları  oluşturmanıza,  dağıtmanız  ve  yönetmenize  yardımcı  olur.  SDK'lara  www.windowsazure.com  veya  GitHub  üzerinden  erişebilir  ve  SDK’ları  Visual  Studio  ve  Eclipse  ile  kullanabilirsiniz.  Windows  Azure  ayrıca  geliştiricilerin  herhangi  bir  düzenleyici  ile  veya  geliştirme  ortamında  kullanabilecekleri  komut  satırı  araçları  da  sunmaktadır.  Bu  araçlara  uygulamaları  Linux  ve  Macintosh  sistemler  üzerinden  Windows  Azure'a  dağıtmak  için  kullanılabilecek  araçlar  da  dahildir.  

Windows  Azure  uygulamalarını  hazırlamanıza  yardımcı  olmasının  yanı  sıra  bu  SDK'lar  ayrıca  Windows  Azure  hizmetlerini  kullanan  fakat  bulut  dışında  çalışan  uygulamalar  oluşturmanıza  yardımcı  olacak  istemci  kütüphaneleri  de  sunmaktadır.  Örneğin  bir  barındırma  hizmetleri  sağlayıcısı  üzerinde  çalışan  fakat  Windows  Azure  bloblarını  kullanması  gereken  bir  uygulama  oluşturabilir  veya  Windows  Azure  uygulamalarını  Windows  Azure  yönetim  arabirimi  üzerinden  dağıtan  bir  araç  oluşturabilirsiniz.    

   

Page 25: Windows Azure ile Bulut Bilişime Giriş

24

Başlama  

Şimdi  artık  büyük  resmi  gördüğünüze  göre  yapmanız  gereken  ilk  Windows  Azure  uygulamanızı  hazırlamak.  Programlama  dilinizi  seçin,  uygun  SDK'yı  edinin  ve  başlayın.  Artık  varsayılan  hale  gelen  şey  Bulut  Bilişim;  siz  de  hemen  başlayın.  

 

 

Yazar  Hakkında  

David  Chappell,  San  Francisco,  Kaliforniya'da  bulunan  Chappell  &  Associates'in  başkandır  (www.davidchappell.com).  Konuşmaları,  yazıları  ve  danışmanlık  hizmetleriyle  tüm  dünyadan  insanların  yeni  teknolojileri  anlamasına,  kullanmasına  ve  daha  iyi  kararlar  vermesine  yardımcı  olmaktadır.