Azure Database for MySQL Nedir? Azure MySQL (PaaS) Servisi Nasıl Oluşturulur?

Azure Database for MySQL (MySQL için Azure Veritabanı): Uygulama geliştiriciler ve veritabanı yöneticileri için Microsoft’un ölçeklenebilir bulut altyapısı (Azure) üzerinde PaaS olarak çalışan bir MySQL veritabani servisidir.
Azure Database for MySQL servisi Azure SQL servisinde olduğu gibi PaaS (Platform as a Service) olarak hizmete sunulmuştur.
PaaS konusuna çok kısa değinecek olursak, bizler veritabanlarımızı oluşturma ve veriyi yönetme işlemlerimizle ilgilenirken, ilgili sunucuların hazırlanması, işlemciler, ram, harddisk, always-on yapılanması, performans, güvenlik, yedek alma, ihtiyaca göre kaynakların artırılması veya azaltılması vb. diğer gereksinimleri ve şartları %99,95 SLA garantisi ile Microsoft’un yönetmesi şeklinde açıklayabiliriz.
Servis şu an preview modda çalışıyor fakat bu yılın sonlarına doğru genel kullanıma açılacağı bilgisini sizlerle paylaşabilirim.
Ek olarak uygulama geliştiricilerin uzun zamandır Azure üzerinde MySQL ve PostgreSQL servislerini beklediklerini de söyleyebilirim. Microsoftun beklentileri ne oranda karşılayacağı ise şuan için merak konusu.

Fiyatlandırma konusunda https://azure.microsoft.com/tr-tr/pricing/details/mysql/ sayfasını inceleyebilirsiniz.

Bunların dışında bu servise Azure içindeki tüm servislerden (Azure Functions, Logic Apps vb.) connectorler vasıtasıyla bağlanabilir, verilerinize erişebilir ve istediğiniz işlemlerinizi gerçekleştirebilirsiniz. Şuana kadar 20 nin üzerinde MySQL veritabanını bu servis üzerinde koşturdum ve herhangi bir problem ile karşılaşmadım.

Azure Üzerinde MySQL (PaaS) Servisi Nasıl Oluşturulur ?

Azure portal üzerinden “New” Database/ Azure Database for MySQL seçilir. Karsimiza çikan ekranda “Create” butonuna basarak servis olusturma islemine baslayalim.

01-azure-database-for-mysql-create

Servis oluşturma işlemlerinde gerekli tanımlamaları yapmak için karşımıza aşağıdaki ekran gelecektir.
Buradaki alanları açıklayalım.
Server Name: MySQL servisinin adı.
Subscription: Azure abonelikleriniz.
Resource group: Servise ait kaynak grubu. İsterseniz “Use existing” seçeneği ile mevcut kaynak grouplarınızı da tercih edebilirsiniz.
Server admin login name: Servise erişim için tanımlanan kullanıcı adı bilgisi.
Password: Servise erişim için tanımlanan şifre bilgisi.
Confirm password: Servise erişim için tanımlanan şifre tekrarı bilgisi.
Location: Servisin bulunacağı bölge bilgisi. Veritabanına erişecek olan uygulamanızın konumuna en yakın bölgeyi seçebilirsiniz.
Version: MySQL Server in versiyonu. Şu an 5.6 ve 5.7 versiyonları var. Uygulamanızla veya mevcut veritabanlarınızla uyumlu olabilecek bir versiyonu seçebilirsiniz.
Pricing tier: Fiyatlandırma yöntemi. Basic, Standard ve Premium olarak 3 farkli ödeme sekli bulunuyor. Su an için gördüğünüz gibi Basic seçilebiliyor.

Yukarida açikladigimiz alanlari asagidaki sekilde girdikten sonra “Create” butonuna basarak servisi oluşturuyoruz.
02-azure-database-for-mysql-server-name

Servis olusturma islemi bir kaç dakika sürebilir. Daha sonra sağ üst taraftaki “Notification” ikonuna bastiginizda bildirimleri görebilirsiniz.
Burada -“Deployment succeeded” “Deployment ro resource group “mysqlserver” was successful- bildirim metnini gördüğünüzde işlemin tamamlandığını anlayabilirsiniz.

03-azure-database-for-mysql-deployment-succeeded

Bildirim metnine tıkladığınızda bizi “Azure Database for MySQL” servisimize götürecektir.
Burada, oluşturulan servisle ilgili özet bilgileri içeren bir ekran çıkacaktır.
04-azure-database-for-mysql-everview

 

Oluşturduğumuz MySQL veritabanı PaaS servisimize bağlanmak için gerekli olan bilgiler “Connection strings” sekmesi altında yer alıyor. Veritabanınıza bağlanacak olan uygulamanız (.NET, JAVA, PHP, PHYTON vb.) için gerekli olan ilgili connection string i kopyalayıp işlemlerinize devam edebilirsiniz.

05-azure-database-for-mysql-connection-string
Bundan sonra MySQL servisimizle ilgili bazı ayarları yapacağımız “Server Parameters” butonuna basıp ilgili sayfanın açılmasını sağlıyoruz.
Burada “character_set_server, max_allowed_packet, time_zone, wait_timeout vb.” bazı ayarları yapıp işlemlerimize devam edebiliriz.
character_set_server parametresinin varsayılan değeri LATIN1 olarak gelmekte fakat ben UTF8 i tercih ettim. Şu anda 40 a yakın karakter seti mevcut, bunlardan istediğinizi tercih edebilirsiniz. Tüm parametrelerle ilgili açıklamalar ingilizce olarak “DESCRIPTION” sütununda yer almakta.

06-azure-database-for-mysql-server-parameters
Properties sekmesi altında oluşturduğumuz MySQL PaaS servisiyle ilgili genel bazı bilgiler gösterilmekte.

Bunlardan bazıları:
Server Name: Sunucu adı.
Status: Servisin akttif veya pasif durumunu gösterir.
MySQL Version: Mevcut versiyon bilgisi gösterilir.
Location: Sunucunun barındırıldığı Azure veri merkezi bilgisini gösterir.
Server admin login admin: Sunucuya bağlantı sağlayan yetkili kullanıcı adı bilgisi. Connection strings sayfasından hatırlayacaksınız.
Resource group: Servisin içinde bulunduğu Azure kaynak grubu bilgisini gösterir.

07-azure-database-for-mysql-properties

Buraya kadar MySQL servisimizin oluşturulmasını ve ihtiyacımız olan bazı konfigurasyonları tamamladık. Bundan sonra ise servisimizle ilgili bazı uyarı kuralları (alert rules) oluşturarak olup bitenler hakkında e-posta ile kendimize bilgi verilmesini sağlıyoruz. Bu amaçla servisle ilgili olumsuzluklara karşı erken uyarı sistemlerimizle anında müdahale etme imkanına kavuşuyoruz. Bu özelliği Azure üzerindeki tüm servislerimizde aynı yöntemle kullanılabilme imkanına sahibiz.

Aşağıdaki adımları takip ederek sizlerde kendi servislerinizle ilgili alert rules oluşturabilirsiniz. (Alert Rules / Add metric alert / [4-Tanımlamalar] / OK)

08-azure-database-for-mysql-metric-alert-rules

Bir Kaynak Grubunda (Resource Group)  aynı isimle birden fazla alert rule oluşturulamadığını bilmemizde fayda var. O yüzden her bir alert rule ismini farklı şekillerde vererek oluşturmaya dikkat etmeliyiz.

Umarım faydalı bir yazı olmuştur.

Bir sonraki makalemizde görüşmek üzere.

Yahya Sönmez

BizTalk Server - Azure Enterprise Integration - Azure Logic Apps - Azure API Management entegrasyon çözümleri konusunda geliştirme yapmakla birlikte Asp.Net MVC ile web tabanlı kurumsal projeler geliştirmekteyim.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir