Cloud Computing

Azure Compute Hizmetleri için Karar Ağacı – Decision tree for Azure compute Services

Bir uygulamanız var ve siz bunu azure üzerinde konumlandırmak istiyorsunuz. Azure compute başlığı altında aslında size pek çok hizmet sunmaktadır. Ancak kimi zaman bu hizmet çeşitliliği kafa karışıklığına neden olabilmektedir. “Decision Tree” olarak isimlendirdiğimiz aşağıdaki akış şeması işleri biraz daha sadeleştiriyor.

Bu akış şemasını başlangıç noktası olarak ele alın. Her uygulamanın kendine özgü gereksinimleri vardır, bu nedenle öneriyi bir başlangıç noktası olarak kullanın. Daha sonra, daha ayrıntılı bir değerlendirme yapın ve aşağıdakilere bakın:

·         Feature set

·         Service limits

·         Cost

·         SLA

·         Regional availability

·         Developer ecosystem and team skills

·         Compute comparison tables

Bunlar aslında bir uygulamayı bulut üzerinde çalıştırmak için bilmeniz gereken en temel parametrelerdir.

Eğer kompleks uygulamalarınız var ise yani uygulamanız çoklu iş yüklerinden oluşuyorsa, her iş yükünü ayrı ayrı değerlendirin. Tam bir çözüm belki iki veya daha fazla cumpute hizmeti ile sunulabilir.

clip_image002

Peki bu akış şeması bize ne anlatıyor? Öncelikle iki temel tanımımız var bunları biliyor olmalıyız.

Greenfield

Greenfield yazılım veya dağıtım, daha önce hiç bulunmayan bir kurulum ve / veya yapılandırmadır. Yani sıfırdan inşa etmeye başladığınız projeler için kullanılır.

Brownfield

Bir brownfield dağıtımı, var olan bir altyapıya yükseltme veya ekleme anlamına gelir. Yani yeni bir proje değil var olan bir proje veya var olan bir proje için güncelleme, değişiklik anlamına gelir.

Örnek yeni bir proje yapıyor olun, bu durumda ilk sorunun cevabı YES olacaktır yani sağ bölüm ile devam ediyoruz;

clip_image003

İlk soru çok basit aslında, bu yazılım, dağıtım, proje için tüm kontrolün sizde olması mı gerekiyor. Yani kuracağınız OS’ den tutun, IIS veya .net bileşenleri vb? Eğer bu sorunun cevabı YES ise bu durumda sizin için en iyi çözüm Azure üzerinde IaaS bir hizmet almanızdır. Yani sanal makine hizmeti almanız yeterlidir.

Peki böyle bir gereksinim yok ise No diyerek bir alt bölüme inebilirsiniz.

High performance computing workloads, yani yüksek performans gerektiren iş yükleriniz olacak mı?

Azure, bulutta büyük paralel ve toplu hesaplama işlerini çalıştırmanızı sağlayan ve isteğe bağlı kolay bir şekilde genişleyebilen bilgi işlem kaynaklarını sağlamaktadır.  Eğer böyle bir ihtiyaç var ise bu durumda Azure Batch kullanımı olacak demektir.

Azure batch sayesinde büyük ölçekli paralel ve yüksek performanslı bilgi işlem (HPC) işlerini verimli bir şekilde yönetebilirsiniz. Temel olarak azure batch sanal makinelerden oluşan bir compute pool oluşturur ve yönetir, istediğiniz uygulamaları yükler veya yine istediğiniz işleri zamanlar ve çalıştırır. Bu sayede cluster veya zamanlanmış görevler için ayrı uygulamalara ihtiyaç duymazsınız. Sadece Azure batch için yayınlana API’ leri veya araçları kullanmanız yeterlidir.

clip_image005

Peki HPC ihtiyacı yok ise bu durumda yine No diyerek bir alt bölüme inebilirsiniz.

clip_image006

Aslında konuyu adım adım ve uzun uzadıya anlatmaya gerek yok sanırım. Son bu örnek ile konuyu bağlamak istiyorum. Bir sonraki sorumuz bir mikroservis kullanacak mısınız?

Eğer yeni nesil bir yöntem olan yazılım geliştirmede son dönemde sıklıkla gördüğümüz mikro servis kullanımı olacak ise yine işler değişiyor. Eğer bir yazılımcı iseniz zaten Monolithic ve MicroService farklarını burada anlatmamın bir anlamı olmaz. Ama özetle bir birinden daha bağımsız ve esnek parçalardan oluşan bir proje istiyorsanız mutlaka Micro Service kullanılmaktadır. Bu sayede yazılım ekipleri bir birinden daha bağımsız kod geliştirmekte ve hatta deployment yapabilmektedir. Genişletilmesi daha kolay ve bağımsız olur. Eğer sizin uygulamanızda da micro servis olacak ise bu durumda App Service kullanıyor olmanız gerekmektedir.

Evet, uzun lafın kısası alında Microsoft bence çok güzel bir akış diyagramı ile aslında bizlere ne tür uygulamalar için azure üzerinde ne tür hizmetleri kullanabileceğimizi veya kullanmamız gerektiğiniz bize özetliyor. Bu sayede aslında azure üzerinde koşacak uygulamalar içinde daha doğru bir maliyet hesabı yapılmış olur.

Umarım faydalı bir makale olmuştur. Bir sonraki makalemde görüşmek üzere.

Kaynak

https://docs.microsoft.com/en-us/azure/architecture/guide/technology-choices/compute-decision-tree

 

 

 

Hakan Uzuner

2002 yılından beri aktif olarak bilişim sektöründe çalışmaktayım. Bu süreç içerisinde özellikle profesyonel olarak Microsoft teknolojileri üzerinde çalıştım. Profesyonel kariyerim içerisinde eğitmenlik, danışmanlık ve yöneticilik yaptım. Özellikle danışmanlık ve eğitmenlik tecrübelerimden kaynaklı pek çok farklı firmanın alt yapısının kurulum, yönetimi ve bakımında bulundum. Aynı zamanda ÇözümPark Bilişim Portalı nın Kurucusu olarak portal üzerinde aktif olarak rol almaktayım. Profesyonel kariyerime ITSTACK Bilgi Sistemlerinde Profesyonel Hizmetler Direktörü olarak devam etmekteyim.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu