AZ-900 notlarına modül 2 ile devam ediyoruz. Henüz modül 1'i okumadıysanız burayı tıklayarak okuyabilirsiniz. Modül 2'nin temel içeriği Core Azure Services.

Bu modülde önce Core Azure Architectural Components'i inceleyeceğiz, daha sonrasında ise sırasıyla Core Azure Services and Products, Azure Solutions ve Azure Management Tools bölümüne gireceğiz.

Core Azure Architectural Components

Bu bölümde Region, Region Pairs, Geographies, Availability Options, Availability Sets, Availability zones, Resource Groups ve Azure Resource Manager başlıklarına değineceğiz.

Region:

Azure'un Dünya'da 140 ülke'de 60 civarında region olmak üzere data center'ları mevcut. Data Center dedik ancak bu 1 region = 1 data center şeklinde anlaşılmasın. Her regionda ortalama 2-3 data center mevcuttur. Aynı region içerisinde bulunan data center'lar birbirlerine ortalama 5 ile 10 km yakınlıkta olup birbirlerine point to point fiber ile bağlıdır.

  • Azure an itibariyle (Mayıs 2020) diğer cloud provider'lar arasında en fazla region'a sahip cloud provider'dır.
  • Minimum latency için kendimize en yakın region'ı öğrenmemiz ve bu region'ları seçerek ilerlememiz gerekiyor. Bunun için de Azure Speed Test 2.0'ı kullanabiliriz. Bu linke tıklayarak size en yakın ve en düşük latency olan region'ı görebilirsiniz.
  • Genellikle en iy performansı bize en yakın ilk 3 region'dan alırız. Bu nedenle region seçimi önemlidir.
  • Türkiye'de henüz bir Azure data center'ı yok ancak latency'leri azaltmak amacıyla Microsoft Gebze'de bir POP noktası kurdu. Bu sayede Azure region'lara gidecek tüm bağlantılar önce Gebze'ye oradan ilgili yere gider. Bu da latency'nin düşmesini sağlamaktadır.
  • Burada bilinmesi gereken bir diğer konu ise Private Region'lardır. Azure'un şu anda 3 adet Private Region'ı vardır. Bunlar, Azure Government (North America), Azure China 21Vianet ve Azure Germany'dir. Bunlardan hizmet almak mümkün değildir.

Region Pairs

Region Pairs, aynı coğrafyadaki iki bölgenin birbirleri ile eşleştirilmesidir. Bu eşleştirme sonucunda bir bölge çifti oluşturulur. Güney Brezilya hariç tüm bölgeler uygun şekilde eşleştirilmiştir. Region Pair'lerin örneğini aşağıda görebilirsiniz.

Azure Region Pairs

Tam listeye ulaşmak isterseniz buraya tıklayabilirsiniz.

Azure, mümkün olduğu sürece pair olan region'ların arasında 300 mil mesafe bırakmayı tercih eder. Bunun da nedeni herhangi bir doğal afet veya büyük ölçekli kesintilerde hizmet aksamasının önüne geçmek istemeleridir.

Geographies

Bu terim kısaca belirli bölgelerin bir arada tek bir pazar olarak değerlendirilmesidir. Geography'ler Americas, Europe, Asia Pasific, Middle East and Africa olmak üzere ayrılmışlardır.

Availability Options

Cloud servisi aldığınız zaman belki de en önemli konulardan birisi availability'dir. Bunun için Azure'da 4 farklı seçeneğimiz vardır ve her seçeneğin kendi SLA yüzdeleri vardır.

Single VM

Premium storage ile bir single VM çalıştırdığınızda Microsoft bunun için %99.9 SLA garanti eder. En basit servis türlerinden birisidir.

Availability Sets

Availability Sets bakım gerektiren durumlarda veya herhangi bir hardware kaynaklı failure durumlarında hizmet reddi yaşamamak için kullanılan bir yöntemdir. Microsoft aynı anda sadece 1 kabinette sistem, bakım ve iyileştirme çalışmalarını yürütmektedir. Burada bilinmesi gereken iki kavram vardır. Update Domains (UD) ve Fault Domains (FD).

Update Domain ve Fault Domain Yapısı

Update Domain: Görselden de görüleceği üzere kaynakların birden fazla yan yana kabinette yedekli olarak tutulmasıdır. Planlanmış bakım çalışması veya performans-güvenlik iyileştirmeleri aynı anda sadece bir kabinette yapılacağı için hizmette bir aksaklık yaşanmamaktadır. Update Domains datacenter'ın logical section'larıdır, software ve logic ile implemente edilirler. Bu arada yıl içerisinde bakımı 3 kez erteleme hakkımız olduğunu da belirtelim.

Fault Domains: Birden fazla kabinetin hizmet verememesi durumunda yan yana olmayan farklı odalardaki kabinetlerde yedekler bulundurulup sistemin sorunsuz çalışmasının sağlanması demektir. Fault domains bize fiziksel olarak ayrılmış kabinetler sunar. Bu fiziksel ayrılma sadece kabinet bazında değil power, cooling ve network hardware olmak üzere aynı bina içerisindeki farklı odalarda ve tamamen birbirinden farklı kaynaklarda çalışan kabinetlerde alınan yedeklerle çalışılması anlamındadır.

