Cloud hayatımızın merkezine reddedilemez bir gerçek gibi oturdu. Bu durum da cloud provider'ların sertifika programları oluşturmasına yol açtı. Şu anda piyasayı domine eden üç cloud provider'ın (AWS, Azure Google Cloud) birçok sertifika programı mevcut. Ben de bu vesileyle bu üç provider için sertifika almak isteyen arkadaşlara yardımcı olacak notlar hazırlamak istedim.

Bu notların ilkini Azure ile başlatıyorum. Azure Security Engineer (AZ-500) sertifikasını almak için öncesinde alınması zorunlu olan AZ-900 Fundementals sertifikasını edinmelisiniz. Eğer AZ-900 sınavına girmek istiyorsanız bu hazırlık notları size epey bir destek olacaktır.

Microsoft, AZ-900 sertifikasına sahip olacak kişilerin dört modül hakkında bilgi sahibi olmasını bekliyor.

  • Modül 1: Cloud Concepts
  • Modül 2: Core Azure Services
  • Modül 3: Security, Privace, Compliance and Trust
  • Modül 4: Azure Pricing and Support

Bu dokümanda modüllerin tamamını detaylı şekilde inceleyeceğiz.

Modül 1 - Cloud Concepts

Neden Cloud Service'lerini Tercih Etmeliyiz?

Bunun için ilk olarak Cloud Computing denilen kavramı incelemeliyiz. Cloud Computing, standart yöntemlere nazaran daha hızlı, daha esnek ve scale edilebilen ekonomi modelleri ile internet (bulut) üzerinden IT hizmetlerinin(server, database, networking, software, analytics, intelligence vb.) sağlanmasıdır. Genellikle sadece kullandığınız kadar ödeme yapar ve işletme maliyetlerimizi düşürürken dilediğimiz kalitede donanım gücü ile kavuşmamız sağlanır.

Bu hizmetleri sağlayan firmalara da Cloud Provider denilir. Cloud Provider'lar siz işinizi sorunsuz şekilde yürütebilin diye ihtiyacınız olan fiziksel donanımı işletmekle yükümlüdür. Her proje ve iş kendine has dinamiklere sahiptir ve her projenin/işin ihtiyacı kendine hastır. Bu ihtiyaçlar için de cloud provider'lar çok çeşitli hizmetler sunarlar. Bunlardan bazıları şunlardır:

  • Compute Power: Linux, Windows sunucular veya web uygulamaları vb.
  • Storage: Veri depolama, veri tabanları vb.
  • Networking: Cloud Provider ile şirket arasında güvenli bağlantılar veya web uygulamalarınız arasındaki network hizmetleri gibi.
  • Analytics: Telemetry ve performans verilerini görselleştiren bazı hizmetler vb.

Cloud servisleri genel olarak aşağıdaki faydaları sağlar.

High Availability: Geleneksel yöntemlere nazaran hizmet kesinti süreleri neredeyse binde belki onbinde birlere kadar inmektedir.

Scalability: Bir proje başlarken ne kadar büyüyebileceği kestirmesi zor bir noktaya evrilebilir. Bu nedenle daha minimal kaynaklarla başlayan ihtiyaçları zaman geçtikçe scale etmek mümkündür. Talep arttıkça cloud provider'ınız ile anlaşmanızı genişletebilir ve servislerinizi ölçeklendirebilirsiniz.

Elasticity: Kaynaklarınızı gerektiği zaman otomatik olarak arttırabilir veya azaltabilirsiniz. Scalability'den farkı bunun otomatik olarak yapılabilmesidir. İhtiyaç halinde en doğru kaynaklara ulaşabilir en verimli coğrafi konumu kullanabilirsiniz.

Agility: İhtiyacınız olan cloud hizmetleri hızlı bir şekilde size tahsis edilebilir. Belki günler, haftalar içinde hazır olacak kaynaklara sadece dakikalar içerisinde kavuşabilirsiniz.

