Resource Manager vs Service Management

Microsoft Azure Platformu üzerinde çalışıyorsanız ve Azure Ibıza (Yeni) Portal üzerinden bir hizmeti kullanmak istediğiniz zaman deployment süreçlerine başladığınızda karşınıza “Service Management” ve “Resource Management” şeklinde iki farklı model çıkıyor olacaktır. Bu terimlerin, Microsoft Azure bulut hizmetlerine erişimi sağlayan iki farklı REST API olduğunu söylemekte fayda var. “Resource Manager” bizlere Microsoft Azure üzerinde yeni bir deployment modeli sunar. Bu yeni model, Classic ( Service Management) dağıtım modelinden çok önemli farklılıklar içermektedir ve iki model tamamen birbiriyle uyumlu değildir. Kaynakların dağıtımını ve yönetimini basitleştirmek için Microsoft eğer mümkünse “Resource Manager” deployment modelini kullanmanızı tavsiye eder. Resource Manager ile ilgili daha önce blog içerisinde yazı serisine erişebilirsiniz.

Bu dağıtım modellerinden hangi API tercih edilmelidir sorusuna cevap verelim.

  • Azure Service Management (ASM) – “eski” API
  • Azure Resource Manager (ARM) – “yeni” API

Azure Service Management ( ASM )

Daha önce de belirtildiği gibi, Azure Service Management “eski” API ve http://manage.windows azure.com de web portalı ilişkilidir. Bu API nevi şahsına münhasır iletişim için ayrı bir PowerShell modülü de var. Azure Classic Portal içerisinde bir hizmet oluşturduğunuz zaman karşımıza “Cloud Service” kavramı çıkmaktadır. Service Management (Classic) API programmatic olarak XML kullanarak Azure kaynaklarınızı yönetmenizi sağlıyor.

Classic Deployment (Service Management) modelinin hizmetler ile ilişkisini aşağıdaki şekilde görebilirsiniz. Aşağıdaki örnekte, bir Virtual Machine genelinde detaylandırılmıştır.

021116_2010_ResourceMan1.png

  • Cloud Service sanal makine(ler) ev sahipliği yapar ve onlara aynı container içerisinde gibi davranır.
  • Cloud Service sanal makine(ler) otomatik olarak network kartı (NIC) ve Azure tarafından atanan bir IP adresiyle sağlanmaktadır. Ayrıca, Cloud Service Windows tabanlı sanal makineler için uzak masaüstü(RDP) ve Remote PowerShell trafiğine izin verir. Linux tabanlı sanal makineler için ise Shell (SSH) endpoint noktalarını içermektedir.
  • İşletim sistemi (OS Disk), temporary ve eklenen diskler dahil olmak üzere bir Storage Account ihtiyacı vardır.
  • Aynı Cloud Service içerisine alınan sanal makineler Availability Group olarak yapılandırılabilir ve endpoint tanımlamaları için Load-Balancer özelliğini destekler.

Azure Resource Manager ( ARM )

Azure Resource Manager (ARM) API Azure bulut kaynakları ile etkileşim için bir JSON odaklı API sunar. Bu API ailesinin kendi aralarında artıları ve eksileri var, ama aralarında uyumluluk olmadığını anlamak önemlidir. Resource Manager sayesinde artık kaynaklarınızı mantıksal gruplara yani Resource Group içerisine alarak yönetimde esneklik kazanabiliyoruz. Bunları temel olarak sıralayacak olur isek,

  • Role Based Access Control
  • Tags
  • Audit Logs
  • Resource Locks
  • Template Deployment

Yukarıdaki kavramları daha iyi anlamak adına Blog içerisinde “Resource Manager Nedir” makale serisini okumanızı tavsiye ederim. Resource Manager ve Service Manager kavramlarının farklarını aşağıdaki şekilde bulabilirsiniz.

021116_2010_ResourceMan2.png