Availability Zones

Availability Zones aynı region içerisinde farklı datacenter'larda yedekleme yaparak çalışma sistemidir.

Availability Zones Yapısı
  • Her availability zone bölgesi bağımsız güç, soğutma ve network ile donatılmış bir veya birden fazladata center içermektedir.
  • Eğer herhangi bir availability zone down olursa diğerleri ile hizmet verilmeye devam edilir.
  • Availability zone'lar birbirlerine çok hızlı ve private olan fiber-optic networkler ile bağlıdırlar.
  • Availability zones genellikle yüksek kullanılabilirlik ve low-latency replication ile kritik uygulamaların çalıştırılmasında kullanılır.
  • Availability zones Azure'da bir hizmet olarak sunulur.

Resource Groups

Azure'daki kaynaklarımızı yönetmek için kullandığımız birim Resource Groups'dur. Resource groups uygulamamız için gerekecek tüm kaynakları tek bir yönetilebilir birimde toplamamıza yarayan ve tek bir birim üzerinden yönetmemize imkan veren bir container olarak düşünebiliriz. Resource Group sayesinde uygulamamızın bileşenlerini tek tek yönetmek yerine tek bir birimden toplu olarak yönetebiliriz.

Aşağıdaki resource'ları tek bir resource group üzerinden yönetebiliriz:

  • Metering and billing
  • Policies
  • Monitoring and Alerts
  • Quotas
  • Access Control

Burada dikkat edilmesi gereken en önemli husus bir resource group'u sildiğimizde içindeki tüm kaynakları da silmiş olacağımızdır. Resource Groups ile ilgili bilinmesi gerekenler de şunlardır:

  • Her kaynak sadece bir resource gruop'da olabilir.
  • Bir resource group farklı region'larda bulunan kaynakları içerebilir.
  • Bir resource group'a istediğiniz zaman kaynak ekleyebilir veya silebilirsiniz.
  • Bir kaynağı bir resource group'dan bir başkasına taşıyabiliriz.
  • Bir uygulamanın çalışabilmesi için tüm kaynakların aynı resource group içerisinde olması gerekmez ancak yönetimi kolaylaştırmak adına aynı group'da olmaları önerilmektedir.

Azure Resource Manager

Azure Resource Manager belli başlı resource group'larını tek çatı altından yönetmeye yarar. Daha detaylı bakacak olursak içerisinde Azure PowerShell, Azure CLI, Azure Portal, REST API, Client SDK gibi farklı otomasyon ve komut dosyası araçlarını kullanarak kaynakların dağıtımını ve yapılandırılmasını otomatik hale getirmenizi sağlayan bir management layer'ıdır diyebiliriz.

Azure Resource Manager ile infrastructure'ı komut dosyaları yerine declerative templates'ler ile yönetebiliriz. Aynı zamanda hangi kaynaklara kimlerin erişebileceğini, rolleri, grupları, kaynak gruplarını ve izinlerini yönetebiliriz.

Core Azure Services and Products

Azure Compute

Azure Compute, cloud-based uygulamaları çalıştırmaya yarayan ve içerisinde computing resource'lar barındıran bir hizmettir. Bu computing resource'lara örnek vermemiz gerekirse disks, processors, memory, networking ve operating systems verebiliriz.

Resource'lar sizin talebinize göre sunulur ve dakikalar çoğu zaman da saniyeler içinde hazır hale gelir. Sadece kullanılan kaynaklar için ödeme yapılır. Azure'un en çok kullanılan compute servisleri VM'ler ve Container'lardır. Bir sonraki bölümde bunları detaylı olarak inceleyeceğiz. Aşağıdaki görselden compute servislerini görebilirsiniz.

Azure Compute Services - 1
Azure Compute Services - 2

Azure Compute Services

Azure Compute Services Pay-As-You-Go sistemi ile çalışır. Yani sadece kullanım yağtığınız süre kadar ödeme yaparsınız. Örneğin 23 saat 59 dakika 47 saniyelik bir kullanım yaptıysanız 23 saat 59 dakika 47 saniyelik ödeme yaparsınız. Hiç bir miktar yukarı yuvarlanmaz.

İlerlemeden önce bilinmesi gereken birkaç kavramı açıklayalım:

Cluster: Aynı anda bir yazılımı 2 veya daha fazla sunucuda çalıştırmaya denir.

Azure Spot Instance: Üreticisi tarafundan üretimi bitirilmiş donanım ürünlerini kullanabilirsiniz. Bu size fiyatı oldukça uygun seviyelere getirme olanağı tanırken her zaman erişilme garantisinden mahrum bırakacaktır.

Azure Hybrid Benefit: Eğer elimizde bir yazılımın lisansı varsa onu kullanarak yine maliyetleri aşağı çekebiliriz.

