Microsoft Azure

Azure üzerinde SQL Server-1 SQL on Azure – SQL Virtual Machine

Merhabalar,

Bu yazı dizisinde sizlere Azure üzerinde SQL Server çalıştırma ile alakalı farklı alternatiflerden bahsediyor olacağım.

2000’li yılları hatırlayalım. O zamanlar fiziksel makinelerimizi sanal ortamlara taşıyorduk. O zamanki tartışmaları hatırlayalım.

“Abi tüm sistemi sanala taşıdım.”

“Abi active directory, falan tamam da SQL’i fizikselde çalıştırıcan. Sanalda sakat.”

Sanallaştırma tamam da SQL Server gibi iş yükü yoğun olan ve performans gerektiren makinelerin sanalda mı fizikselde mi olması gerektiği tartışılıyordu.

2010’dan sonra    özellikle sanallaştırma yarışında Hyper-V ile Microsoft’un da sağlam bir yer alması ile birlikte artık sanallaştırma tartışmaları farklı bir boyut aldı.

 “Abi Hyper-V kurdum ben lisans maliyetleri ESX’e göre daha iyi. Performansı da gayet iyi diyorlar.”

“Windows üstüne windows olmaz abi ya.“

Uzar giderdi böyle çoğunluğu şehir efsanesinden öteye gitmeyen tartışmalar 🙂

Artık sanallaştırma kendini ispat etmişti de hangi teknolojinin kullanılacağı üzerine tartışmalar yapılıyordu. Çünkü insanlar sanallaştırmanın tüm nimetlerini görmüşlerdi ve çok hoşlarına gitmişti.

İster sanal olsun ister fiziksel, değişmeyen konu ortada bir sunucunun olması, üzerinde windows işletim sisteminin koşması ve onun üzerinde de SQL Server kurulu olmasıydı.

Bu ne demek?

İşletim sisteminin yönetimi, güvenliği, upgrade leri, donanım güncellemeleri vs.

SQL Server’ın yönetimi, performansı, güvenliği, yedeklemesi, upgrade’i vs.

Gibi işlemler hala sistem adminlerin üzerinde idi ve bu işlemler yetişmiş insan kaynağı, donanım kaynağı gibi ihtiyaçlar söz konusu idi.

Ayrıca bazen 2 yılda bir bazen 1 yılda bir gelen yeni versiyonlar ile bu version yönetimi ve lisans ücretleri de cabası.

Üstüne büyüyen veri hacmi ile birlikte sistemin optimize edilmesi, performansının izlenmesi ve gereken müdahelenin yapılması gereğini ortaya çıkardı.

Ve tabi ki güvenlik konusu. Kobi segmentinden büyük kurumsal segmentteki firmalara kadar bir çok firmaya kadar her hafta yeni bir saldırı haberini duymaya başladık. Bu saldırılar da gösterdi ki en kıymetli verilerimizin tutulduğu veritabanı sistemlerinde gerek verinin dışarıya sızdırılması ve gerekse yedekleme noktasında ciddi zaaflarımız var.

İşte bu yıllarda Microsoft Azure konuşulmaya başlandı. Tabi bizim yazımızın konusu olan Azure üzerinde SQL Server koşturma.

İşte o yılların bu zamana kadar  bitmeyen tartışması On Prem mi? Bulut mu?

Bu konuda çok kafa karışıklığı var. Amacımız bu konudaki kafa karışıklığını gidermek için uygulamalı olarak anlatmak. Derler ya “Cümle içinde kullanırsan anlaşılır.” Işte o misal ?

Azure üzerinde SQL Server çalıştırmak, on premdeki sistemimizi Azure’a taşımak ya da taşımadan On Prem’de çalıştırmak ama Azure üzerinde yönetmek için çeşitli alternatiflerimiz var. Bu yazı dizisinde sırayla bu alternatiflerin kurulumlarını ve nasıl çalıştıklarını anlatıyor olacağız.

Temel anlamda Azure üzerinde SQL Server çalıştırmayı iki grupta toplayabiliriz.

  • Azure Cloud altyapısı  üzerinde SQL Server,
  • Herhangi bir altyapı  üzerinde Azure’a bağlı Hibrit SQL Server

Azure cloud üzerinde SQL Server çalıştırabilmek için alternatiflerimiz şunlar;

  • SQL Server Virtual Machine (Infrastructure as a Service, IaaS)
  • Azure SQL Database (Platform as a Service, PaaS)
  • SQL Managed Instance (Platform as a Service, Paas)

Aşağıdaki resim genel olarak Azure cloud üzerinde SQL Server çalıştırma seçeneklerini ve farklarını göstermektedir.

Hibrit olarak on prem ya da Amazon, Google gibi bir başka bulut hizmeti sağlayan bir yapıdaki SQL Server’ı mızı yönetmek için ise Azure Arc for SQL Server platformunu kullanabiliriz.

Şimdi bu yöntemleri detaylı inceleyelim.