Fault Tolerance: Redundancy, cloud servisleri mimarisine entegre edildiği için herhangi bir bileşen fail olursa yedeği mutlaka vardır ve bu sayede çalışma devam ettirilir. Bu yüzden de hata toleransı (hataya karşı dayanıklılığı) yüksek diyebiliriz.

Disaster Recovery: Herhangi bir olağan üstü durumda (disaster) cloud hizmetleri recovery, automation ve services being readily available to use konularında en hızlı reaksiyonu gerçekleştirir.

Global Reach: Cloud provider'lar dünyanın birçok bölgesinde data center'lara sahiptirler. Bu sayede dünyanın neresinden olursa olsun her yerden audience'lara ulaşabilirsiniz.

Customer Latency Capabilities: Geleneksel yöntemlerde ofisinizdeki sunucularda yazılım koşturmak söz konusudur. Bu durumda İstanbul'daki server'ınıza Brezilya'dan bağlanacak müşterileriniz ciddi yavaşlamalar ile karşılaşabilirler. Cloud provider'lar müşterilerinize uygun trafik yönlendirmesi yaparak bu gecikmeleri azaltabilirler.

Predictive Cost Considerations: Cloud servislerinde genellikle fiyatlar önceden belirlidir. Hangi servis için ne kadar ödeyeceğinizi bilir, ön görülü bir şekilde bütçenizi ayarlayabilirsiniz. Ayrıca gelecekteki büyüme senaryolarınızı da bu fiyat politikalarına göre hazırlayabilirsiniz.

Technical Skill Requirements and Considerations: Cloud provider'lardan alacağınız servisleri kendi imkanlarınız ile oluşturmak isterseniz ciddi bir iş yükü oluşacaktır. Bakım ve fiziksel altyapı yürütme çalışmaları için teknik kabiliyetleri olan personeller istihdam etmeniz gerekecektir. Cloud servisleri ile çalıştığınızda bunları sizin için cloud provider'lar yapmaktadır.

Increased Productivity: On-site olarak kurulan data center'lar yer işgal eder. Onlarla ilgilenmesi gereken personeller ile birlikte ciddi bir maliyet oluşturur. Aynı zamanda çok hızlı büyüme gerçekleştiğinde donanım satın almaları ciddi maliyetler oluşturacaktır. Cloud servisleri sizi bu yüklerden kurtarır. Siz de sadece işinizi geliştirmeye odaklanabilirsiniz.

Security: Cloud provider'lar birçok müşteriye hizmet verdikleri için herhangi bir firmanın güvenliğe ayıracağı zaman ve bütçenin çok daha fazlasını ayırmaktadırlar. Bu yüzden altyapıya gelebilecek tehditlere karşı güvende olmanız sağlanır.

Economies of Scale:

Ölçek ekonomisi kavramı kooperatif kavramına benzer. Çok büyük ölçekli çalışma yapan bir firmanın imkanlarından çok küçük ölçekli bir firma yararlandığında maliyetler azalmaktadır.

Cloud provider'lar çok büyük işletmelerdir ve satın almalarını çok büyük anlaşmalar ile yaparlar. Bu sayede donanım gibi yüksek giderleri olan kalemleri çok daha hesaplı yollar ile elde edebilirler. Bu sayede küçük ve orta ölçekli işletmeler normalden çok daha hesaplı bir yol ile ihtiyaçlarına sahip olurlar.

Örnek vermemiz gerekirse sizin toplamda 50 TB'lık bir depolama alanına ihtiyacınız olsun. Sadece tek başınıza 50 TB depolama donanım ürünü satın almaya kalktığınızda birim maliyet epey fazla olacaktır. Ancak cloud provider binlerce, milyonlarca TB değerinde depolama donanımı satın aldıkları için birim maliyetleri çok daha düşük olmaktadır. Bu sayede siz de ihtiyacınız 50 TB depolamaya çok daha düşük maliyetler ile ulaşabilirsiniz.

CapEx ve OpEx Kavramları

Geçtiğimiz yıllarda bir startup hayatına başlarken şirket işlerini başlatabilmek amacı ile fiziki ofise, tesise veya altyapıya ihtiyaç duyulurdu. Bu nedenle yeni bir iş kurmak sermaye gerektiren bir durumdu. Ve hatta büyüyebilmek adına daha fazla yatırım yapılması gerekirdi.

Günümüzde ise bir startup herhangi bir cloud provider'dan hizmet alarak çok daha düşük bir yatırım ile işini başlatabilir. Bu yatırımlar için iki farklı model vardır.

CapEx: Açılımı Capital Expenditure (Sermaye Harcamaları) olan CapEx eski zamanlarda olduğu gibi paranın büyük çoğunluğunun sermaye olarak kuruluş aşamasında altyapı vb. ihtiyaçlara harcanmasıdır. Bu gider zaman içerisinde vergiden düşülmektedir. CapEx başlangıçta yüksek olan ancak zaman içinde azalan bir gider yapısına sahiptir. Yani paranızı önden harcamanız anlamına gelir.

OpEx: Açılımı Operational Expenditure (Operasyon Harcamaları) olan OpEx başlangıç için bir yatırım gerektirmez. İhtiyacınız olan ürün veya hizmeti aylık fatura karşılığı alırsınız. Bununla hemen piyasaya girebilir ve altyapı için çok daha az ödemeler yaparak ihityacınız olan altyapıyı kullanabilirsiniz. Bir ön maliyet yoktur ve kullandığınız kadarı için ödeme yapabileceğiniz modelleri de mevcuttur. Aynı zamanda faturalar aynı vergi döneminde vergiden düşülür.

Consumption-based model

Cloud provider'lar Consumption-based model denilen bir model ile çalışır. Bu model son kullanıcının sadece kullandığı kaynaklar kadar ödeme yapmasına dayanır. Yani ne kullanırsanız sadece onun için ödeme yaparsınız. Bu modelin faydaları da şunlardır:

  • Ön maliyet yoktur.
  • Kullanılmayacak ve atıl durumda kalacak altyapı satın almalarına gerek kalmaz.
  • Sadece ihtiyacınız olduğunda kaynaklarınızı hemen arttırabilirsiniz.
  • İhtiyacınız kalmadığında kaynaklarınızı azaltabilir gereksiz ödeme yükünden kurtulursunuz.

Types of Cloud Models

3 çeşit cloud modeli vardır. Bunlar Public Cloud, Private Cloud ve Hybrid Cloud'dur.

Public Cloud

  • En yaygın olan cloud modelidir.
  • CPU ve kaynakları paylaşımlı olarak kullandırmaya dayanır.
  • Hosting olarak da adlandırıldığı yerler vardır.
  • Burada kaynaklar cloud provider'a aittir ve paylaşımlı olarak çeşitli müşterilerine bu kaynaklar kullandırılır.
  • Bu tarz yapıları kullanmak için derin bilgi birikimi gerekmez.

Private Cloud

  • Daha pahalı olan ve daha az yaygın olarak kullanılan modeldir. (On-Premises sistemlerdir)
  • Müşteriye dedicated olarak kullanma imkanı veriler ve kaynaklar sadece belirlenen müşteri tarafından kullanılır.
  • Yönetimi için derin teknik bilgi gerektirir.

Hybrid Cloud

  • Public ile Private'ın kombine edilmiş halidir.
  • Belli zamanlarda Public, belli zamanlarda Private kullanımı içerir.
  • En esnek ve maliyeti en kontrol edilebilir olan çeşittir.

Types of Cloud Services

Cloud Servislerinin Karşılaştırılması

Cloud modelleri aslında bir anlamda belirli sorumlulukların Cloud Provider'lara devredilmesi demektir. Burada hangi sorumlulukların nasıl devredildiğinin anlaşılması çok önemlidir. Yukarıdaki tabloda sarı ile işaretli kısımlar sizin sorumluluğunuzda olan kısımlardır. Yeşil ile işaretli kısımlar ise Cloud Provider sorumluluğunda olan kısımlar.