Azure'da Tag sistemi vardır ve VM'leri oluştururken onları tag'lemek ileride yönetim açısından epey bir elimizi rahatlatacaktır.

Virtual Machines (VM's)

Virtual Machine, yani Türkçe'si ile Sanal Makina, fiziksel bilgisayarların birer software emulation'ıdır. Sanal Makina'lar virtual processor, memory, storage ve networking kaynaklarını içerir. Bir işletim sistemi vardır ve tıpkı fiziksel bilgisayarlara yaptığınız gibi onlara da yazılım yükleyebilir ve çalıştırabilirsiniz. Remote Desktop bağlantısı yaparak yine fiziksel bir makina gibi kullanabilirsiniz.

Azure ayrıca bir çok fonksiyonu bir araya getirebilen bazı servisler de sunmaktadır. Bunlara örnekler Azure Virtual Machines, VM Scale Sets, App Services ve Functions'tır.

Azure Virtual Machines

Azure Virtual Machines, cloud'da sanal makinalar oluşturup kullanmanızı sağlar. IaaS mantığı ile çalışmaktadır. Eğer işletim sistemi ve ortam üzerinde tam kontrole ihtiyacınız varsa Azure VM bunun için vardır.

VM Scale Sets

Virtual Machine Sets, birebir aynı (özdeş) olarak yapılandırılan birden fazla VM'i deploy etmek ve manage etmek için kullanılır. Tüm VM'ler aynı yapılandırıldığında VM Scale Sets ile auto-scale yapmak mümkün hale gelmektedir. Bu sayede daha büyük yükler için otomatik olarak ekstra VM ekleyebilir veya ihtiyaç olmadığında kaldırabilirsiniz.

App Services

App Services ile herhangi bir platformda çalışmak üzere kurumsal bir web sitesi, web application, mobil application veya API deploy edebilirsiniz. App Services PaaS mantığı ile çalıştığı için işletim sistemi güncellemeleri veya altyapı bakımları gibi işlerle uğraşmak zorunda kalmazsınız.

Functions

Azure Functions, sadece platform ve altyapıyı ilgili endişeleri gidermek için değil aynı zamanda kod çalıştırma ile ilgili endişeleri de ortadan kaldırılmak için kullanılır.

Container Services

Container'lar bir sanallaştırma ortamıdır.

  • Container'lar, üzerinde çalıştıkları ana makinenin işletim sistemini kullanırlar.
  • VM'lerde olduğu gibi işletim sistemini yönetme yükümlülüğü gerekmez.
  • Container'lar lightweight'tir ve dinamik olarak ölçeklenebilecek veya durdurulabilecek şekilde tasarlanmışlardır.
  • Azure Docker Container'ı desteklemektedir.

Azure'da hem Docker'ı hem de Microsoft tabanlı Container'ları kullanmanın iki yolu vardır:

Azure Container Instances

ACI, herhangi bir VM'i yönetmek veya ekstra bir servisi kullanmak zorunda kalmadan Container çalıştırmanın en kolay ve en hızlı yoludur. Size Container'larınızı yüklemeniz için olanak sağlayan bir PaaS yapısıdır.

Azure Kubernetes Service

AKS, distributed mimarileri ve büyük hacimli container'ları orchestration yapmak için kullanılan bir servistir. Birçok şeyi AKS ile otomatize etmemiz mümkündür.

Azure Network Services

Azure Networking

Azure'da network konfigürasyonları yapılmayan makinalar internet'e çıkamaz. Bu nedenle bir sunucuyu ayağa kaldırmadan önce network konfigürasyonlarının doğru şekilde yapılması gerekir. Bunu sunucuyu ayağa kaldırmadan öcne yapmamızın sebebi de ileride bir değişiklik yapmak istersek kesinti yaşamadan bu değişikliği yapamayacak olmamızdır.

Azure Virtual Networking

Azure Virtual Networking sayesinde internetle veya şirket içi ağlarla güvenli bir iletişim kurabiliriz. Virtual Network'ün scope'u normalde single region'dur ancak Virtual Network peering sayesinde farklı region'da olan networkleri eşleştirebiliriz.

Azure Virtual Networking ile isolation, segmentation, communication, routing veya filtering gibi işlemler yapılabilmektedir.

Azure Load Balancer

Load Balancer adı üstünde bir yük dengeleyicidir. Azure Load Balancer, uygulamaları scale edebilmemizi sağlarken servislerimiz için high availability sağlar. Aynı zamanda inbound ve outbound senaryoları destekler.

VPN Gateway

VPN Gateway, Azure Virtual Network ile şirket network'ünüz arasında şifreli bir sanal ağ geçidi oluşturur. Bu sayede trafik daha güvenli hale gelmiş olur.

VPN Gateway için bir pricing sayfası da mevcuttur. Dilerseniz bu sayfadaki hesaplama aracını kullanarak maliyetleri hesaplayabilirisiniz.

VPN Gateway Hesaplama Aracı

Azure Application Gateway

Azure Application Gateway kısaca web trafiği için kullanılabilecek bir load balancer'dır. Kullanıcıların uygulamanıza bağlanırken Azure Application Gateway ile yük dağıtımı yapabilirsiniz. Dilerseniz buırada bir Web Application Firewall'da konumlandırabilirsiniz.

Content Delivery Network

CDN, Türkçesi ile İçerik Dağıtım Ağı anlamına gelir. Kullanıcılarınıza web application'ınızın içeriğini verimli bir şekilde dağıtmaya yarayan bir sunucudur. Amaç gecikmeyi en aza indirirmektir.

Azure Data Categories

Verileri 3 ana kategoride düşünmemiz gerekiyor. Structured(Yapılandırılmış), semi-structured(Yarı Yapılandırılmış) ve unstructured(Yapılandırılmamış).

Structured Data

  • Structred Data'lar bir schema'ya yapışan (adhere) datalardır. Bu sebeple tüm datalar aynı fields ve property'lere sahiptir.
  • Satır ve sütun içeren bir database tablosunda store edilebilir.
  • Bu datalar bir table'daki bir row'un başka bir table'daki başka bir row'u ile nasıl bir ilişkide olduğunu gösterek key'lere dayanır.
  • Structured Data'lar "relational data"lar olarak da bilinirler. Data's Schema, data table'ı, data table'daki alanları ve ikisin arasındaki ilişkileri tanımlar.
  • Data'ların gişiri, query'leri ve analizi kolaydır çünkü tüm datalar aynı formattadır.
  • Bu data türlerine örnek vermemiz gerekirse çeşitli sensor dataları veya finansal datalar diyebiliriz.

Semi-Structured Data

  • Bu data tipleri Structred Data'lara göre daha az organize edilir.
  • İlişkisel bir şekilde store edilmezler, bir diğer husus ise field'lar table, row veya column'a düzgün şekilde sığmazlar.
  • Bu data tipleri dataların organizasyonu ve hiyerarşisini daha belirgin hale getirmek için tag'ler kullanır.
  • Aynı zamanda "non-relational data" olarak da bilinen NoSQL dataları olarak bilinirler.
  • Bu kategoriye örnek vermek gerekirse kitapları, blogları ve HTML dokümanlarını verebiliriz.

Unstructured Data

  • Bu dataların herhangi belirli bir yapısı yoktur.
  • Unstructured her türlü veriyi tutabilir.
  • Yeni data source'ları ortaya çıktıkça unstructured datalar daha da önemli hale gelmeye başladı.
  • Bu kategoriye örnek vermemiz gerekirse, PDF belgelerini, JPEG resimlerini, JSON dosyalarını ve video içeriklerini verebiliriz.

Azure Storage Services

Azure Storage

Azure Storage, bildiğimiz bir storage çözümüdür ve tek başına da kullanılabilir. Örneğin Azure storage ile bir dosyayı bir başkası ile paylaşabilir veya dosya, ileti vb. bilgileri depolayabiliriz.

Genellikle developerlar tarafından bir nevi depo olarak kullanılır. Azure storage aynı zamanda web siteleri, mobil uygulamalar, IaaS sanal makineleri, PaaS cloud servisleri tarafından da kullanılabilir.

Azure'daki en yaygın storage servislerine örnek vermemiz gerekirse disks, files, objects, queues ve tables'ı verebiliriz.

Disk Storage

Disk storage, VM, Application ve diğer servisler için ihtiyaç duyulan diskleri sağlar. Tıpkı on-premises sistemlerde kullandığımız diskler gibi Azure'da da disk storage kullanabiliriz. Dilersek disk storage'ları Azure'un yönetimine bırakabilir veya yönetimi ve yapılandırmayı kendimiz de yapabiliriz.

Containers (Blobs)

Azure Blob storage, Microsoft'un cloud için özel olarak oluşturduğu object storage çözümüdür. Aynı zamanda text veya binary gibi unstructured dataların store edilmesi için özel olarak optimize edilmiştir.

Eğer doküman veya görselleri doğrudan bir browser'a servis edeceksek, veya distributed access için dosya store edeceksek Blob storage bunlar için idealdir. Peki sadece bunlarla sınırlı mıdır? Elbette hayır. Video, ses akışı, veri yedekleme ve geri yükleme, disaster recovery ve arşivleme ihtiyaçlarımız için de rahatlıkla kullanabiliriz.

Files

Her servis, ihtiyacınıza yönelik olarak özelleştirildiği için özellikle ihtiyaç olunan alanda kullanılması verimliliği arttırırken maliyeti de düşürecektir. Eğer SMB protokolünü kullanarak high available file sharing yapmak istiyorsanız Azure Files bu iş için geliştirildi. Yani Azure Files sayesinde birden çok VM'in hem yazma hem okuma işlemleri ile bir dosyayı paylaşmasını sağlayabilirsiniz. Aynı zamanda REST interface veya storage client libraries ile de dosyaları okuyabilirsiniz.

Azure Files hem SMB hem NFS desteği sunmaktadır.

Kurumsal (Standart) bildiğimiz dosya paylaşımından ne farkı var? En büyük farkı dosyaları paylaşırken Shared Access Signature (SAS) token içeren bir URL ile dünyanın her yerinden erişebilme kolaylığıdır.

Peki bunu nasıl kullanacağım derseniz şöyle bir örnek verelim. Birden fazla VM'inizde kullanmak istediğiniz bir konfigürasyon dosyası olsun. Bu konfigürasyon dosyasını Azure Files ile dilediğiniz VM'lere erişim verebilirsiniz.

Aynı zamanda diagnostic logs, metrics veya crush dumps'ı Azure Files ile tutabilirsiniz.

Queues

Azure Queue servisi adı üstünde sıra işlemleri yapabileceğimiz bir servistir. Bu servis mesajları(iletileri) almamızı ve depolamamızı sağlar. Queue iletileri en fazla 64 KB boyutunda olabilir ve bir Queue'da milyonlarca ileti olabilir ve eşzamansız olarak işlenecek ileti listelerini saklamak için kullanılırlar.

Bir örnek üzerinden gitmemiz gerekirse, müşterilerimizin resim upload edebilmesini ve her upload edilen resim için thumbnails (küçük resim) oluşturmak istediğimizi düşünelim. Müşterilerimizin resimleri yüklerken küçük resimlerin oluşmasını beklemelerini sağlayabiliriz. Veya alternatif olarak Queue'da kullanabiliriz. Müşteri yüklemesini bitirdiğinde Queue'ya bir mesaj yazılır ve ardından iletinin kuyruktan alınarak thumbnail'in oluşmasını sağlayabiliriz.

Tables

Azure Tables tam olarak büyük miktarlardaki semi-structured data depolamak için vardır. Bu servis Azure Cloud içinden veya dışarıdan kimliği doğrulanarak gelen call'ları (çağrıları) kabul eden bir NoSQL deposudur. Tam olarak semi-structured datalar ve non-relational datalar için idealdir.

Kullanım alanlarına örnek verelim.

  • Web scale application'lara hizmet edebilecek TB boyutlarındaki datalar store edilmesi.
  • Clustered index kullanarak dataları hızlı bir şekilde sorgulama.

Azure Tables talebe göre ölçeklendirilebilmektedir.

Azure Database Services

Azure Database Servisi tam anlamıyla bir PaaS'tır. Developer'lar kurlum ve bakım dertleri olmadan sadece database ihtiyaçlarına odaklanırken aynı zamanda built-in olarak gelen automatic monitoring ve threat detection gibi özelliklerden faydalanabilirler.

Azure Cosmos DB

MS Azure Cosmos DB, Azure'un çok sayıdaki coğrafi bölgesinde üretim ve depolamayı esnek ve bağımsız bir şekilde ölçeklendirmenize olanak sağlayan global olarak dağıtık bir veri tabanı hizmetidir.

Sürekli değişen veriler için duyarlıdır ve her daim açık uygulamalar için şemasız dataları desteklemektedir. Özellikle tüm dünyadaki kullanıcılar tarafından güncellenen ve düzenlenen dataları depolamak için Cosmos DB'yi kullanabilirsiniz.

Azure SQL Database

Azure SQL Database tam olarak bir DaaS hizmetidir. Microsoft SQL Server Database Engine'in en son kararlı sürümünü barındıran relational bir database'dir.

Azure SQL Database ile alt yapıyı yönetmeye gerek kalmadan dilediğiniz programlama diline odaklanarak data-driven uygulamalar ve web siteleri oluşturabilirsiniz.  

Azure Data Migration

Azure Data Mitigation, birden çok database kaynağından Azure data platform'una en az kesinti süresi ile sorunsuz geçişler yapılması için oluşturulmuş bir sevistir. Azure Data Mitigation ile datalarınızı kolaylıkla Azure'a taşıyabilirsiniz. Azure Data Migration servisi ücretsizdir.

Azure Marketplace

Azure Marketplace, içerisinde yüzlerce servis, yazılım ve çözümü barındıran bir market alanıdır. İçerisinde ücretli ve ücretsiz birçok uygulamayı bulabilirsiniz.

Azure Marketplace

Azure Solutions

Internet of Things

2004 yılına kadar teknolojinin ilerleme hızı 1 birim ise 2004 sonrası ilerleme hızı 1 birimin çok üzerine çıktı. Bu ilerleme hızıyla artık IoT (Internet of Things) konularını konuşmayı da geçtik, ürünlerini kullanmaya başladık. Akıllı saatler, akıllı termostatlar, akıllı buzdolapları veya sipariş getiren drone'lar...

Azure IoT için ihtiyaç duyabileceğiniz birçok şeyi size servis olarak sunmaktadır. Genel dağılıma bakıldığında en yüksek ücretli servislerinden biri IoT servisleridir diyebiliriz.

IoT Central

Azure IoT Central, IoT varlıklarınızı ölçeklendirebileceğiniz, izleyebileceğiniz ve yönetebileceğiniz global bir SaaS çözümüdür. IoT Central kullanabilmek için Cloud uzmanlığı gerekmez. Direkt olarak IoT cihazlarınızı yönetmeye başlayabilirsiniz.

Azure IoT Hub

Azure IoT Hub, tüm IoT cihazlarınızın application'ları ile cloud arasındaki iletişimi sağlamanıza olanak verir. Milyonlarca IoT cihazını Azure'daki bir çözümünüz ile IoT Hub kullanarak haberleştirebilirsiniz. Bu haberleşme çift yönlü olarak gerçekleşir.

Big Data and Analytics

Günümüzde Data'lar her türlü form ve biçimde gelebiliyor. Big Data adından da anlaşılacağı üzere gerçekten "Big" yani büyük miktarlardaki dataları belirtiyor. Hava durumu sistemlerinden, iletişim sistemlerine, görüntüleme platformlarından bir ülkenin trafik verilerine kadar birçok senaryoda büyük miktarda datalardan bahsedebiliriz. Bu büyüklükteki dataları anlamak, yorumlamak, yönetmek ve o yorumlara göre karar vermek gittikçe zorlaşıyor. Geleneksel processing ve analysing işlemleri yetersiz kalıyor.

Zaman içinde bu "Big Data" ile başa çıkabilmek adına Open Source Cluster teknolojileri geliştirilmiştir. Azure, Big Data için çok çeşitli teknolojileri ve hizmetleri desteklemektedir.

Azure SQL Data Warehouse

Azure SQL Data Warehouse, Petabayt boyutlarındaki datalar üzerinde karmaşık sorguları çalıştırmak adına MPP'den yararlanan bir EDW (Enterprise Data Warehouse) servisidir.

SQL Data Warehouse'u, basit PolyBase T-SQL sorguları ile veya yüksek performanslı analitik çalıştırmak için MPP ile kullanabilirsiniz. Veriler bir kere SQL Data Warehouse'a aktarıldıktan sonra artık massive scale için analytics çalıştırabilirsiniz.

Geleneksel database sistemlerine göre analiz sorguları burada dakika yerine saniye, gün yerine de saat olarak oluşturulabilir.

Azure HDInsight

Azure HDInsight fully-managed olan open source bir analiz servisidir. Çok büyük miktarda dataları işlemeyi daha kolay, daha hızlı ve daha uygun maliyetli hale getirir. HDInsight aynı zamanda günümüzün popüler open source framework'lerini (Apache Spark, Apache Hadoop, Apache Kafka, Apache HBase, Apache Storm, Machine Learning vb) kullanmanıza da olanak sağlar.

Ayrıca bu servis sayesinde extraction, transformation veya ETL gibi işlemleri de gerçekleştirebilirsiniz.

Azure Data Lake Analytics

Azure Data Lake Analytics, on-demand olarak çalışan ve big dataları basitleştiren bir servistir. Deploying, Configuring, tuning hardware gibi işlerle uğraşmak yerine direkt olarak query'lerinize odaklanabilirsiniz.

Artificial Intelligence

AI, Cloud konseptinde temelini Machine Learning'den alır. ML, bilgisayarların gelecekteki davranışları, eğilimleri ve sonuçları tahmin edebilmesi için mevcut verileri kullanmasına dayanan bir veri bilimi tekniğidir. ML sayesinde (belirli bir seviyede) bilgisayarlar programlanmadan da öğrenebilirler.

ML sayesinde elde edilen tahminler uygulamaları ve cihazları daha akıllı hale getirebilirler. Örneğin bir e-ticaret sitesinden alışveriş yaptığınızı varsayalım. ML sayesinde satın aldığınız ürünlere göre sizin beğeneceğiniz ürünleri size önerebilir. Ya da robot süpürgeniz bir odaya belirli bir süre süpürdükten sonra odayı en kısa zamanda en verimli şekilde nasıl süpürmesi gerektiğini de öğrenebilir.

Azure Machine Learning Service

Azure Machine Learning Service, ML modellerini geliştirmek, eğitmek, test etmek, dağıtmak, yönetmek ve izlemek için kullanabileceğimiz bir cloud servisidir. Open source teknolojileri tam olarak destekler ve bu sayede TensorFlow ve scikit-learn gibi binlerce open-source Python paketini kullanabilirsiniz.

Azure ML Service, sizin için auto-generate ve auto-tune yapabilir.

Azure Machine Learning Studio

Azure Machine Learning Studio, kod yazmaya ihtiyaç kalmadan ML çözümleri üretmenize imkan tanır. Sürükle-bırak şeklinde çalışabilir, kolaylıkla görsel bir çalışma hazırlayabilirsiniz.

Önceden oluşturulmuş ve yapılandırılmış ML algoritmalarını ve data-handling modüllerini kullanarak çalışır.

Serverless Computing

Kodunuzun çalıştığını ancak ortada spesifik bir sunucunuz olmadığını hayal edin. İşte karşınızda "Serverless Computing". Alt yapıya dair hiçbir şeye ihtiyaç duymadan direkt olarak kodunuzu çalıştırabilirsiniz. Infrastructure yapılandırması veya bakımı gerektirmez ve hatta buna izin de vermez.

Serverless application'lar sadece bir event tetiklendiğinde çalışırlar. Ölçekleme ve performans konuları otomatik olarak işlenir ve yalnızca kullanılan kaynak kadar faturalandırma yapılır. Kaynakların rezerve edilmesine de gerek yoktur. Şimdi de Azure'da Serverless Computing için hazır suunulan bazı servislere bakalım.

Azure Functions

Azure Functions, platform veya altyapı ile değil, yalnızca hizmetinizi çalıştıran kod ile ilgileniyorsanız en ideal seçim olacaktır. Genellikle bir REST isteği, timer veya diğer Azure hizmetlerinden gelen message aracılığıyla tetiklenerek çalışırlar.  Bir işin kısa sürede olmasını istiyorsanız bu servisi rahatlıkla kullanabilirsiniz.

Otomatik ölçeklenme vardır ve ücretlendirme sadece bir function tetiklendiğinde söz konusu olur. Örneğin bi araç takip işi yaptığınızı düşünelim. Bir araç filosunu izleyen IoT çözümü kullanıyor ve onlardan çeşitli mesajlar alıyor olabilirsiniz. Muhtemelen mesai saatleri içerisinde daha fazla veri gelirken mesai saatleri dışında gelen veri sayısı az olacaktır. Azure Functions bunun için otomatik olarak ölçeklenecektir.

Son olarak da Azure Functions stateless çalışır.

Azure Logic Apps

Azure Logic Apps, uygulama entegrasyonu, veri entegrasyonu, sistem entegrasyonu, kurumsal uygulama entegrasyonu (EAI) ve B2B (business-to-business) entegrasyonları için isterseniz on-premise isterseniz cloud'da veya aynı zamanda her ikisinde de ölçeklenebilir çözümler tasarlamanızı ve süreçlerinizi basitleştirmenizi sağlar.

Genellikle kod yazmanıza ihtiyaç duymadan web tabanlı tasarımlar ile bu servisten yararlanabilirsiniz. Azure Logic Apps ile entegrasyon yaparken 200'den fazla hazır connector ile işlemlerinizi gerçekleştirebilirsiniz. Örneğin; Salesforces, SAP, Oracle DB gibi.

Azure Event Grid

Azure Event Grid, Event-based mimari ile kolayca uygulamalar oluşturmamızı sağlar. Fully-managed olarak çalışır ve publish-subscribe modelindedir. Grid Azure Servis'lerinden gelecek eventler için built-in destek verir. Örneğin bir storage-blobs veya resource group ile çalışmasını sağlayabilirsiniz.

DevOps

Deployment and Operations. Son zamanların en çok konuşulan konularından birisi de DevOps.

DevOps, userları, processleri, technology'leri, automating software delivery'yi bir araya getirerek yazılım dağıtımlarını otomatik hale getirir. Azure DevOps servisi ise uygulamalarınız için continuous integration, delivery ve deployment create ve build etmenizi sağlarken bunlar için bir release pipeline'ları oluşturmanızı sağlar.

Azure DevOps ile repository'leri entegre edebilir, application testleri yapabilir, onları monitor edebilirsiniz. Ayrıca altyapı dağıtımını otomatikleştirebilir, Jenkins ve Chef gibi third-party tool'ları kullanabilirsiniz.

Azure DevOps Services

Azure DevOps Service'i bazı development collaboration tool'ları sağlamaktadır. Örneğin, high-performance pipelines, free private git repositories, kanban boards gibi. Azuıre DevOps Service daha önceleri Visual Studio Team Services (VSTS) olarak bilindiğini de unutmayalım.

Azure Lab Services

Azure Lab Services, developer'ların ve tester'ların Azure'da hızlı bir şekilde environment oluşturmasını sağlarken masrafları da minimuma çekmenizi ve maliyeti kontrol etmenizi sağlar. User'lar reusable template'ları ve artifact'ları kullanarak Windows ve linux ortamlarını en hızlı şekilde hazırlayabilir ve uygulamaların en son sürümlerini test edebilirler.

On-demand ortamlar sağlamak için deployment pipeline'ı DevTest Labs ile kolayca entegre edebilirsiniz. DevTest Labs ile birden fazla test agent'ı ayarlayabilir ve yük testlerinizi ölçeklendirebilirsiniz. Daha önceleri DevTest Labs, DevOps Test olarak bilinirdi.

Azure App Service

Azure App Service, herhangi bir platform veya cihaz için hızlı ve kolay bir şekilde web ve mobil uygulamalar oluşturabilmenizi sağlar. Altyapıyı yönetmenize gerek kalmadan istediğiniz programlama dilinde dilediğiniz uygulamayı, mobile back-end'leri, RESTful API'ları oluşturabilirsiniz.

  • Hem Windows hem Linux desteği vardır.
  • Github, Azure DevOps veya herhangi bir Git deposundan otomatik deployment desteği sağlar.
  • Otomatik ölçeklendirme ve yüksek kullanılabilirlik sunar.
  • Birçok dil ve framework desteğine sahiptir. Örneğin ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP veya Python gibi.
  • PowerShell veya çalıştırılabilir arka plan scriptlerini çalıştırabilirsiniz.
  • DevOps optimizasyonu sayesinde Azure DevOps, Bitbucket, Docker Hub veya Azure Container Registry ile continuous integration ve deployment sağlayabilirsiniz.
  • SaaS platformlarına veya on-premises datalarınıza direkt olarak bağlantı kurabilirsiniz. Yine hali hazıra 50'den fazla hazır connector ile bağlantı sağlamanıza olanak verir. (Örneğin SAP, Salesforce, Facebook gibi)
  • App Service ISO, SOC ve PCI uyumluluğuna sahiptir. Azure Active Directory veya sosyal medya oturum açma seçenekleri (Google, Facebook, Twitter, Microsoft) ile kullanıcıların kimliklerini doğrulayabilirsiniz.
  • IP kısıtlaması oluşturabilir ve Service Identity'leri yönetebilirsiniz.
  • Azure Marketplace üzerinden hazır application template'leri kullanabilirsiniz. (WordPress, Joomla ve Drupal gibi)
  • Visual Studio ile entegrasyon yaparak create, deploy ve debug işlemlerini gerçekleştirebilirsiniz.

Azure Management Tools

Azure birçok management tool'una sahiptir. Bu sayede ihtiyacımıza en uygun olanı seçerek kullanmamıza olanak sağlar.

Azure Portal

Azure Portal public olarak herhangi bir web browser üzerinden erişebileceğimiz bir websitesidir. Azure hesabınız ile oturum açtıktan sonra mevcut olan tüm Azure Servislerini buradan kontrol edebilirsiniz. Aradığınız bir hizmeti tanımlayabilir veya bir konuda yardım almak için yardım sayfasından destek alabilirsiniz.Kaynaklarınızı Azure Portal üzerinden dağıtabilir, yönetebilir veya silebilirsiniz.

Dashboard görünümü, Azure ortamınızın geneli hakkımda bilgi sahibi olmanızı sağlar. Dashboard üzerinde ihtiyacınıza göre değişiklikler yaparak daha verimli hale getirebilirsiniz.

Azure Portal üzerinden tekrarlanması gereken görevleri otomatikleştiremezsiniz. Yapmak istediğiniz ne ise onu her seferinde tekrar tekrar yapmanız gerekir.

Azure PowerShell

Azure PowerShell, Azure aboneliğinize bağlanarak kaynaklarınızı yönetmeye yarayan bir modüldür. Azure PowerShell'in çalışması için Windows PowerShell'e ihtiyaç vardır. PowerShell, shell windows ve command parsing gibi servisler de sağlar.

Ayrıca bilinmesi gereken önemli bir nokta da şudur: PowerShell Core, Windows, Linux veya macOS üzerinde çalışması için tasarlanmış bir sürümdür.

Azure Command Line Interface (CLI)

Azure CLI tıpkı Azure PowerShell gibi kaynaklarınızı komut satırı üzerinden yönetmenizi sağlayan cross-platform bir komut satırı aracıdır. Örneğin bir VM oluşturmak için bir command prompt penceresi açarak az login komutu ile login olduktan sonra ilgili komutlarla VM oluşturabilirsiniz.

Azure Cloud Shell

Azure Cloud Shell, portalınızdaki browser-based bir scripting environment'dir. İhtiyacınıza en uygun shell ile çalışmanıza olanak sağlar. Linux için bash tercih ederken, Windows için PowerShell'i tercih edebilirsiniz.

Cloud Shell'i kullanmak için bir storage account'a sahip olmak gerekir, aksi takdirde kullanamazsınız.

Azure Cloud Shell'e portal üzerinen erişebilirsiniz.

Azure Mobile App

Azure Portal'ın biraz minimize edilmiş mobil uygulaması halidir diyebiliriz. iOS ve Android üzerinden tüm Azure hesaplarınıza ve kaynaklarınıza erişebilir, bunları yönetebilir ve izleyebilirsiniz. Dilerseniz mobil uygulama üzerinden de Azure Cloud Shell'i kullanabilirsiniz.

Azure REST API

Azure REST API sayesinde service endpoint'lerinize HTTP protokolü ile create, retrieve, update veya delete gibi istekleri göndermemizi sağlar. Aynı zamanda gelen response'lar ile ilgili de bazı fonksiyonlar tanımlayabiliriz.

Azure Advisor

Azure Advisor, içerisinde high availability, security, performance ve cost gibi alanlar için tavsiyeler barındıran ücretsiz bir servistir. Azure Advisor, deploy edilen servislerinizi analiz eder ve size özel önerilerde bulunur.

2. bölümün de sonuna geldik. 3. bölümde görüşmek üzere.

Kaynak: