Python Hakkında Ufak Bir Söyleşi

Python son yıllarda popülerliği gittikçe artan ve artmaya devam eden bir programlama dili. Bu yazımızda bu popülerliğin arkasındaki sebepleri, yadsınamaz büyüklükteki topluluğunu ve tabii ki dilin kendisini inceleyeceğiz.

Geçmiş

Herşey, Guido van Rossum tarafından, aslında bir hobi projesi olarak geliştirilen Python’un 1991 yılında duyurulmasıyla başladı. Tabii çok daha öncesinde, 1980’li yıllara dayanan bir tarihi bulunan Python, 1989 yılında implemente edilmeye başlanmış. 1994 yılının Ocak ayında 1.0 stabil sürümüne ulaşabilmiş, en son stabil sürümü olan 3.6.5’e ise 28 Mart 2018 tarihinde ulaşmıştır.

Bugün

Stack Overflow Blog sayfalarında yayınlanan 6 Eylül 2017 tarihli ‘The Incredible Growth of Python’ adlı yazıda, Dünya Bankası’nın yüksek gelirli olarak belirlediği ülkelerin diğer ülkelere oranla farklı teknolojiler kullandığı ifade ediliyor ve yapılan araştırma sonucu elde edilen verilere göre Python’ın bu ülkelerde en hızlı büyüyen programlama dili olduğu sonucuna varılıyor.

Peki Neden?

Benim nezdimde ilk nedenin yazım kolaylığı ve okunabilirliği olduğunu söyleyebilirim. Bu faktörler , dilin öğrenilmesini de ciddi oranda kolaylaştırıyor. İnternette yapabileceğiniz küçük çaplı bir araştırma ile de büyük bir çoğunluğun bu sebeplerle tercih ettiğini görebiliyorsunuz. Örneğin, diğer popüler programlama dilleri ile karşılaştırdığınızda direkt göze çarpan fark, dilin space-sensitive yani boşluğa duyarlı bir dil olması oluyor. Dilin dizayn felsefesine göre okunabilirliği arttırması amaçlı alınmış bir karar aslında bu. Bizzat Guido van Rossum’un The History of Python‘da yayınladığı ‘Python’s Design Philosopy’ yazısında bahsettiği gibi, direkt olarak kendisinin belirtmediği dizayn ilkelerinin, dilin gelişiminde büyük katkısı olan Tim Peters tarafından yazıya dökülmeye çalışılması ile ortaya çıkan Zen of Python maddelerinden bir tanesi de ‘Readability counts’ yani ‘Okunabilirlik önemlidir’ maddesidir. Tabii dilin bu kadar popüler olmasını sağlayan tek şey ‘yazım kolaylığı’ ya da ‘okunabililiği’ değil.

Yapay Zeka Çağı

Başka bir neden ise son yıllarda popüler olan fakat geçmişi aslında o kadar da yakın tarih olmayan, AI, Deep Learning, Neural Network gibi konulara çok kolay bir şekilde girebilmenizi sağlayacak bir çok paketin, örnek kodların ve topluluk desteğinin bulunması. Aslında anlayabileceğiniz üzere bu konular çokta “basit” değil. Sadece teknik yetkinlik yetersiz kalıyor çünkü bu teknik yetkinlikleri edinebilmek için zaten öncelikle kendinizi biyolojik ve felsefik olarak yeterli bilgiye sahip olacak şekilde geliştirmeniz gerekiyor. Çünkü temelinde yapmaya çalıştığınız şey bir bilgisayarın insan gibi düşünmesini sağlamak. Topluluk buradaki bariyeri, yukarıda bahsettiğim etmenler ile biraz daha aşağı çekmeye çalışarak daha çok insana ulaşabilmesini sağlıyorlar ve topluluğun günden güne büyüme hızının artması da bir şeyleri doğru yaptıklarının bir göstergesi olsa gerek.

Web Geliştirme

Tabii başka bir etmen de Web uygulamaları geliştirebilmeniz. ‘Web Uygulamaları Geliştirebileceğiniz Diller ve Platformlar’ yazısında da incelediğimiz, Django, Flask ve Pyramid gibi paketleri kullanarak hızlı bir şekilde web uygulamaları çıkartabiliyorsunuz. Burada da topluluk desteğinin oldukça yüksek olduğunu belirtmekte fayda var.

Gelecek

Bugün başlığı altındaki Stack Overflow yazısı, Python’ın geleceği hakkındaki görüşlerini de belirtiyor ve tahminlerde bulunuyor. Bugüne kadar aldıkları trafik verisi ile 2018 yılı dahil olmak üzere önündeki iki yılı tahminlemeye çalışan Stack Overflow, Python’ın 2020’ye kadar Java ile arasındaki farkı oldukça açacağını söylüyor. Ayrıca Java trafiklerinin, eğitim sistemlerinde oldukça ağırlıklı kullanılan bir dil olduğundan sonbahar ve ilkbahar dönemlerinde trafiğin arttığını ve yaza doğru azaldığı da belirlenmiş ve öngörüde bu bulgular da düşünülerek tahminleme yapılırken ‘Seasonal and Trend composition using Loess’ (STL) modeli kullanılmış.

Ayrıca, büyüme oranlarına göre de diller karşılaştırıldığında, Swift ve R’a göre çok daha hızlı şekilde büyüme kat ettiğini görüyoruz.

Sonuç

Python, öğrenme zorluğu düşük, geniş bir uygulama yelpazesine sahip ve topluluk tarafından oldukça destek gören, programlamaya yeni başlıyorsanız ya da başlamayı düşünüyorsanız eğer kesinlikle önerebileceğim bir dil.

Bir sonraki yazıda görüşmek üzere.

Web Uygulamaları Geliştirebileceğiniz Diller ve Platformlar

Bu yazımızda sizlerle birlikte web uygulamaları geliştirebileceğiniz bir kaç dili, onların platformlarını ve bu platformlarda kullanabileceğiniz bir kaç örnek kütüphaneyi inceleyeceğiz.

1. .NET Dilleri (Visual Basic, C#, F#)

Visual Basic, Microsoft tarafından 1991 yılında duyurulan ve Basic dilini temel alarak geliştirilen, nesne yönelimli (OOP), olay odaklı (event-driven) bir dil.

C# ise yine Microsoft tarafından 2000 yıllarında duyurulan, çoklu yönelimli (multi-paradigm) bir programlama dilidir. Nesne yönelimli, fonksiyonel ve generic programlama yaklaşımlarına sahiptir.

F#, artık tahmin edebileceğiniz gibi Microsoft tarafından 2005 yılında 1.0 versiyonuna ulaşmış, çok yönelimli, özellikle fonksiyonel programlama yapabileceğiniz bir dil. Aynı zamanda Javascript ve GPU odaklı kod oluşturma gibi yetenekleri de var.

.NET dillerini kullanarak web uygulamaları geliştirebileceğiniz bir kaç platform mevcut. ASP.NET ailesinin yanı sıra, aynı zamanda Owin (Open Web Interface for .NET) ve Nancy gibi protokole daha yakın platformlar da bulunuyor.

1.1 ASP.NET Ailesi

Popüler olanları sayacak olursak Web Forms, MVC ve Web Api platformlarını sayabiliriz. Onun dışında yeni çıkan Web Pages ve Blazor isimli platformlar da mevcut fakat bunları başka yazılarda detaylı bir şekilde inceleyeceğiz.

1.1.1 ASP.NET Web Forms

ASP teknolojisinin .NET platformunda hayat bulduğu ilk hali diyebiliriz. ASP’de olduğu gibi <% ve %> tagleri kullanılarak sunucu taraflı kod yazabilirken, aynı zamanda .NET kütüphanesinin tamamına da erişim sağlayabiliyorsunuz.

1.1.2 ASP.NET MVC

ASP.NET platformu üzerine MVC metodolojisinin kurgulandığı bir platformdur. Aynı zamanda klasik ASP’den beri kullanılan <% ve %> tagleri yerine, kullanımı biraz daha kolay olan Razor yazım şekli ile birlikte gelmiştir.

1.1.3 ASP.NET Web Api

ASP.NET MVC platformu üzerinde yapılan bir kaç değişiklik ile birlikte, RESTful API’ler geliştirilebilen bir platformdur ve son yıllarda istemci taraflı web geliştirmenin de popülerliğinin artması ile birlikte en sık kullanılan yaklaşımdır.

1.2 Owin (Open Web Interface for .NET)

Sunucu ve uygulama arasındaki bağı kopartmaya çalışan Owin, geliştiricilerin daha çok uygulamanın kendisine odaklanmasını sağlamaya çalışmaktadır. Middleware yaklaşımını kullanır ve diğer .NET platformlarına nazaran daha esnek bir API sunar.

1.3 Nancy

Herhangi bir metodolojiyi benimsemeyen Nancy, direkt olarak browser tarafından istenen kaynağa karşılık gelecek şekilde bir yazım şekli sağlar. Böylece fazla kapsamlı olmayan ihtiyaçlara karşılık çok hafif bir platform alternatifi sunar.

 

2. PHP

1995 yılında Rasmus Lerdorf tarafından yaratılan PHP, sunucu taraflı kodlama sağlıyor. WordPress, Joomla! ve Drupal gibi sistemler bu dil kullanılarak geliştirilmiş ve çok yaygın bir kullanıma sahip. Sadece PHP dilinin kendisi kullanılarak da bir web uygulaması geliştirilebilse de farklı yaklaşımları barındıran bir çok platform ortaya çıkmış. İçlerinden Symfony, CodeIgniter, Laravel, CakePHP ve Phalcon platformlarını örnek olarak sayabiliriz.

2.1 Symfony

İçerisinde 50 adet bileşen bulunduran Symfony, bu bileşenler ile birlikte kod tekrarını azaltmayı ve genel ihtiyaçları karşılamayı amaçlıyor. Drupal, phpBB, yine aşağıda inceleyeceğimiz Laravel ve daha bir çok platform tarafından da kullanılmakta.

2.2 CodeIngiter

MVC metodolojisini benimseyen CodeIgniter, MVC’yi benimsemeseniz bile kullanabileceğiniz bir platform çünkü sizi MVC yazmaya zorlamıyor. Küçük ve performanslı web uygulamaları geliştirebilirsiniz. Artı olarak detaylı ve sade bir dökümantasyona da sahip.

2.3 Laravel

Web sanatçılarının PHP kütüphanesi mottosuyla kendini gösteriyor Laravel. İçerisinde Active Record desenini implemente eden Eloquent adında bir ORM’e ve Blade adında bir şablon motoruna sahip. Yaklaşım olarak MVC tercih edilmiş.

2.4 CakePHP

Dökümanın ilerleyen bölümlerinde inceleyeceğimiz Ruby on Rails’in konseptine uygun geliştirilen CakePHP, diğer bir çok platform gibi MVC yaklaşımını benimsiyor. Laravel’de de olduğu gibi içerisinde Active Record desenini implemente eden bir kütüphaneye sahip.

2.5 Phalcon

Büyük bir çoğunluğu C ile yazılan Phalcon, diğer platformlara göre daha performanslı ve daha az kaynak harcadığını savunuyor. Aynı şekilde C ile yazılan bir ORM’e ve MVC yaklaşımına sahip.

 

3. Python

‘Python Hakkında Ufak Bir Söyleşi’ adlı yazımda kendisine detaylı bir şekilde değindim. Okumak isterseniz buradan ulaşabilirsiniz.

Bir çok web platformu mevcut fakat bir kaç örnek olarak Django, Flask ve Pyramid’i sayabiliriz.

3.1 Django

İçerisinde varsayılan olarak şablon motoru, ORM ve kimlik doğrulama gibi özellikler ile geliyor ve Python üzerinde web programlama için kullanılan en popüler platformdur.

3.2 Flask

Aşağıda da inceleyeceğimiz ve bir Ruby platformu olan Sinatra’dan ilham alan Flask, alt tabanında Werkzeug WSGI Toolkit ve Jinja2 şablon motorunu kullanıyor. Çok hafif bir yapıya sahiptir.

3.3 Pyramid

Az uğraş gerektireceğini vaad eden Pyramid, en basitinden en kapsamlısına bütün projelerde kullanılabileceğini söylüyor. İçerisinde dosya bazlı şablon motoru, doğrulama sistemi ve test kütüphaneleri ile birlikte geliyor ve geniş konfigurasyon desteği sağlıyor.

 

4. Ruby

Yukihiro “Matz” Matsumoto tarafından Japonya’da, 1990’lı yılların ortalarında geliştirilmeye başlanmış. Çoklu yönelimli bir dil olan Ruby, nesne yönelimli ve fonksiyonel programlama yaklaşımlarına sahiptir.

Dökümanda önceden de bahsedilen, Ruby için önemli sayılabilecek iki adet platform bulunuyor ; Ruby on Rails ve Sinatra.

4.1 Ruby on Rails

Convention over Configuration yaklaşımını savunan Ruby on Rails, çok hızlı bir şekilde web üzerinde çalışabilen uygulamalar geliştirmenizi sağlıyor. Ruby üzerinde kullanılan açık ara en popüler platform.

4.2 Sinatra

Nancy ve Flask gibi, minimum efor ile web uygulaması yazmanızı sağlayan bir platform. Test kütüphaneleri ve topluluk tarafından geliştirilen eklentiler ile çok daha geniş çaplı uygulamalar da yazılabiliyor.

 

Bu yazıda, .NET dilleri, PHP, Python ve Ruby dilleri için kullanılabilecek platformları inceledik.

Bir sonraki yazıda görüşmek üzere.

Using Resource Group on Azure

In this article, I want to look at what is azure resource group. Firstly, understanding meaning of resource and resource group is important.

Resource is a manageable item that is available through cloud computing. For example, virtual machine, storage account, database, web app… etc. are some of common resources.

Resource Group
can include all the resources for the solution that you want to manage as a group. You should decide how you want to allocate resources to resource groups based on what makes the most sense for your organization.

A resource only belongs in one resource group and a resource group can include resources where reside in different regions. Also you can add or remove a resource to a resource group at any time. A resource group can be used to scope access control for administrative actions. You can migrate a resource between resource groups. Resources can interact between each other in different resource groups. This interaction is common when the two resources are related but do not share the same lifecycle. For example, web apps connecting to a database.

Before you create storage accounts, networks or VMs etc. , You should create the resource groups first. If you don’t create resource group, It will created automatically by Azure. When it created resource group, the name will assign randomly and that are very hard to understand what are they. So this is an unadvisable option because of complication. You should use meaningful name to easy management.

When you place your resources in a same resource group, they will start to share a common lifecyle. That is to say, they will be created together, they will run together using some kind of common function and they will be deleted together. You should be carefull when you selected a resource group. Because your every action will affect all resources such as deleting in related resource group.

You can plan out your resource groups as a heterogeneous or homogenous. If you have several different type of resource as a virtual networks, virtual machine, web apps etc. , you called it “heterogenous resource group”. For having homogenous, you should have your all virtual network in one, all virtual machine in one etc.

One of features is RBAC in resource group. RBAC ( Role-Based Access Control ) is a system that provides fine-grained access management of resources in Azure. You can manage users on resources groups what users need to perform their jobs. Instead of giving all users limitless permissions in your Azure subscription or resources, you can permit only particular actions at a specify scope.

How to Create A Resource Group

You can follow steps below to create a resource group.

Firstly, select the “Resource Group” left side on Azure Portal.

After that, click “Add” like below.

Write your meaningful name for Resource Group. If you have more subscription, you should choose a subscription where you want to placed your resource group. The resource group has to reside in a region. So, choose your region and create it.

You have to provide a location for resource group when deploy a resource group. Because, you indicate a location for the resource group accutually you stored metadata there. So you should make sure that your data is stored in a specific region.

You can see detail of Monitoring and Billing. Firstly, You should click “Resource Group” left side In Azure Portal. After that, choose your related resource group in resource groups. You will see options to choose left side again. Select “Resource Cost” under settings and you will reach your resources cost like below.

Azure VM Stop vs. Deallocated

In this article, I will explain difference between Azure VM stop and Azure VM stop (deallocated ).

There are 2 options to stop VM in Azure and they are not equal each other.There is a big difference between this two methods. You will still get charged for compute resource even you turn off the VM one of these methods. For another, You will free from paying and you can reduce overall cost.

The first stopped option we will reach the VM using RDP and to turn off operating system inside. In other words, it is same as turning off and turning on your computer in your daily life. Even stopped the VM with this process, you will continue to be charged because of allocated resources (cpu, ram etc. ) on the VM is not released. Because you are charged for using resouces by Microsoft Azure.


So you should release resources using option 2. In this option, We will stop VM on Azure Portal. While VM is closing, it release resources in this way. So you will not be charged at all. When you released resources, you will released dynamic ip adress as well as. So dynamic IP adress will change after you start VM again. If changing ip adress is important for you, you should your IP as a static form before deallocated.


This is really great feature to save the money by deallocating your VMs that not necessary operation always. However, it always couldn’t be possible to track this situation manually. So you can use Auto-Shutdown one property of Azure VM. You can schedule your VM shutdown time using this property on Azure Portal. You can follow steps for Auto-Shoutdown below.

How to Deploy Auto-Shutdown Schedule

First step click ” Virtual Machine ” left side on Azure Portal. Then click related VM which you want to configure.


In second step, go to operations under related VM features. Then click Auto-shutdown.


In the last step, you should enable this feature firtsly. After that you can choose what time you want to deallocated your VM as is seen from picture below. If you want a notification after shutdown your VM, you can enter your e-mail address related tab at the same time. End of these steps, save and close it.


Azure Backup ile Azure VM’ler nasıl yedeklenir

Microsoft Azure Backup Nedir?

Azure ‘un kurtarma servisleri arasında yer alan Azure Backup, verilerinizi Microsoft’un güvenli Data Centerlarına yedeklemek (veya korumak) ve geri yüklemek için kullanabileceğiniz Azure tabanlı bir hizmettir. Ayrıca Şirket içi veya şirket dışı yedekleme amacıyla kullanılan basit, güvenilir ve bulutla bütünleşmiş bir hizmettir. Azure Backup servisi bir yedekleme hizmetinden yanı sıra belirli yedekleme hizmetleri için depolama alanı olarak da kullanılabilir. Windows Client işletim sistemleri, Windows Server işletim sistemleri ve System Center Data Protection Manager ortamlarını desteklemektedir.

Azure Backup servisi, depolama alanı olarak Azure Storage (depolama) servisinden destek alır. Hizmetin bileşenlerinden olan Azure Backup Agent aracı ise doğrudan Windows (Client/Server) veya System Center Data Protection Manager sistemleriyle entegre olabilir ve bu ortamlardan aldığı verileri Azure’a transfer ederek Azure Backup Vault’lar içerisinde depolar.


Ayrıca doğrudan Azure IaaS üzerinde çalışan Azure VM’lerin yedeklemesini de gerçekleştirebilir.

Bu yazımızda ise Azure tarafında barındırdığımız VM makinelerin korumasını konu alacağız.

  1. İlk olarak Azure portalında oturum açılır.
  2. Azure Hub menüsünden Resource Group‘a tıklanıp, bir RG-VMBACKUP isimli bir resource group oluşturulur.


Azure Hizmetleri bölümünden Backup and Site Recovery(OMS) servisi tıklanır ve gerekli bilgiler girilerek Backup hizmeti oluşturulur.


Oluşturduğumuz Backup hizmetin ardından Backup servisi devreye almak için, RG-VMBACKUP-VMBACKUP adımları izlenir. Yukarıdaki resimde görüldüğü gibi bu hizmet üzerinde Backup butonu ile yedekleme adımları başlatılır.


Azure VM yedekleme işlemi 3 ana adımda uygulanır. Bunlar; Backup Goal – Backup Policy – Item to Backup ‘dır. İlk bölümde Azure platforum’dan VM yedekleme işlemi yapılacağı gösterilir.


İkinci adımda ise, Yedek alınanacak VM makinanın hangi durumda ve nasıl yedek alınacağı adımları gösterilir. Choose Backup policy linkinden defaultPolicy uygunlanabilir. Ya da Create New linkinden istediğiniz gün ve saatte yedek aldırılabilir.


Yeni bir policy oluşturma linkine tıkladığımızda, Yukarıda göründüğü gibi policy ismini ve günlük yedekleme zamanı belirtilip, yeni policy oluşturulur.


Son adımda ise Backup’ı alınacak VM ve VM’ler gösterilir.


Tüm adımlar tamamlandıktan sonra Enable Backup butonu ile yedekle adımları sonlandılır ve yedekleme hizmeti aktif edilir.

Backup Items bölümüne bakıldığından, Azure Virtual Machine tarafında 1 adet VM olduğu görülür.

Hazırlanan Backup servisini isteğe göre Backup ıtems-Backup ıtems (Azure Virtual Machine) – Yedeği alınan sunucu(WS2016SQLSP1)-Settings – Backup Policy adımları takip edilerek Backup Now butonu ile manuel olarak yedekleme başlatılabilir. Ya da oluşturulan policy içinde yedekleme zamanı beklenebilir.

Manuel olarak yedekleme işlemi başlatıldıktan sonra, Backup jobs bölümünden yedeklemenin başladığını takip edebilirsiniz. Bu sayede Azure platfrom’daki sanal makinelerin de güvenliğini bir kat daha arttırmış olursunuz.
 

Azure SMB Dosya Paylaşımı Oluşturma Nasıl Yapılır

Microsoft Azure Storage nedir?

Microsoft Azure Storage, yüksek oranda kullanılabilir, güvenli, dayanıklı, ölçeklenebilir ve yedekli depolama sağlayan, Microsoft tarafından yönetilen bir bulut hizmetidir.

Azure Depolama üç veri hizmetinden oluşur: Blob storage, File Storage ve Queue Storage. Blob depolama, standart ve premium depolama seçeneklerini destekler. Premium depolamada olabilecek en yüksek performans için yalnızca SSD kullanılır. Seyrek erişimli depolama, seyrek erişilen büyük miktarlarda verileri düşük maliyetli depolama olanağı sunan başka bir özelliktir.

Azure Storage özelliğini kullanmak için önce bir Storage hesabı oluşturmanız gerekir. Ardından o depolama hesabındaki belirli bir hizmete/hizmetten veri aktarabilirsiniz.

Blob Storage

Temelde bilgisayarda (veya tablet, mobil cihaz ve benzeri) depoladığınız dosyalara benzer dosyalardır. Bu dosyalar resimler, Microsoft Excel dosyaları, HTML dosyaları, sanal sabit diskler (VHD) olabileceği gibi, günlükler, veri tabanı yedeklemeleri gibi büyük veriler de dahil olmak üzere neredeyse her şey olabilir. Bloblar klasörlere benzer kapsayıcılarda depolanır.

Blob depolamada depoladığınız dosyalara URL’leri, REST arabirimi ya da Azure SDK’sı depolama istemci kitaplıklarından birini kullanarak tüm dünyadan erişebilirsiniz. Depolama istemcisi kitaplıkları, Node.js, Java, PHP, Ruby, Python ve .NET dahil olmak üzere birden çok dil için kullanılabilir.


Blok bloblar, sayfa blobları (VHD dosyaları için kullanılır) ve ekleme blobları olmak üzere üç tür blob vardır.

  • Blok blobları, yaklaşık 4,7 TB’a kadar boyutta sıradan dosyaları saklamak için kullanılır.

  • Sayfa blobları, 8 TB’a kadar boyutta rastgele erişimli dosyaları saklamak için kullanılır. Bunlar, sanal makineleri içeren VHD dosyaları için kullanılır.

  • Ekleme blobları blok bloblarına benzer bloklardan oluşur ancak ekleme işlemleri için en iyi duruma getirilmiştir. Bunlar, aynı bloba birden çok VM’den günlük bilgileri kaydı gibi şeyler için kullanılır.

Azure Dosyaları

Standart Sunucu İleti Bloğu (SMB) protokolü kullanılarak ağ dosya paylaşımları oluşturmanıza olanak tanır. Bu durum, birden fazla VM’nin hem okuma hem de yazma erişimi ile aynı dosyaları paylaşabildiği anlamına gelir. Dosyalara dünyanın herhangi bir yerinden erişim imzası (SAS) içeren bir URL kullanarak erişebilme olanağı sağlar.

Queue Storage

Azure Queue hizmeti, iletileri depolamak ve almak için kullanılır. Kuyruk iletilerinin boyutu 64 KB’ye kadar olabilir ve bir kuyruk, milyonlarca ileti içerebilir. Kuyruklar, genellikle zaman uyumsuz olarak işlenecek ileti listelerini depolamak için kullanılır.

Örneğin, müşterilerinizin resimleri karşıya yükleyebilmesini ve her resmin küçük resimlerini oluşturabilmesini istediğinizi düşünelim. Müşterinizin resimleri karşıya yüklerken küçük resimleri oluşturmanızı beklemesini sağlayabilirsiniz. Alternatif olarak bir kuyruk kullanabilirsiniz. Müşteri, karşıya yüklemeyi tamamladığında, kuyruğa bir ileti yazın. Ardından Azure İşlevinin iletiyi kuyruktan alıp ve küçük resimleri oluşturmasını sağlayın. Bu işlemin tüm bölümleri ayrıca ölçeklendirilebileceğinden kullanımınız için ayarlarken daha fazla kontrol sunar.

Hangi işletim sistemi sürümlerinin hangi ortamlarda dosya paylaşımlarını bağlamayı desteklediği aşağıdaki tabloda gösterilmiştir.



Azure SMB Dosya paylaşımı oluşturmak için Azure Portalına giriş yapılır.



Yeni Azure panelini açtıktan sonra yukarıda görüldüğü üzere, New – Storage Account – Create Storage Account adımlarını takip ederek yeni bir storage account oluşturulur.


Oluşturduğumuz storage account içine girdiğimizde Services kısmında Files bölümüne tıklanır.


Paylaşım yapacağımız bir file share oluşturulur. İstenildiği üzere bu files share’e bir kota verilir. (Test ortamı olduğundan 100GB verilmiştir.)


Kısa süre içinde 100 GB’lık bir file alanı oluşur. Not : İsteğe bağlı bir veya birden fazla file share alanı oluşturulabilir.


Oluşturduğumuz bu paylaşım alanını desteklediği işletim sistemleri üzerine map driveolarak ekleyebiliriz. Bu ekleme işlemini ise yukarıdaki resimde anlatıldığı üzere, oluşturduğumuz file share alanına tıklıyoruz. Açılan yeni pencere de Connect butonunu göreceksiniz. Bu Connect butonuna tıkladığınızda Windows işletim sistemine nasıl bağlantı sağlayacağınız tek bir komutla anlatılmıştır.

Bağlantı sekli olarak Powershell, Commad, Lunix hizmetleri sunulmaktadır. Biz commad üzerinden ilerleyeceğiz.

KOMUT: net use Z:peakupstorage.file.core.windows.netpeakshare /u:AZUREpeakupstorage RfbSW1ShGiKo7kpspeJJ6GfkojNlu/qw+A6Q’I3t/0JAXTgCe3jIQyHjBTgcOWywcOKI904BcDSP0A4xMLmHuA==

Yukarıdaki komutu Map Drive yapacağınız Windows işletim sistemi üzerinde çalıştırın.


Kısa süre içinde Windows işletim sisteminizin Bilgisayar bölümüne girdiğinizde peakshare diye oluşturduğumuz 100GB’lık alanı Map Drive olarak eklendiğini göreceksiniz.


Birkaç deneme yaptığımızda, sharepoint ve onedrive hizmetlerinden hatırlayacağınız bir sekronizasyon ekranı göreceksiniz. Bu sayede Azure’a veri atmak yada saklamak çok daha kolay.

Not: Herhangi bir yeniden başlatma durumunda sistem kaldığı yerden devam edecektir.

Azure dosya paylaşımı ile ilgili anlatılacaklarım bu kadar…

 

Azure Nested Virtualization Üzerinde Hyper-V VM Nasıl Kullanılır

Azure platformunu kullanan arkadaşlara sesleniyorum, siz hiç Azure VM sunucuları içine Hyper-V sanallaştırma platformunu konumlandırdığınızı düşündünüz mü? Bazılarınızdan evet cevabını duyar gibiyim. Beklenen bu özelliği artık kullanabilir haldeyiz. Bu makale serimizde sizlere bu özellikten bahsediyor olacağım.

Microsoft’un yeni özellikleri arasında yer alan Azure Nested Virtualization, sayesinde Azure platformunda birden fazla VM açmak yerine Azure sanal makinelerin içine Hyper-V role kurup, gerekli ayarlamaları onun üzerinden yapabilirsiniz. Azure Nested Vırtualızatıon ortamını ürün geliştirme, test etme, müşteri eğitimi, demo gibi çeşitli alanlarda kullanabilirsiniz.



Not: Azure Nested Vırtualızatıon özelliğini Azure’un Dv3 ve Ev3 VM boyutlarını
kullanarak test edebilirsiniz
.

Şimdi ise adım adım bu özelliği inceleyelim. Demomuzda yapacağımız aksiyonlar ise, ilk olarak Azure Portal’ı üzerinde bir VM makine oluşturup, Hyper-V roles’un kurulumu gerçekleştireceğiz. Ardından Hyper-V içine bir adet Windows Server 2016 makine kurup, network konfigürasyonunu ayarlayacağız.



İlk olarak aşağıdaki özelliklerde bir Azure VM makine oluşturuyoruz. Resimde gösterildiği gibi size boyutunu seçip, normal bir şekilde VM adımlarını takip ederek Windows server 2016 makinesi oluşturuyoruz.

  • Windows Server 2016 Datacenter

  • Region: West Europe

  • Disk Type: SSD

  • Machine Type: D4S_V3 Standard



Windows server 2016 kurulumunu tamamlayıp, standart konfigürasyonlarını ayarladıktan sonra Server Manager altında Add Roles and Features bölümünden Hyper-V kurulumunu gerçekleştiriyoruz.

A

Resimde görüldüğü gibi Azure VM üzerine Hyper-V roles’un kurulumunu başarılı bir şekilde tamamladık.



Şimdi ise kurulumunu tamamladığımız Hyper-V üzerinde bir adet sanal makine oluşturarak (WS2016), iç içe sanallaştırma testini gerçekleştireceğiz. Windows Server 2016 ISO’sunu kullanarak 2GB RAM ile WS2016DC01 olarak adlandırdığım bir VM makine oluşturdum.

Not: Windows Server 2016’yı https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2016 adresinden indirebilir veya Aboneliğinizi (MSDN, EA vb.) kullanabilirsiniz.



Hyper-V üzerindeki sanal makinanın network ayarlamaları için Host makinemize geri dönüp network ayarlamalarını düzenleyeceğiz. Azure VM makinemizi açıp, Hyper-V’i çalıştırıyoruz. Açılan Hyper-V yönetim konsolu üzerinde Actions bölümü altındaki Virtual Switch Manager linkine tıklayarak varolan Network Adaptor’unu İnternal Networkbağlantısına çekiyoruz.

Not: Dikkat edilmesi şeylerden birisi ise iç içe sanallaştırmada VM’lerin Ağa bağlanabilmesi için NAT’ı kullanmamız gerekir.



İnternal Network’e çektiğimiz Azure Vm makinesine static bir ip adresi tanımlıyoruz.



Hyper-V sanal makinenin internete çıkması için (NAT yapılandırma işlemi için) ilgili powershell komutunu çalıştırıyoruz. Çünkü GUI’den NAT’ı yapılandıramıyoruz.

New-NetNat –Name NVMNat –InternalIPInterfaceAddressPrefix 192.168.10.0/24



Başarılı bir şekilde powershell komutunu çalıştırdıktan sonra tekrardan Hyper-V üzerinde oluşturduğumuz.WS2016DC01 makinemize sabit ip tanımlıyoruz. (Resim üzerinde görüldüğü gibi…) ve makinenin otomatik internete bağlandığını göreceksiniz.



Bu şekilde Azure VM makineler üzerinde sanallaştırma yapıldığını görmüş olduk. Azure tarafında çıkan birçok yeni özellikleri sizlerle paylaşıyor olacağım.

Azure DNS Hizmeti nasıl kullanılır

Bu makalemizde, Azure portalını kullanarak DNS Zone’larımızı nasıl yöneteceğimizi inceliyor olacağız. İlk başta Azure tarafındaki DNS mantığından bahsedeceğim, akabinde DNS Zone hizmetini nasıl kullanacağını adım adım sizlere göstereceğim.

Azure DNS Servisi nedir

Azure DNS servisi belirli bir etki alanıyla ilgili DNS kayıtlarını barındırmak için kullanılır. Etki alanınızı Azure DNS’de barındırmaya başlamak için bir DNS bölgesi oluşturmanız gerekir. Ardından bu DNS bölgesinde etki alanınız için tüm DNS kayıtları oluşturulur. Son olarak, DNS bölgenizi Internet’te yayımlamak için etki alanının ad sunucularını yapılandırmanız gerekir.



Not: Azure DNS, şu anda alan adlarının satın alımını desteklememektedir.

Azure portalında oturum açın.



Hub menüsünde New- Networking ve ardından DNS Zone‘a tıklayarak DNS bölgesini oluşturun.



Oluşturulan Zone’nun alan adı bilgileri ve Resource Group bilgilerini girip,erbulmus.com etki alanımı tanımlıyorum.



DNS bölgesinin ve kayıtlarınızın doğru bir şekilde ayarlandığından emin olduğunuzda, etki alanı adınızı Azure DNS’ın NS kayıtlarını kullanacak şekilde yapılandırmanız gerekir. Bu da Internet’teki diğer DNS kayıtlarını bulmalarını sağlar. (Etki alanını satın aldığınız yere bu kayıtların girişi yapılması gerekir.)



Tüm kayıtlar başarılı bir şekilde girildikten sonra erbulmus.com adresine ait istediğimiz DNS kayıtlarını girebiliriz. Bu işlem Record Set butonuna tıklayarak gerçekleştirilir.


Record girişleri ise tüm DNS servis sağlayıcılarında olduğu gibi ve Type bölümünde görebildiğiniz gibi DNS kayıtların girişi yapılır. (A, AAAA, CNAME, MX, NS, SRV, TXT, PTR)

Aşağıdaki kaynak linkinden faydalanarak Azure DNS hizmetini Powershell ile de yönetebilirsiniz.

Link: https://docs.microsoft.com/en-us/azure/dns/private-dns-getstarted-powershell

Azure Company Branding

Bir çoğumuz Office 365 paneline erişim yaptığımızda, aşağıdaki ekran görüntüsünde görüldüğü gibi Microsoft’un standart markasını görmekteyiz. İstersek bu standart marka görünümünü şirket markası olarak tanımlayabilir ve kurumsal tarafta kullanıcılarınıza çarpıcı bir görünüm sunabilirsiniz.



Office 365 Standart marka görünümünü kendi ortamınıza uyarlamak için aşağıdaki Azure Active Directory servisine erişim sağlamanız gerekir.



Office 365 portalına admin hakkına sahip bir kullanıcı ile erişim sağladığınızda Admin Centers bölümünden Azure AD (Azure Active Directory) hizmetine ulaşabilirsiniz.



Ardından Azure Active Directory – Company Branding altında şirket marka yapılandırma ayarını göreceksiniz. Yukarıdaki resimde gösterildiği gibi, ilgili bölüme tıklanır.



Background image bölümünde, maksimum görüntü boyutu 1420 x 1200 pikseldir ve maksimum dosya boyutu 500KB‘dir. Banner logo bölümünde ise Office 365 oturum açma sayfasında kullanıcıların kimlik bilgilerini doğruladığı kısımdır. Buradaki maksimum görüntü boyutu 60 x 280 pikseldir ve maksimum dosya boyutu 10KB‘dir. Oturum açma sayfası kısmına bir mesaj ekleyebilirsiniz.



Tüm bu işlemleri tamamlandıktan sonra kısa bir süre içinde herhangi bir kullanıcı ile girişi yapmayı denediğinizde, firmanın markasını ve logosunu göreceksiniz.