Bu yazımızda “SQL Server Virtual Machine, Azure üzerinde sanal makine oluşturup buraya SQL Server kurup sistemi tamamen burada çalıştırmak” konusunu işleyeceğiz.

Tabi bu ilk başta kulağa güzel geliyor. Çünkü sanal makine, Hyper-V, Windows, Uzak masaüstü ile bağlanma… Bunlar hep bildiğimiz ve alışık olduğumuz konular. Ancak buradaki yapının bizim on prem sistemden tek farkı sunucunun bulutta olması. Tabi bu kiralama yöntemi kendi merkezinde sistem odası ve sunucu yatırımı yapmak istemeyenler için bir alternatif olabilir. Ancak bu haliyle baktığımızda bizim sorunlarımız tam olarak çözülmüyor. Çünkü biz yine bir makine üzerine kurulum yapıyoruz, upgrade ler yapıyoruz, performans, optimizasyon, yedekleme bu işlemleri yine yapmak durumundayız.

Oysa bizim ihtiyacımız sadece SQL Server hizmeti.

Yine de bu özelliği kullanmak için SQL Server Virtual Machine nasıl oluşturuluyor gelin hep birlikte hızlıca bir bakalım.

Home bölümünde arama kutusuna SQL Virtual machines yazdığımızda karşımıza gitmek istediğimiz link çıkıyor. Ona tıklıyoruz.

SQL Virtual machines kısmında Create SQL virtual machine butonuna tıklıyoruz.

Karşımıza çıkan seçenekten üçünsünü yani SQL Virtual Machines olana bakıyoruz ve buradan ne tarz bir işletim sistemi ve SQL Server kurulumu yapmak istediğimizi seçiyoruz.

Ben burada Windows server üzerinde SQL Server 2019 seçiyorum. Tabi burada elinizde bulunan Hyper-V ve Vmware imaj dosyalarını da buraya upload ederek sanal makinenizi buluta taşıyabilirsiniz.

Bir sonraki aşamada makinenize isim veriyoruz ve kurmak istediğiniz imajı seçiyoruz.

Burada makine olarak en düşük modeli seçtik. 1 CPU ve 3.5 GB ram e sahip. Aylık 662 TL bir maliyet çıkardı.

Ayrıca makineye bağlanmak için gereken administrator accountu ve şifresini giriyoruz. Uzak masaüstü portunu da açtık. Tabi normalde public bağlantıya izin vermek doğru değil ama bu makalenin kolay anlaşılması ve uygulanması için bu portları açtık.

Disk olarak standart SSD seçiyoruz.

Automated backup özelliğini aktif hale getiriyorum. Böylece sistem varsayılan olarak 7 günlük yedek tutacak.

Sistem bize saat olarak yaklaşık 0.9 TL’lik bir maliyet çıkardı.

Sanal makinemizi oluşturmak için create butonuna basıyoruz.

Ve sanal makinemiz oluştu.

Go to resource butonuna basarak makinemin bilgilerine gidiyoruz. Bu ekranda sanal makinemize ait bilgiler, makineyi restart etme, console dan bağlanma gibi menülerin olduğu bir yönetim çubuğu ve ip adresi bilgisinin olduğu bir bölme görüyoruz.

Görüldüğü gibi makinemiz hazır durumda.

SQL Server için gereken her şey de otomatik olarak gelmiş durumda. Tabi siz isterseniz burada SQL Server’ı kaldırıp bir iso dosyasından tamamen kendiniz kurabilirsiniz.

Sanal makine üzerinde management studio yu çalıştırıyoruz.

Artık elimizde bir sanal makine olduğuna göre mevcut veritabanımızın yedeğini alarak bu makineye kopyalayabiliriz.

Şimdi yapmamız gereken bu database i yedekten dönmek.

Görüldüğü gibi örnek veritabanımızı yedekten döndük.

Şimdi Azure’daki veritabanımıza localden bağlanalım.

Bağlanmadığını görüyoruz.

Bunun sebebi sunucunun 1433 portunun dışarıya açık olmaması. Normalde olması gereken de bu. Sadece vpn üzerinden bağlanılması doğrusu. Ancak bu örnekte biz public yapıp bağlanmayı deneyeceğiz. Bunun için azure portalda oluşturduğumuz sunucu üzerinde networking bölümünde inbound rule ekliyoruz.

Görüldüğü gibi artık bağlanıp veri çekebilir durumdayız.

Sonraki yazımızda bir PaaS hizmeti olan Azure SQL Database konusunu işliyor olacağız.

Görüşmek üzere.

Sağlıcakla kalın.

İlgili Makaleler

8 Yorum

  1. hocam elinize saglik… ozellikle maliyet konusunda on prem karsilastirmali ayri bir yazi paylasirsaniz cok faydali olacagini dusunuyorum.
    calismalarinizda basarilar

Bir yanıt yazın

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

Başa dön tuşu