On-premises sistemler dışında odaklanacağımız servisler IaaS, PaaS ve SaaS olacak.

IaaS:

Infrastructure as a Service, adı üstünde size servis olarak altyapı sunar. Cloud Provider'lar sizin için storage, networking ve compute kısımlarının sorumluluğunu üstlenir. Herhangi bir donanım yatırımı yapmak zorunda kalmazsınız. Direkt olarak VM'lerinizi oluşturup dilediğiniz Operating System'leri kurabilir ve üzerlerinde istediğiniz yazılımları koşturabilirsiniz.

  • Herhangi bir donanım ve kurulum maliyeti yoktur. Kullandığımız kaynak kadar ödeme yaparız.
  • Kullanıcı, purchase, installation, configuration, and management of their own software operating systems, middleware, ve applications kısımlarından sorumludur.
  • Cloud provider ise storage, networking ve compute kısımlarından sorumlu olup altyapı bakım ve onarımlarından da sorumludur.
  • Genellikle test ve development süreçlerinde kullanılır. Web sitelerini barındırmak için web hosting'den daha ucuz olabildiği durumlar da vardır.
  • Storage, backup ve recovery amaçları ile de kullanımları mevcuttur.
  • IaaS da sorumluluklar paylaşılmaktadır. Cloud Provider altyapı ve donanımın düzgün çalıştığından emin olmak ile sorumlu iken müşteri de yapılandırma, güncellemeler ve yazılım kısımlarından sorumludur.
  • IaaS cloud'a ilk adım olarak tanımlanır.

PaaS

Platform as a Service developer'lar tarafından en çok kullanılan servistir. Yazılım uygulamaları oluşturmak, test etmek ve dağıtmının yapılması için sık sık tercih edilir. Cloud provider'lar sizin için storage, networking, compute, virtual machine, operating system ve runtime kısımlarını yönetirler. Sizin de sorumluluğunuza application ve Data&Access kısmı kalır.

  • Genel amacı altyapıya dair herhangi bir işlem yapmadan sadece uygulamanıza odaklanmanızdır.
  • Bir web application dağıttığınızı düşünelim, bunu yaparken operating system, server ve sistem güncellemeleri gibi kısımlarla uğraşmazsınız.
  • Herhangi bir donanım ve kurulum maliyeti yoktur. Kullandığımız kaynak kadar ödeme yaparız.
  • Kullanıcı, kendi uygulamalarının development süreçlerinden sorumludur.
  • Cloud provider, operating system yönetiminden ve network/service konfigürasyonlarından da sorumludur.
  • Development süreçleri için sıkça kullanılmakla birlikte Analytics ve business intelligence için de kullanımı yaygındır.

SaaS

Software as a Service adından da anlaşılacağı üzere size yazılım olarak servis sunma hizmetidir. En büyük örneği ise Office 365'tir. Cloud provider size direkt olarak bir yazılımı/uygulamayı hizmet olarak sunar. Size sadece Data&Access yani kullanım kısmı kalır. Geri kalan storage, networking, compute, virtual machine, operating system, runtime ve application kısımlarını sizin için cloud provider yönetir.

  • Genel amacı direkt olarak yazılımı kullanmanızı sağlamaktır.
  • Genellikle aylık veya yıllık lisans modelleri vardır.
  • Kullanıcı sadece uygulamayı kullanmakla yükümlüdür.
  • Cloud provider tüm süreçleri yönetir.
  • Bu kategoriye örnek vermemiz gerekirse Office 365, Skype, ve Microsoft Dynamics CRM Online gibi yazılımları verebiliriz.

Kısaca toparlayacak olursa Office 365 kullandığınızda aslında bir SaaS, Azure'da bir VM oluşturup kendiniz OS yüklediğinizde IaaS, Azure SQL Database kullandığınızda ise bir PaaS kullanmış olursunuz.

Birinci modülümüzün sonuna geldik. İkinci modülde Core Azure Servislerini inceleyeceğiz.

Kaynak: