0

Son zamanlarda hakkında pek çok soru aldığım bir konudan bahsetmek istiyorum. Azure bizlere Virtual Machine hizmetini iki farklı şekilde oluşturmamıza olanak sağlıyor. Bu farklı türlerdeki sanal sunucular Microsoft Azure içerisinde çalıştığı platform farklılıklarından kaynaklanmaktadır. Yazıya devam etmeden önce bu iki farklı terminolojinin ne anlama geldiğini kısaca açıklamanın faydalı olacağını düşünüyorum.


Resim-1

Classic (v1) / Azure Service Management

Classic veya Azure Service Management (ASM) olarak adlandırılırlar. Diğer adıyla v1(Virtual Machine) olarak da görebilirsiniz. Service Management kaynakları Classic portal, yeni portal(Ibıza) veya Azure PowerShell / CLI ile yönetilebilir. Ancak, Classsic VM’ler bazı özellikleri, yeni Azure Portal (Ibıza) üzerinde henüz mevcut değildir. ( Network Card Custom DNS, vd.)


Resim-2

ARM (v2) / Azure Resource Manager

Resource Manager veya Azure Resource Manager(ARM) olarak adlandırılırlar. Azure Resource Manager yapısı Service Management yapısına göre oldukça farklıdır. Microsoft Azure ilk hizmet vermeye başladığı zamanlarda sadece PaaS ve SaaS hizmetlerini düşünerek yola çıkmıştı fakat müşterilerinden gelen talepler doğrultusunda IaaS hizmeti verince işler biraz karıştı. Service Management içerisinde oluşturulan bir sanal sunucuya dışardan gelen istekler önce Cloud Service hizmetine gelip oradan ilgili sanal sunucuya aktarılıyordu. Fakat bu yapı Resource Manager altyapısı ile yepyeni bir boyuta taşınarak Network Interface kaynağına gelip oradan erişim sağlanıyor ve Resource Manager sunuculardaki esnekliğin, ayrıca yönetimin üst seviyelerde olduğunu şahit olacaksınız.( + Performans ) Azure yeni portal(Ibıza) üzerinden özellikle Automation ve DevOps’un etkisini ne kadar yazsak az olacağını düşünüyorum. Resource Manager Template Deployment ve Şablonlarınızı import/export yöntemi ile önemli avantajlar sunmaktadır. ARM şablonları ve geliştirdiğiniz deployment modelleri operasyon anlamında inanılmaz kolaylık sağlıyor olacak.


Resim-3

Azure üzerinde artık yeni bir hizmet oluşturduğunuz zaman Resource Manager altyapısını tercih etmeyi unutmayın. Teknik yetenekleri dışında Microsoft’un yeni satış modeli olan Cloud Solution Provider ise sadece Resource Manager dağıtım modelinden anlayabiliyor. Başka bir yazımda ise bu modelleri derinlemesine inceliyor olacağım. Ancak, bugün, hala Service Management (Classic) platformunu kullanan müşterilerim oldukça mevcut ve tüm kaynaklarını Resource Manager platformunda geçirmek için 4 seçenek üzerinde duracağım

Seçenek 1 – ASM2ARM Script

İlk seçeneğimiz ASM2ARM adında bir Powershell Script olarak karşımıza çıkmaktadır. GitHub üzerinden erişebileceğiniz bu script ile (v1)Virtual Machine yapısından (V2)Virtual Machine taşımanıza izin veren kod bloklarını ve cmdlet kümesini içerir. Bu sayfa üzerinde migration işlemi için bu aracı nasıl kullanılacağı hakkında daha detaylı bilgiler elde edebilirsiniz. Bu script geliştiren kişinin bir Türk olduğunu yazmayı da unutmayalım.


Resim-4

Avantajları:

Bu seçenek ile süreci tamamen scripted duruma getirebilirsiniz. Herhangi bir portal arayüzüne erişip bir aksiyon almanıza gerek yoktur.”ASM2ARM” ile ancak “tek” makine taşınabilir. Paralel olarak taşımak için alt yapıda bulunan tüm sanal sunucuları PowerShell içerisinde döngü kullanımı ile tek seferde gerekli taşıma sürecini başlatabiliriz. Eğer kurulmuş bir ağ topolojisinde (vNETs vb) taşımak istiyorsanız iyi bir seçim olacaktır.

Dezavantajları:

Powershell Script kullanırken bu parametrelerden birini yanlış yazdığınız zaman, özellikle çok fazla hataya eğilimli olduğunu söylemekte fayda var. Aynı zamanda taşınan kaynakların isimlerine otomatik olarak bir prefix ekler böylece önünde ‘migrated-‘ ismi gelmektedir. Bu durum maleesef idealden olarak görüyorum. Son olarak, bu taşıma süresince v1 VM(Service Management) kapalı durumda olması gerekir ve bu da kesinti anlamına gelmektedir.

Sonuç:

Powershell’in yeteneklerine baktığımızda harika bir seçim olduğunu düşünmeme rağmen, yavaş taşır ve hizmet kesinti gerektirir.

Seçenek 2 – Azure Powershell

Azure SDK v2.9 sürümü ile kaynakların taşınması için bir takım cmdlet yapısı inşa ediliyor. Microsoft’un resmi sayfasında bulabileceğiniz bu konuda adımlara bakarak taşıma işlemlerini yapabilirsiniz. Bu komutlar hali hazırda birçok destek ve esneklikleri olup bir sonraki sürümlerde yenileri eklenecektir. Cmdlet örnekleri ” Move-AzureService, Move-AzureVirtualNetwork” şeklinde gözlemlenir.


Resim-5

Avantajları:

Süreç tamamen Azure Powershell cmdletleri ile yapılabilir. Microsoft’un resmi yazısı eski olsa bile, cmdlet örnekleri temel geçiş senaryoların birçoğunu kapsamaktadır. Büyük bir yararı ise taşıma sırasında hiçbir kesinti ortaya çıkmamasıdır. VHD dokunmadan metedata ile sorunsuz bir geçiş yapılabilir.

Dezavantajları:

Şu anda desteklenen senaryolar sınırlıdır. Bulut Hizmetleri, bütün vNET ve sadece classic VM alt yapısı için geçerlidir. Resource Group içerisinde bulunan vNET yapısına dahil edilemez.

Sonuç:

Azure PowerShell ile çok hızlı ve hiçbir kesinti olmadan geçiş sağlanabilir. Kestirmeden Nirvana’ya ulaşmak için Powershell Workflow ile paralel işlemler başlatabilirsiniz. Ancak, desteklenen senaryolar sınırlıdır ve bütün vNETs taşınması gerekir ise mevcut bir ağ topolojisinde taşınamaz(Farklı CIDR aralığına). Microsoft’un resmin yazısı içerisinde geçiş senaryoları dikkatli bir şekilde okunmalıdır.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

https://www.mshowto.org

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Hasan Güral, Istanbul doğumlu ve uzun yıllardır bilişim sektöründe danışmanlıktan eğitmenliğe farkli pozisyonlarda görev almıştır. Üniversite eğitimiyle birlikte bilişim sektöründe Kibar Holding, Bilge Adam Bilgi Teknolojileri Akademisi ve PeakUp Bilgi Teknolojileri gibi farkli kurumlarda Kıdemli Danışman ve Eğitmen olarak sektöre yön veren projelerde yer almistir.Microsoft Azure alanında yapmış olduğu paylaşımlar ve katkılarından dolayı Microsoft Valuable Professional (Azure) unvanına hak kazanmıştır. Cloud teknolojilerinin otomasyon alaninda gelişmesiyle birlikte zamaninin bir çoğunu PowerShell, Event-Driven Orchestration, Infrastructure as a Code ve Configuration as a Code ile geçirmektedir.Kariyerine Ingiltere’de DevOps Engineer ve Automation Enthusiast rolü ile Cloud Rundle’da devam etmektedir.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

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