Windows Powershell’de çok karıştırılan 3 döngü ve örnekler

Powershell’de çok karıştırılan 3 döngü: Foreach ve For ve Foreach-Object
Foreach-Object
Bir kümedeki istisnasız tüm öğeler için aynı döngü içindeki komutların çalıştırılmasını sağlar.
Örneğin;
Get-NetAdapter | Foreach-Object{

$_.macaddress
}

Yukarıdaki örnekte bilgisayarınızda bulunan tüm ağ aygıtları (Ethernet kartı, kabosuz bağdaştırıcı vs.) listeleniyor. Ancak listelenirken her bir aygıtın MAC adresini ekrana yazdırıyor.
Elbette amacım sadece bir liste içindeki tüm ekipmanların belirli öğelerini ekrana yazdırmak olsaydı hiç bu kadar uğraşmayacaktım ve Select-Object ya da Format-Table komutlarıyla ilgili süzme işlemini yapardım. Bakmaın siz bana, maksat Foreach-Object ile tüm öğelerin tek tek işlendiğini göstermek.
 
Foreach

Burada da farklı bir kullanıım sergiliyorum. Aslında yine amacım proses adedi kadar aynı işlemi yapmak. Burada “proses adedi kadar” deme görevi bana düşüyor. Yukarıdaki örnekte ise onu da poersell yapıyor, çnkü kaç adet proses olduğunu bulma yöntemini ona söylememe gerek yok.
 

$prosesler=get-process
ForEach($herbirproses in $prosesler){
"----------------"
"Process Adı: " + $herbirproses.name
}

 
For

For kullanımında ise bir döngünün ne kadar süreceği benim belirlediğim kriterlere bağlı. Mesela 1’den başlayıp 10’a kadar diyebileceğim gibi istersem 0’dan başlayıp toplam servis adedine göre de diyebilirim. Burada sayaç mantığı daha ön planlda. Sayacımı nerde başlatıp nered durduracağıma kendimin karar vermesi gerekiyor.
Aşağıdaki örnekte önce servis sayısını öğreniyorum. Sonra sayacımı 0’dan başlatıp, birer birer artacak şekilde en son $servissayisindan 1 eksik duruma gelene kadar devam etmesini söylüyorum. Neden 1 eksik? Çünkü neredeyse tüm programlama dillerinde öğelerin sayıları 0’dan başlıyor.

cls
$servissayisi=(get-service).count
for($sayac=0;$sayac-le $servissayisi-1;$sayac++){
write-host $sayac (get-service)[$sayac]
}

 
sorular icin bakionur@bakionur.com

Continue Reading Windows Powershell’de çok karıştırılan 3 döngü ve örnekler

Windows Powershell Serisi-II

Merhabalar,
Powershell serisinin bu ikinci bölümünde ise ç?tam?z? biraz daha yükseltiyor olaca??z. Alias kullan?m?, de?i?ken kullan?m? ve kullanici etkile?imi sayesinde hem daha dinamik hem de daha h?zl? çözümlere ula?abilece?iz. Hadi ba?layal?m!
Bildi?imiz gibi Powershell içerisindeki komut birimleri (Command led ya da cmdled) genellikle GET, SET, NEW, ADD, REMOVE ?eklinde ba?larlar. Bu ?ekilde olmas? ö?renim kolayl??? da sa?lar. Çünkü örne?in GET komutlar? yaln?zca bilgi listelemeye yararken SET komutlar? bira konfigürasyon ya da ayar yapmak için kullan?l?r. Yine ayn? ?ekilde e?er Get-Data komutunu kullanmay? biliyorsan?z Set-Date konusunu ö?renmeniz çok ama çok kolay olacakt?r.
Öncelikle yard?m konumuzu biraz daha geni?letelim. Örne?in bütün GET komutlar?n? listelemek istedi?imizde ?u komutu kullanabiliriz:

  • Get-Command –Verb GET


Ayn? örne?i; SET, ADD, REMOVE vs.. için de kullanabilirsiniz. Bak?ld???nda asl?nda GET fiili ile ba?layan bütün komutlar listelenmektedir.
Peki spesifik bir ayar ile ilgili komutlar? listelemek istedi?imde ne yapmal?y?m? Bakal?m!

  • Get-Command –Noun DATE


Bu komut ile de yaln?zca tarih ve tarih ayarlar? ile ilgili komutlar listenecektir. Listelenen komutlar? da daha önce hat?rlayaca??m?z gibi

  • Get-Help Get-komut_Ad? –full

?eklinde detayland?rabilir ve örneklendirerek ö?renebilirsiniz.
Yard?m konusunda son olarak bir komuttan daha bahsetmek istiyorum. Örne?in Pipelining kullan?m? hakk?nda yard?m almak istiyorum. Bu durumda çok basit bir ?ekilde;

  • Get-Help about_pipe

komutunu çal??t?rabilir ve varsa pipe* konu/konular?ndaki yard?m içeri?ine ulasabilirsiniz.

Alias Kullan?m?:

Powershell üzerinde i?lerinizi kolayla?t?racak bir sürü unsur bulunur. Bunlardan bir tanesi de komutlar?n?z? k?saltmaya yarayan Alias’lard?r. Alias’lar varsay?lan olarak Powershell kuruldu?unda aktif haldedirler. En çok kullan?lan bir çok komut Alias’lar ile zaten k?salt?lm??lard?r. ?stenirse kullanicilar da istedikleri ba?ka komutlar? Alias olarak k?sa isimlerle tan?mlay?p kullanabilirler. Alias’lar?n ve kar??l?k geldikleri komutlar?n listesini görebilmek için:

  • Get-Alias

komutu Kullan?l?r.

Yukar?daki listede de görülece?i gibi örne?in AC ya da Add-Content
koumtlar? asl?nda ayn? komuta kar??l?k gelmektedir. AC burada Alias olarak kullan?lmakta ve Add-Content
komutunun k?salt?lm?? hali olarak konumland?r?lmaktad?r.
Sizler de kendi istedi?iniz ve s?k kulland???n?z komutlar? a?a??daki ?ekilde konfigüre edebilirsiniz:

  • New-Alias onur Get-Date

Yukar?daki örnekte Onur ad?nda bir Alias olu?turulmakta ve Get-Date komutuna k?sayol olarak yap?land?r?lmaktad?r.
Her dizimizin sonunda olaca?? gibi bu bölümü de sorularla sonland?rmak istiyorum. Yarar? olaca??n? dü?ündü?üm pratik komutlar?m?za bir bakal?m!

  1. Powershell ekran arkaplan ya da yaz? rengini komut ile de?i?tirebilir miyim?

    Elbette! J

  • $Host.UI.RawUI.ForegroundColor = “Yellow”
  • $Host.UI.RawUI.BackgroundColor = “Red”


     

  1. Ekrana 1’den 20’ye kadar rakamlar? bir ç?rp?da yazd?rmak istiyorum. Bunun kolay bir yolu var m?d?r?

    Elbette! J

  • 1..20 (Ba?ka rakam da kullanabilirsiniz J)
  1. Komut sat?r?ndan (cmd.exe) bir powershell script’ini (.ps1) çal??t?rabilir miyim?

    Neden olmas?n! J

cmd.exe /c c:Windowssystem32windowspowershellv1.0powershell.exe -command “& c:ScriptsBakiOnur.ps1”

  1. Çal??an spesifik bir uygulamaya ait detaylar? (örnek notepad) GetProcess notepad
    ile görebilece?imi biliyorum. Peki sadece Physical Memory kullan?m?n? nas?l görüntüleyebilirim?
  • (Get-process notepad).PM

 

  1. Powershell’de varsay?lan olarak tan?mlanm?? de?i?kenler hangileridir ve ne i?e yararlar?

Bu default de?i?kenleri ileriki bölümlerde gerektikçe kullan?yor olaca??z.

 

Her dizinin sonunda yer verdigim bu soru– cevap bölümünde sunulan yan?tlar?n ve örneklerin sizlere kendi isteklerinizi sorgulayabilmeniz için örnek olu?turmas? çok önemli. Lütfen bu örnekleri kendinize göre de?i?tirip farkl? biçimlerde deneyiniz. Bu sayede Powershell’in ne kadar zevkli oldugunu görecek ve kendi çözümlerinizi olu?turabileceksiniz. J

Dizimizin bir sonraki bölümünde görü?mek üzere, ho?çakal?n.

Baki Onur OKUTUCU

Continue Reading Windows Powershell Serisi-II

Windows Powershell Serisi – I

Bir IT profesyoneli olarak her gün defalarca yapt???m?z görevler hiç ?üphesiz bir süre sonra büyük bir külfet olabiliyor. Ne mutlu ki; Microsoft bunun fark?nda. Microsoft’un son senelerde bizlerle tan??t?rd??? bir çok uygulaman?n arkas?nda scripting deste?i var. Bunun da en büyük temsilcisi elbette Microsoft Powershell. Belki de ilk olarak Exchange Server 2007 kurulumunda bir ön gereksinim olarak tan?d?k Powershell’i. ?imdilerde ise Windows ile birlikte gelen ve her noktada i?imizi kolayla?t?ran kuvvetli bir araç. Al??t???m?z komut sat?r?n?n aksine tamamen dinamik bir araç Powershell. Exchange Server’den Hyper-V’ye, System Center ürün ailesinden üçüncü parti uygulamalara kadar her a?amada büyük bir yard?mc?dan bahsediyoruz asl?nda. O halde bu geni? yaz? dizimizde Powershell’i nas?l ele alaca??z buna bir bakal?m…

Öncelikle bu sihirli komut sat?r? biriminin yeteneklerini tan?yaca??z. Sonras?nda, farkl? modüller ile geni?letilebilen ve çok geli?mi? bir program yazmaya kadar uzanabilen yap?s?n? ele alaca??z. ?sterseniz ilk bak??ta “Powershell ile neler yapabilirim?” sorusuna ba?l?klar halinde de?inelim. ??te bir nefeste Powershell ile yap?labileceklerden baz?lar?:

  • Command Prompt ile yap?labileceklerin tamam? (cmd.exe)
  • Full WMI deste?i sayesinde bütün isletim sistemi katmanlar?na eri?im
  • COM ve ADO obje deste?i ile spesifik görevler
  • API deste?i ve Full .NET entegrasyonu
  • Bütün günlük yönetimsel görevlerin yerine getirilmesi (Active Directory Obje Yönetimi, Sertifika Servisleri Yönetimi, Yedekleme Operasyonlar?, Uzak Yönetim Faaliyetleri…)

Gelin ba?layal?m!

Windows Powershell ?u anda 2.0 versiyonu ile kullan?mda. Örneklerimiz bu versiyon üzerinden devam ediyor olacak. Öncelikle Powershell’in Windows 7 ve Windows Server 2008 R2 ile varsay?lan olarak geldi?ini söylemekte fayda var. Windows Vista ve Windows Server 2008 kullan?yorsan?z ise bu özelli?i aktif etmelisiniz. Program Ekle/Kald?r ilePowershell’i yükleyebilirsiniz. Unutmadan; Windows Server 2008 ve Windows Vista içerisindeki sürüm 2.0 de?il. Powershell 2.0 sürümünü a?a??daki linkten indirip kurabilirsiniz.

http://support.microsoft.com/kb/968930

Windows 7 ve Windows Server 2008 R2 kullanicilar? d???ndaki kullanicilar yukar?daki yüklemeyi yapt?ktan sonra Start Menu’ye powershell yazd???m?zda a?a??daki bile?enleri görüyoruz.

Bu bile?enleri dizimiz içerisinde gerekti?inde ele al?yor olaca??z.

Adettendir, ilk olarak me?hur “Merhaba Dünya” ile ba?layal?m!

Powershell ile yap?labileceklere minik birkaç örnek vererek ba?lamak ve sonras?nda ana ba?l?klar alt?nda derine inmek istiyorum.

Powershell’e ne kadar verirseniz o kadar geri al?rs?n?z demek yanlis olmaz. Çünkü o oldukça ak?ll?d?r ve sizi anlar J

Matematik’te oldukça iyidir!

?stedi?iniz kadar esnek olabilirsiniz!

Gördü?ünüz gibi say?larla aras? iyi olan Powershell, içerisinde entegre olan fonksiyonlarla neredeyse tüm söylediklerinizden anlar.

Biraz daha örnek…

Evet gerçekten oldukça zevkli bir ortam oldugunu söylemek istiyorum. Bir uygulama geli?tirici nas?l tamamen hayal gücü ile s?n?rl?ysa i?te Powershell ortam? içerisinde de s?n?r sizin hayal gücünüz!

Tamam peki, madem s?n?rlar? olmayan bir ortam buras?, o halde biraz daha spesifik girelim. Soru-cevap ?eklinde Powershell’i biraz daha tan?yal?m.

  1. Powershell’de kullanaca??m bütün komutlar? nas?l görebilirim?

    Get-command

  2. Spesifik bir komut hakk?nda nas?l yard?m alabilirim? Örnek get-process komutu hakk?nda yard?m için ne yapmal?y?m?

    Get-help get-process -full

  3. Powershell ile komutlar? hatas?z olarak nas?l yazabilirim?

    Tab tu?u ile komutlar? tamamlayabilirsiniz.

  4. Powershell’de kullanabilece?im k?sayollar var m??

    F7 tu?u ile komut geçmi?ini görüntüleyebilirsiniz.

  5. Bir komuta ait alt komutlar? ve metodlar? nas?l görüntüleyebilirim? Örnek get-process ile birlikte kullanabilece?im alt komutlar nelerdir?

    Get-process | get-member

  6. Bir komut yazd???mda ç?kt?y? detay?yla görmek için ne yapmal?y?m? Örnek get-process

    Get-process | FL

  7. Powershell ile bir dosyan?n içeri?ini nas?l görüntüleyebilirim? Örnek onur.txt

    Get-content onur.txt

  8. Bir klasör içerisindeki ö?elerin tamam?n? (alt klasörler ve ö?eler ile birlikte) nas?l listeleyebilirim?

    Get-childitem -recurse

  9. Bir sat?rda birden fazla komut çal??t?rabilmek için ne yapmal?y?m?

    Get-process ; write-host “merhaba dünya” (komutlar aras?nda ; i?areti kullan?lmal?d?r)

  10. Powershell içerisinde yazd???m komutlar? bir script dosyas? haline getirip bir seferde çal??t?rabilir miyim?

    Text dosyas?na komutlar? yaz?p .ps1 uzant?s?yla kaydedip powershell içerisinde çal??t?rabilirsiniz. Scriptlerin Powershell içerisinde çal??abilmesi için a?a??daki komutun bir kereli?ine çal??t?rlmas? gerekir.

    Set-ExecutionPolicy unrestricted

10 soruda Powershell hakk?nda minik fikirler vermek istedim. Her dizide 10 soru-cevap ile konuyu ve örnekleri zenginle?tirmeye çal??aca??m.

Sonraki dizilerde Powershell’in derinliklerine inmek ve spesifik görevleri yerine getirebilmek üzere ?imdilik ho?çakal?n!

Continue Reading Windows Powershell Serisi – I

Powershell Üzerinden Hızlı ve Kolay E-mail Gönderin

Dikkat edilecek olursa powershell ile erişilemeyecek yer yok!
Bu sefer de Powershell içerisinden e-mail atacağız. Bazen özellikle test amaçlı olarak hızlı bir e-mail atmanız gerekebilir. Ya da her 5 dakikada bir e-mail sunucunuza dış bir e-mail hesabınızdan e-mail atarak sisteminizin çalışabilirliğini kontrol edebilirsiniz. Ben de bu amaçla hazırladığım bu script’i kullan?yorum. İşte o script!

$hesapbilgileri = Get-Credential$kullaniciAdi = $hesapbilgileri.username.Replace(“”,””)
$parola = $hesapbilgileri.GetNetworkCredential().password
$Emailfrom=”test@hotmail.com
$EmailTo = “onur.okutucu@bilgeadam.com
$Subject = “Baki Onur OKUTUCU – MVP
$Body = “Baki Onur OKUTUCU
$SMTPServer = “smtp.live.com”
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($kullaniciAdi, $parola);
$SMTPClient.Send($Emailfrom, $EmailTo, $Subject, $Body)

Yukarıdaki script içerisinde kırmızı ile işaretlediğim yerleri kendinize göre değiştirip kullanabilirsiniz.
Script çalıştırıldığında önce sizden e-mail adresinizi ve sifrenizi isteyecektir. Sonrasında ise yukarıdaki bilgilere göre e-mail gönderecektir.

 
Yukarıdaki script sizden e-mail adresi ve parola soruyor. Bunu daha da otomatik hale getiremez miyiz?
Eğer e-mail adresi ve sifre sormasını istemiyorsanız Script’i aşağıdaki şekilde kullanmalısınız. Unutmamalısınız ki bu yöntemle sifrenizi peşin peşin script dosyasının içine yazmış oluyorsunuz. Yukarıdaki script bu noktada daha güvenli olabilir. Karar size kalmış!

$Emailfrom=”test@hotmail.com“$EmailTo = “onur.okutucu@bilgeadam.com
$Subject = “Baki Onur OKUTUCU – MVP
$Body = “Baki Onur OKUTUCU
$SMTPServer = “smtp.live.com”
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential(“test@hotmail.com“, “testparola“);
$SMTPClient.Send($Emailfrom, $EmailTo, $Subject, $Body)

Yine kırmızı alanları değiştirmeyi unutmayalım lütfen.
Bingooo!

Tesekkürler,
BakiOnur

Continue Reading Powershell Üzerinden Hızlı ve Kolay E-mail Gönderin

Powershell İçinden Domain Adı / Tescili Kontrolü

Yine Powershell, yine bir kolaylık!
Sık sık alan adı sorgulaması yapıyor musunuz?
Peki Powershell içerisinde bir fonksiyonumuz olsa, istediğimiz an onu kullanarak sorgulamalarımızı Powershell içerisinden hızlıca yapsak? Eminim hoşunuza gidecektir.
Aşağıdaki script ile yapabilecekleriniz:

  • Bir domain adının başkası tarafından alınıp alınmadığının kontrolü
  • Domain başkası tarafından alınmışsa bununla ilgili bilgiler

Aşağıdaki powershell kodumuzu profil dosyanız içine (profile.ps1) kopyalayabilir ya da whois.ps1 ismiyle profil yolunuzun içine kaydedip (daha önceki makalelerimde anlattığımm şekliyle) kullanabilirsiniz.

function whois($siteadres){
$iewhois = new-object -com “InternetExplorer.Application”
$iewhois.navigate(“http://whois.domaintools.com/$siteadres”)
start-sleep -s 3
$sonuc=$iewhois.Document.body.innertext
$sonuc3=”Bu domain ad? ba?kas? taraf?ndan al?nm??”
if ($sonuc -match “This domain name is not registered”){
$sonuc2=”Bu domain ad? bo?, siz alabilirsiniz!”
write-host $sonuc2 -foregroundcolor “green”
$iewhois.quit()
}
else{
 
write-host $sonuc3 -foregroundcolor “red”
write-host “——————” -foregroundcolor “red”
write-host $sonuc -foregroundcolor “green”
$iewhois.quit()
}
}

Kullan?m? da oldukça basit.
Örnek: whois olmayandomain.com

Örnek: whois bakionur.com


Tesekkürler,
BakiOnur

Continue Reading Powershell İçinden Domain Adı / Tescili Kontrolü

Windows 7 & Windows Server 2008 R2 SP1 Yayında!


Çıktığı günden beri rekorlara imza atan, bugüne kadarki en performanslı Windows olan Windows 7’nin SP1 versiyonu dağıtılmaya başlandı. Şimdilik yalnızca Technet ve MSDN abonolerinin erişebildiği SP1 kurulum dosyalarına önümüzdeki günlerde herkes erişebiliyor olacak. Windows 7’nin yanında Windows Server 2008 R2 SP1 de kullanıma sunuldu. Tek bir dosya ile 2 isletim sistemini de güncelleştirmek mümkün.

Continue Reading Windows 7 & Windows Server 2008 R2 SP1 Yayında!

Powershell İçinden Radyo Dinleyin!

“Bakalım Powershell’in sınırlarını ne kadar zorlayabiliyorum” yaklaşımının bir sonucu olarak geliştirdiğim bu script’i de sizlerle paylaşmak istiyorum.
Yine bir fonksiyon kullandım ve script’imi Powershell Profil yoluna attım. Böylece her Powershell açılışında fonksiyonumu tanımasını sağladım.
Bana ise bir tek Powershell’i açıp radyo yazmak düştü!

Bir form tasarımı yaptım ve aşağıdaki gibi gözükmesini sağladım.

Bütün radyo listesini çekip bana sergilediğinde tek yapmak zorunda oldugum Radyo 35’i seçip özlediğim Izmir’imi dinlemekti, ben de öyle yaptım!

İşte kaynak kodları da aşağıdaki gibi. Doğrudan kopyalayıp radyo.ps1 ismiyle kaydedip Powershell içerisinden kullanabilirsiniz.

function radyo {
 
[reflection.assembly]::loadwithpartialname(“System.Windows.Forms”) | Out-Null
[reflection.assembly]::loadwithpartialname(“System.Drawing”) | Out-Null
 
 
$form1 = New-Object System.Windows.Forms.Form
$button2 = New-Object System.Windows.Forms.Button
$button1 = New-Object System.Windows.Forms.Button
$comboBox1 = New-Object System.Windows.Forms.ComboBox
$InitialFormWindowState = New-Object System.Windows.Forms.FormWindowState
 
 
 
 
$button1_OnClick=
{
if ($radyocal){
$radyocal.quit()
}
 
 
$form1.Text = “Radyo Yukleniyor – BakiOnur Radyo”
 
$radyolar = new-object -com “InternetExplorer.Application”
$radyolar.navigate(“http://www.radyolar.org/radyolar.asp”)
start-sleep -s 2
 
$bulunanistasyon=$radyolar.Document.getElementsByTagName(“a”) | where{$_.innertext -eq $combobox1.selecteditem}
$radyocal = new-object -com “InternetExplorer.Application”
$radyocal.navigate($bulunanistasyon.href)
 
$radyolar.quit()
$form1.Text = “BakiOnur Radyo”
}
 
 
 
 
$form1_load={
$form1.Text = “Liste Yükleniyor – BakiOnur Radyo”
$radyolar = new-object -com “InternetExplorer.Application”
$radyolar.navigate(“http://www.radyolar.org/radyolar.asp”)
start-sleep -s 2
 
$link = $radyolar.Document.getElementsByTagName(“a”)
$link | foreach{
if(!($_.innertext -eq $null)){
$combobox1.items.add($_.innertext)}
 
}
 
 
$combobox1.items.remove(“Anasayfa”)
$combobox1.items.remove(“YARDIM”)
$combobox1.items.remove(“Radyolar”)
$combobox1.items.remove(“Radyo Ekle”)
$combobox1.items.remove(“ANASAYFA”)
$combobox1.items.remove(“Frekanslar”)
$combobox1.items.remove(“Sohbet Odas?”)
$combobox1.items.remove(“?leti?im”)
$combobox1.items.remove(“REKLAM”)
$combobox1.items.remove(“SIK SORULAN SORULAR”)
$combobox1.items.remove(“NEDEN D?NLEYEM?YORUM”)
$combobox1.items.remove(“HATA B?LD?R”)
$combobox1.items.remove(“?LET???M”)
$combobox1.items.remove(“Radyo ekle”)
 
 
$radyolar.Quit()
$form1.Text = “Radyo Seciniz – BakiOnur Radyo”
}
 
 
 
$button2_OnClick=
{
 
$acikapp = new-object -com shell.application
$acikradyo = $acikapp.windows() | where {$_.Type -eq “HTML Document” -and $_.locationURL -like “*http://www.radyolar.org/*”}
if($acikradyo){
$acikradyo.quit()
}
$form1.close()
}
 
$OnLoadForm_StateCorrection=
{
$form1.WindowState = $InitialFormWindowState
}
 
 
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 101
$System_Drawing_Size.Width = 252
$form1.ClientSize = $System_Drawing_Size
$form1.DataBindings.DefaultDataSourceUpdateMode = 0
$form1.Name = “form1”
$form1.Text = “BakiOnur Radyo”
 
 
$button2.DataBindings.DefaultDataSourceUpdateMode = 0
 
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 153
$System_Drawing_Point.Y = 66
$button2.Location = $System_Drawing_Point
$button2.Name = “button2”
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 23
$System_Drawing_Size.Width = 75
$button2.Size = $System_Drawing_Size
$button2.TabIndex = 2
$button2.Text = “Kapat”
$button2.UseVisualStyleBackColor = $True
$button2.add_Click($button2_OnClick)
 
$form1.Controls.Add($button2)
 
 
$button1.DataBindings.DefaultDataSourceUpdateMode = 0
 
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 153
$System_Drawing_Point.Y = 31
$button1.Location = $System_Drawing_Point
$button1.Name = “button1”
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 23
$System_Drawing_Size.Width = 75
$button1.Size = $System_Drawing_Size
$button1.TabIndex = 1
$button1.Text = “Dinle”
$button1.UseVisualStyleBackColor = $True
$button1.add_Click($button1_OnClick)
 
$form1.Controls.Add($button1)
 
$comboBox1.DataBindings.DefaultDataSourceUpdateMode = 0
$comboBox1.FormattingEnabled = $True
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 12
$System_Drawing_Point.Y = 33
$comboBox1.Location = $System_Drawing_Point
$comboBox1.Name = “comboBox1”
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 21
$System_Drawing_Size.Width = 121
$comboBox1.Size = $System_Drawing_Size
$comboBox1.TabIndex = 0
 
$form1.Controls.Add($comboBox1)
 
 
 
 
$InitialFormWindowState = $form1.WindowState
 
$form1.add_Load($OnLoadForm_StateCorrection)
$form1.add_Load($form1_load)
 
$form1.ShowDialog()| Out-Null
 
}
 

 
Umarım müzik keyfinize katkıda bulunmusumdur!
Tesekkürler,
BakiOnur

Continue Reading Powershell İçinden Radyo Dinleyin!

Cloud Computing (Bulut Bilişim) Teknolojisi

 

 

Bulut Bilişim (Cloud Computing)

Giriş

İnsanlık tarihi çok çeşitli aşama ve süreçler yaşamıştır. İlkel toplumlar önce tarım hayatıyla tanışmış ve hayatlarının önemli bir bölümünü bu hayat ile sürdürmüşlerdir. Emeğin esas olduğu bu düzen daha sonra yerini insan gücünden çok makinelerin hüküm sürdüğü sanayi devrimine bırakmıştır. Sanayi devrimi ile toplumlar üretmeye başlamış ve üretim, insan hayatının vazgeçilmez bir parçası haline gelmiştir. Günümüzde de sanayileşmenin önemi büyük olmakla birlikte toplumlar artık bilgiyi de sermaye olarak kullanmaya başlamışlar ve bilgi üretmeye başlamışlardır. Bu da doğal olarak sanayi toplumlarının yavaş yavaş aslında Bilgi Toplumu’na dönüşmesi olarak algılanmaktadır. Sosyal, ekonomik ve teknolojik faktörler birlikte çalışarak “Bilgi”nin de bir teknoloji olarak değer kazanmasına fayda sağlamışlardır. Geldiğimiz noktada bilgi teknolojileri, sanayi başta olmak üzere insanın var olduğu her alanda çok önemli bir yapı taşı haline gelmiştir.

Bilgi Teknolojileri’nin hızlı yükselişi bilginin ölçülebilirliğini gündeme getirmiş ve çalışmalar bilginin saklanması, yeniden kullanılması ve üretime dönüştürülmesi esaslarıyla devam etmiştir. Bu da hiç şüphesiz bilgisayarların hayatımıza hızlı bir giriş yapmasına sebep olmuştur. Böylelikle bilgisayarlar; kişisel hayatımızdan iş hayatımıza, ekonomiden sanayiye her alanda vazgeçilmesi imkansız bir araç haline gelmiştir.

Özellikle 90’lı yılların başından itibaren Internet servislerinin hızla ilerlemesi ile çok çeşitli teknolojiler kullanılmaya başlanmış ve bu hızlı teknoloji yükselişi, birçok hizmeti beraberinde getirmiştir. Bilgi Teknolojleri alanında meydana gelen bu hızlı değişimler, bundan 10 sene önce hayal bile edemeyeceğimiz gelişmeleri hayatımızın bir parçası haline getirmiştir. Şüphesiz her yeni teknoloji ve oluşum bir bakıma farklı iş sahaları ve farklı organizasyonları doğurmuştur. Özellikle Internet’in doğuşu ile birlikte gerek bireysel hayatımız, gerekse şirket yapıları bu değişime ayak uydurmak zorunda kalmış, günlük hayatta sıklıkla yaptığımız bir çok işin içine teknoloji faktörü ve yaklaşımı girmiştir.

Elbette, bütün bu teknolojik gelişmeler, farklı mimarilerin ve gereksinimlerin ortaya çıkmasına ön ayak oldu. Daha önce eksikliğini hissetmediğimiz fakat teknolojinin hayatımıza girmesiyle kendini gösteren gereksinimlerimiz de yine farklı bir teknolojik yaklaşım sayesinde çözüm buldu çoğu zaman. Öyle ya; Internet’ten önceki hayatımızı şöyle kısaca bir gözden geçirecek olsak, banka işlerinden devlet işlerine, sosyal ve kültürel gereksinimlerimizden hukuki hayatımıza kadar her alanda ne kadar sınırlı bir durumda olduğumuzu rahatlıkla görebiliriz. Elbette bu değişim, devlet, hukuk, eğitim, sosyal ve kültürel yapıyı da en az teknoloji kadar değişime mecbur kıldı ve kılmaya da devam edecek şüphesiz.

Bilginin işlenebilirliği ve yönetilebilirliği esas alındığında bunun için çok farklı teknolojiler ve mimariler kullanılıyor diyebiliriz. Özellikle kişisel bilgisayar devriminin ardından ev hayatımıza giren bilgisayarlar ile günlük işlerimizi yürütebilmek fazlasıyla mümkün olabiliyor. Büyük şirket yapılarında da durum bundan çok farklı değil. Yapılan işin konusu ne olursa olsun bilgisayarlar bu işin yapılmasında en önemli oyuncu durumunda yer alıyor. Şirketler, sunduğu hizmetleri bilgisayar ortamında planlıyor, geliştiriyor ve sunuyorlar. Bu süreç elbette bilgi teknolojilerine de gerekli yatırımı yapma zorunluluğunu ortaya koyuyor. Böylece, günümüzde rahatlıkla görebileceğimiz büyük veri merkezleri şirketler tarafından kullanılıyor ve bütün iş bu merkezler aracılığıyla yürüyor.

Bilgi ve Bilgi Teknolojileri

Bilgi, teknolojik anlamıyla verinin işlenmiş hali olarak tanımlanıyor. Veri ise bilginin üretilmesinde kullanılan her bir aşamayı, öğeyi ya da sürece işaret ediyor. Örnek olarak 2+3=5 söyleminde 5 bilgiyi, 2 ve 3 ise veriyi ifade ediyor. Bir müziği oluşturan notalar veri iken müziğin belli bir ahenk ile oluşturduğu bestenin bilgi olarak kabul edilmesi yanlış olmayacaktır. Yine bir bankanın müşterisi için yaptığı faiz hesabında bir çok veri birleşerek nihai olan faiz oranlarını ortaya koyar. Burada da sonuç olarak bilgiye ulaşılır. Bütün bu örneklerde olduğu gibi bilgi, üzerinde emeğin ve belirli bir sürecin olduğu birikimi ifade eder. Daha önceleri farklı şekillerle saklanan bilgi ve veriler günümüzde elektronik ortamda saklanmakta ve işlenmektedir. İlginç ama eskiden kaç ortalı deftere sahip olduğunuz önemliyken şimdilerde kaç GB hafızaya sahip olduğumuzla ilgileniyor olmamızın sebebi de bu olsa gerek!

 

 

 

 

 

 

 

 

 

Resim 1. Veri saklama alışkanlıklarının değişimi

Günümüde şirketler; saklamak zorunda oldukları bilgileri, kendi yapılandırdıkları Veri Merkezleri’nde (Datacenter) muhafaza ediyorlar. Bu büyük veri merkezlerinde çok sayıda sunucu bilgisayar, ağ ve güvenlik donanımı yer alıyor ve bu yapının bütün işleyişi şirketlerin kendileri tarafından sağlanıyor. Elbette bazı istisnalar olabiliyor. Örneğin bir şirkete ait Web Sitesi’nin şirket adına başka bir şirketin sunucularında barındırılması ve yönetilebilmesi sağlanabiliyor. Bu, daha çok küçük çaplı işletmelerin maliyet avantajı sebebiyle tercih ettikleri bir durum oluyor. Büyük kurumlarda ise birçok servis şirketin kendi ver merkezlerinden yürütülüyor. Bunun sebebi de hiç şüphesiz bilgi gizliliğinin kontrol altına alınması.

Bir kurumda çalışan kişilerin kullandıkları bilgisayarların merkezi olarak yönetildikleri ana bilgisayarlara “Sunucu Bilgisayar” adını veriyoruz. Bu sunucular ile ortamda bulunan bütün bilgisayarların işleyişi kontrol altına alınabiliyor. Böylece çalışanlar tarafından yürütülen işin verimli ve kesintisiz olarak yapılması sağlanabiliyor, en azından amaçlanıyor! Amaçlanıyor diyorum çünkü; bir çok sebepten ötürü veri merkezlerinin işleyişi aksayabiliyor ve işin yapılması engellenebiliyor. Sistemlerde kısa bir aksama olabileceği gibi büyük felaketler de olabiliyor. Böylece yapılan iş (üretim, planlama, yönetim vs.) verimsizleşebiliyor ya da tamamen durabiliyor. Bunu için kritik iş yürüten kurumlar, veri merkezlerinde meydana gelebilecek aksaklıklar ya da felaketler için “Felaketten Kurtarma Planları” geliştiriyor. Herhangi bir sorun durumunda nasıl müdahale edileceği, hangi aksiyonların alınacağı ve sistemin eski stabil durumuna en kısa sürede nasıl getirilebileceği bu planlar ile sağlanıyor. Bir bankaya gittiğinizde gişedeki görevlinin size “Şu anda sistem yok, bilgilerinizi göremiyorum” demesinin de arkasında veri merkezlerinde meydana gelen aksaklık ya da kesintiler yatıyor aslında.

Veri merkezlerinde sunulan hizmetin kurumlara maliyetinin yüksek oluşu, yönetim zorlukları ve sorunlara anlık müdahale edebilecek personel sıkıntısı gibi sebepler, yepyeni bir anlayışın ortaya çıkmasına ön ayak oldu diyebiliriz. Bulut Bilişim! (Cloud Computing)

Resim 2. Bulut Bilişim (Cloud Computing)

Bulut Bilişim (Cloud Computing)

Bulut Bilişim (Cloud Computing), basit anlamıyla internet üzerinden sağlanan kaynakları ve servisleri ifade ediyor. Bulut kelimesinin kullanılmasının sebebi hizmetin gözle görülmeyen bir ağ olan Internet üzerinden sağlanmasıdır. Aslında, özellikle Internetin kullanılmaya başlanmasıyla zaten bir çok servis bulut üzerinden sağlanmaktaydı. Buna en güzel örnek DNS (Domain Naming System) olacaktır. Internet ortamında bulunan her bir aygıtın kendine özel bir IP (Internet Protocol) adresi bulunur ve bu sayısal adresler daha kolay akılda kalabilmesi için isimlerle ifade edilirler. İşte Internet ortamında bu sayısal adresleri isimlerle eşleştiren sunucu bilgisayarlara DNS adı verilir. Internet’te bir Web sitesine girmek istediğinizde de (ör: www.bakionur.com) aslında önce modeminiz sizi baplı bulunduğunuz DNS bilgisayarına yönlendirir. Bu DNS bilgisayarı da sizin istediğiniz internet sitesinin ismini sayısal adresine dönüştürerek o adresi bularak size yönlendirir. Böylece siteye girmiş olursunuz. Bir kurum bu DNS servisinde bulunan milyarlarca kaydı kendi ortamında yapılandıracağı yerel bir DNS ile de verebilir. Lakin bunun yönetimi düşünüldüğü kadar kolay değildir. Çünkü bir dizi yönetim, değişiklik ve bakım faaliyeti gerekmektedir ve kurumlar bunun altından tek başlarına kalkamazlar. Bu sebeple merkezi olarak bu hizmeti veren kurumlardan destek alırlar. Aynı şekilde kurumlar, kendilerine ait web sitelerini kendi ortamlarında muhafaza edebilirler ve dış dünyaya bu şekilde yayın yapabilirler ya da web sitelerini merkezi kurumların veri merkezlerlerinde barındırabilirler. İşte bu sebeple yönetimsel olarak iş yükü getiren bu tür servisler merkezi olarak başka kurumlar tarafından verilirler. Bu yaklaşımın biraz daha genişletilmiş şekli olarak düşünürsek, kurumlar, artık kendi sunduğu bir çok hizmeti de Bulut bilişim servis sağlayıcıları üzerinden sunma yoluna gidebiliyorlar.

Bulut Bilişim; içerisinde bir çok platform, servis ve altyapı barındırır. Örnek olarak; kurumlar, kendi veri merkezlerinde kullanılmak üzere sunucu donanımlarına para harcamamak için Bulut hizmeti veren bir şirketin veri merkezinde bulunan sunucu donanımlarını kullanabilirler. Bu durumda Bulut üzerinden sağlanan servis donanımsal tabanlı olacaktır. Bu sayede kurumlar, kendi veri merkezlerindeki sunucuların donanımsal ya da yazılımsal bakımını, hizmeti veren kuruma bırakmış olurlar. Bu ve bunun gibi birçok senaryoda kurumlar hizmetleri Bulut Bilişim Hizmet Sağlayıcısı’ndan (Cloud Computing Service Provider) alabilirler.

 

Resim 3. Bulut Bilişim Hizmeti Katmanları

Bulut Bilişim kavramını son zamanlarda oldukça değerli kılan faktörleri şöyle bir sıralayalım:

Maliyet Avantajı: Donanım, yazılım ve uygulama satın almak yerine hizmet sağlayıcıların sunduğu hazır donanım ve yazılımlar kullanılmaktadır. Bu sebeple oldukça yüksek bir maliyet avantajı sağlar.

Zaman Avantajı: Sunulan hizmetlere zaman ve mekan sınırlaması olmadan erişilebilir. yerel veri merkezleri kullanılmadığı için bakım ve yönetim faaliyetleri için harcanan zaman büyük oranda azalmaktadır.

Esneklik: Kullanılacak altyapı, platform ya da yazılımları kendi ihtiyaçlarınıza göre belirleyebilir ve istediğiniz zaman üzerlerinde değişiklik yapabilirsiniz. Web üzerinden bütün donanım ve yazılımlarınızı yönetebilirsiniz. Hizmet sağlayıcınızı değiştirerek esnek planlarınızı hayata geçirebilirsiniz.

Uyumluluk: Bir uygulama geliştirmek istiyorsunuz ve bu uygulamanın çalışacağı uygun donanım ve platforma sahip değilsiniz. Bu durumda bil,e farklı hizmet sağlayıcıların sunduğu oldukça geniş bir yelpazeden, ihtiyaçlarınıza en uygun olan seçeneği kullanabilir ve geliştireceğiniz uygulamalar ile uyumlu platforma sahip olabilirsiniz.

Bulut Bilişim, katmanlarla çalışan bir yapıya sahip olduğu için herkatmanda çalışan mimariler ve teknolojiler birbirinden farklıdır. Gün geçtikçe de bu katmanların aralarına alt katmanlar yerleşmekte ve Bulut Bilişim teknolojisi daha karmaşık ama daha sağlam bir karakteristiğe kavuşmaktadır. Bulut Bilişim’in temelinde 3 katman yer almaktadır. Bunlar:

  • IaaS (Infrastructure As A Service) (Bulut Altyapı Hizmeti)
  • PaaS (Platform As A Service) (Bulut Platform Hizmeti)
  • SaaS (Software As A Service) (Bulut Yazılım Hizmeti)

Resim 4. Sunulan Bulut Bilişim Teknoloji Hizmetleri

 

O halde “Bulut Bilişim Hizmet Sağlayıcıları hangi hizmetleri sunmaktadır?” sorusunu hizmetleri tanıyarak yanıtlayalım.

SaaS (Bulut Yazılım Hizmeti)

Kurum dışarısında barındırılan ve ihtiyaç duyulduğunda internet üzerinden erişilen bütün yazılım tabanlı hizmetleri temsil eden Bulut Bilişim hizmetidir. Internet üzerinden sunulan bu hizmetin kapsamı oldukça geniştir. Kişilerin kişisel e-posta adreslerinin barındırıldığı sunucular da (hotmail, gmail vb.) aslında bu hizmet ile sunulmaktadır. Kurumların çalışanlarına sunduğu e-posta sistemlerini de bu kategoriye sokmak mümkün elbette. Bunun yanında çalışanların internet üzerinden özel dosya ve klasörlere ulaşabilmesi, kurumsal bilgisayar uygulamalarına yine internet üzerinden erişebilmeleri de bu sayede sağlanabilmektedir. Özel veritabanı uygulamaları, arşiv ve yedekleme çözümleri, çevrimiçi mesajlaşma ve toplantı uygulamaları da bu kategoride kullanılabilecek diğer hizmetlerdir. Bu hizmet sayesinde kullanılan uygulamalara Internet’e bağlı herhangi bir bilgisayar ile ulaşılabilir ve gerek kişisel gerekse kurumsal amaçlı kullanılabilir. Böylece uygulamanın bakımı, güncelleştirilmesi ve erişilebilirliği (high-availability) kesintisiz olarak sağlanmış olur. Kurum veri merkezi yerine bu hizmeti sunan kuruluşların veri merkezinde bulunan uygulamalar ile daha hızlı ve güvenli bir yapı kurulabilmektedir. Bu hizmeti daha iyi anlayabilmek için bir şirketin e-posta yapısını örneklendirebiliriz. Şirket; çalışanlarına e-posta hizmetini http://mail.bakionur.com adresinden vermek isteyebilir. Bu durumda http://mail.bilgeadam.com adresi üzerinde bulunan e-posta uygulaması aslında Saas hizmeti veren kurumun veri merkezinde barındırılmaktadır. Bu durumda çalışanlar bunun farkında olmadan internet üzerinden kesintisiz ve hızlı bir şekilde e-postalarına ulaşabilmektedir. Şirketler bu hizmet için Bulut Uygulama Hizmet Sağlayıcısı’na belirli ücretler ödemek koşuluyla bu hizmeti çalışanlarına sunabilirler. Bu sayede uygulamanın barındıralacağı sunucu bilgisayarın maliyetine katlanmamış ve kesintisiz bir hizmet sunmuş olurlar.

Resim 5. Kullanıcılar SaaS Hizmetlerine Web tarayıları aracılığıyla her yerden erişebilirler.

SaaS hizmetine bir başka hizmet de çalışanların bilgisayarlarına yüklenmeyi gerektiren tarzda uygulamalardır. Bir şirketin İnsan Kaynakları departmanının, çalışanların bilgilerini yönettiği bir uygulama örneğinden gidersek; bu uygulamalar da yine Saas Hizmet Sağlayıcı’nın sunduğu Web sitesi üzerinden Web tabanlı olarak çalışanlara sunulmaktadır. Bu sayede İnsan Kaynakları Departmanı çalışanlarının kendi bilgisayarlarına program yüklemelerine gerek kalmamakta ve yer/zaman bağımsız olarak bu uygulamaya kendi hesap bilgileri ile erişebilmektedirler. Bu da doğal olarak iş verimliliğini arttırmaktadır.

Saas Hizmetinin sağladığı faydaları ise şu şekilde listeleyebiliriz:

  • Eğer hizmet kurum tarafından kullanılacaksa yerel bir sunucu için donanım ayırmak zorunda kalınmayacağı için önemli bir maliyet avantajı sağlayacaktır.
  • Yine kurumların bu sunucuların ve üzerlerine yükleyecekleri uygulamaların bakımları ile uğraşmalarına gerek kalmayacaktır.
  • Internet üzerinden sunulan hizmet için kullanıcı sayısına ya da kullanım süresine göre (aylık, yıllık vb.) ücret ödeyecekleri için çok daha maliyetli ve verimli bir kullanımı sunacaktır.
  • Her yerden erişim sağlayacağı için iş verimliliğini arttırmaktadır.
  • Felaket durumlarında (deprem, sel, yangın vs.) veri kaybını önleyeceği için güvenilir bir yapı sunmaktadır.

SaaS hizmeti sunan kurum ve kuruluşlardan bazıları ise şöyle:

  

Tablo 1. Bazı SaaS (Software As A Service) (Bulut Yazılım) Hizmet Sağlayıcıları

 

PaaS (Bulut Platform Hizmeti)

Diğer bir Bulut hizmeti olan PaaS (Platform As A Service) ise kişi ve kurumlara bazı uygulamaları geliştirebilmeleri için gerekli olan platformu sağlar. Bir başka deyişle; bir yazılım geliştiricinin belirli bir yazılımı geliştirebilmesi için uygun donanıma, yazılıma ve çeşitli bileşenlere ihtiyacı vardır. Bütün bunların hizmet sağlayıcısı tarafından sağlanması ile her yerden ulaşılabilen hazır bir platforma ulaşılabilmektedir. Bu da hem zamandan hem de maliyetten tasarruf anlamına gelmektedir.

Bir program geliştirici tasarladığı programı geliştirmek için önce spesifik bir işletim sistemine (Windows, Linux vb.) sahip olmalıdır. Elbette kullanmış olduğu bilgisayarın donanımı da kullanacağı işletim sistemi ile çalışabilecek konfigürasyonda yapılandırılmalıdır. Donanım ve işletim sistemine sahip olduktan sonra bu işletim sistemi üzerinde çalışacak geliştirme araçlarına (Visual Studio, Java, C, Delphi vb.) ihtiyaç duyacaktır. Bunun yanında bu geliştirme araçlarının ihtiyaç duyacağı veritabanı da (SQL, MySQL vs.) sağlanmalıdır. Bütün bunların kişi tarafından sağlanması büyük bir emek ve maliyet getirecektir. Bu bağlamda PaaS oldukça verimli bir platform olarak düşünülmektedir. PaaS yapısında kişi istediği işletim sistemi üzerinde istediği araçları seçerek doğrudan asıl amacı olan uygulama geliştirmeyle uğraşabilecektir.

Uygulama geliştiriciler tarafından Web üzerinden geliştirilen uygulamalara şirket çalışanları da yine Web üzerinden ulaşabileceklerdir. Böylece zaman ve mekan bağımsız olarak geliştirilen uygulamalar yine aynı mantıkla erişime açılmış olacaklardır.

PaaS hizmetinin özelliklerini şu şekilde sıralayabiliriz:

  • Donanım, işletim sistemi, veritabanı uygulaması ve uyumluluk için ekstra bir maliyet gerektirmez.
  • Bir uygulamanın ihtiyaç duyacağı platformu tam anlamıyla bir hizmet olarak web tabanında sunar.
  • İşletim sistemi ve uygulamalar için ayrı ayrı lisans ihtiyacını ortadan kaldırır. Yalnızca hizmet sağlayıcıya hizmet bedeli ödenir.
  • Test ortamlarının kullanılması için idealdir.
  • Özellikle uygulama geliştiriciler için uygun bir platform sağlar.

PaaS bir platform olduğu için içerisinde hem işletim sistemlerini hem de bu işletim sistemleri üzerindeki uygulamaları barındırır. Bu yapısıyla değerlendirildiğinde Bulut Bilişim (Cloud Computing) sistemi içerisinde SaaS (Software as a Service) yapısını da içine almaktadır. Bir başka deyişle; Bulut Yazılım Hizmeti, Bulut Platform Hizmeti’nin üzerinde çalışmaktadır.

PaaS hizmeti sunan kurum ve kuruluşlardan bazıları ise şöyle:

  

Tablo 2. Bazı IaaS (Infrastructure As A Service) (Bulut Altyapı) Hizmet Sağlayıcıları

 

IaaS (Bulut Altyapı Hizmeti)

Bir kurumun ihtiyaç duyacağı bütün donanım, ağ ekipmanları ve depolama birimlerini ifade eden hizmet olarak bilinmektedir. Özellikle günümüzde bir veri merkezini yapılandırmak epey maliyetli olabilmektedir. Bir veri merkezi yapılanmasında dikkat edilmesi gereken çok farklı değişken bulunur. Öncelikle veri merkezinin kurulacağı yerleşkenin belirlenmesi oldukça önemlidir. Veri merkezinin kurulacağı ülkenin ve şehrin fiziksel ve stratejik konumu bu konuda belirleyici olabilmektedir. Örnek olarak deprem ya da sel bölgesinde bulunan bir veri merkezi her an bir felakatle karşı karşıya olarak kabul edilebilir. Yerleşim birimine karar verildikten sonra veri merkezi içerisinde kullanılacak elektrik hizmetinin kalitesi ve ihtiyaçları karşılayabilme seviyesi önem kazanır. Bu aşamadan sonra karar verilmesi gereken elbette veri merkezi içerisinde kullanılacak donanımların maliyeti ve yönetimidir. Sunucular, bu sunucuların bağlantı kuracağı depolama birimleri ve birbirleriyle ya da başka veri merkezleri ile haberleşmek için kullanılacak ağ ekipmanları birer maliyet unsurudur. Bütün bunların yanı sıra veri merkezinin sürekli ayakta kalabilir durumda olmasının garanti altına alınıyor olması gerekmektedir. Bu sebeple bir çok şirket birincil veri merkezlerinin yanı sıra başka bir ülke ya da şehirde ikincil veri merkezleri kurmakta ve kritik sunucularını bu iki merkez arasında senkronize etmektedir. Bu sayede veri merkezlerinden birinde bir felaket meydana geldiğinde ikincil veri merkezinin talepleri karşılaması sağlanmaktadır.

Bütün bu unsurların doğurduğu bir gereksinim olarak düşünüldüğünde IaaS, kurumların bu sorumluluklarını IaaS Hizmet Sağlayacı’larına bırakma ihtiyacı hissetmesine sebep olmaktadır. IaaS Hizmet Sağlayıcıları da sundukları fiziksel ve sanal mimariler (Physical and Virtual Environment) ile hzimetlerini sunmaktadırlar. Bu sayede kurumlar, kurum içerisindeki bilgisayarların ve uygulamaların yönetimini uzaktan (Web üzerinden) sağlamaktadırlar. Son zamanlarda oldukça bahsedilen Sanallaştırma (Virtualization) teknolojileri de bu yapı içerisinde oldukça önemli bir yer tutmaktadır. Veri merkezi sağlayıcıları (IaaS Providers) kendi bünyelerindeki fiziksel sunucuların üzerlerinde sanal mimari koşturmaktadırlar. Bu sayede örneğin bir fiziksel sunucuyu 3 tane sunucu gibi kullanabilmekte ve bu 3 sunucuyu ayrı ayrı 3 kuruma tahsis edebilmektedir. Elbette bu 3 sanal sunucu birbirinden tamamen izole edildiği için herhangi bir güvenlik sıkıntısı oluşturmamaktadır. Böylelikle yüzlerce fiziksel sunucuya sahip olan Iaas Hizmet Sağlayıcıları aslında binlerce sunucuyu kurum ve kuruluşlar için kiralamaktadır.

Resim 6. Örnek Sanallaştırma Mimarisi

Sanallaştırma mimarisine kısaca değinecek olursak; bir sunucu donanımı üzerindeki katmanların çeşitli sanallaştırma teknolojileriyle birbirinden bağımsız alt katmanlara ayrılması ifade edilmektedir. Bu sayede bir tek donanım ile aslında birden fazla sunucu teorik olarak kullanılabilmektedir.

IaaS yapısında sunucuların yanı sıra depolama birimleri (storage) ve ağ ekipmanları da yer alır. Böylece komple bir veri merkezini oluşturan öğeler önceden tahsis edilmiş olur. Kurumlara düşen ise yalnızca bu sanal veri merkezlerini kiralamak ve uzaktan (Web) bu yapıyı yönetmektir.

 

Resim 7. IaaS (Infrastructure As A Service) Yapısı

 

IaaS hizmeti sunan kurum ve kuruluşlardan bazıları ise şöyle:

  

Tablo 3. Bazı IaaS (Infrastructure As A Service) (Bulut Altyapı) Hizmet Sağlayıcıları

 

Diğer Bulut Bilişim Hizmetleri

Bulut Bilişimi farklı katmanlar ile tanıdığımıza göre artık büyük resmi bir kere daha hatırlamakta fayda var sanırım. Sunulan servislerin kişi ya da kurumlara zaman ve mekan bağımsız olarak ulaştırılmasını amaç edinen bu yapıda, her hizmetin bir katmanı olduğunu gördük. En altta donanımsal öğelerin bulunduğu IaaS (Infrastructure As A Service), orta katmanda; İşletim sistemi, veritabanı ve yazılımsal araçların bulunduğu PaaS (Platform As A Service) ve son olarak en üst katmanda, kişi ya da kurumların uygulamalarını temsil eden SaaS (Software As A Service). Tüm bu katmanlar ile farklı hizmetler farklı şekillerde hedef kitlelere ulaştırılabilmektedir.

Bulut Bilişim’in (Cloud Computing) son 1-2 yıl içerisinde oldukça önem kazanmasının ardından farklı Bulut Bilişim alt katmanları ve mimarileri de yerini almaya başladı. Yukarıda detaylarıyla açıklanan katmanların yanı sıra farklı amaçlara hizmet etmek amacıyla sunulan diğer bir katmanı da (DaaS) kısaca tanıyalım.

DaaS (Desktop As A Service) (Bulut Masaüstü Hizmeti)

Günlük hayatımızda sürekli bir koşturmaca içerisindeyiz. Evde, işte ya da seyahatte sürekli elektronik bilgiye ihtiyaç duyuyoruz. Bu da bilgilerin farklı yerlerde etkileşimden uzak kamasına sebep olabiliyor çoğu zaman. Örnek olarak; işyerimizde çalıştığımız bir hesap tablosunu daha sonra evde çalışmak üzere taşınabilir diskimize kopyalayıp evimize götürüyoruz. Evde de bu hesap tablosu üzerinde çeşitli değişiklikler yapıp yine taşınabilir diskimize kopyalayıp ertesi gün iş yerimize götürüyoruz. Bu süreç, yapılacak işin yoğunluğuna göre çok daha karmaşık ve sıkıcı olabiliyor. Kimi zaman Internet üzerinden VPN (Virtual Private Network) bağlantıları kurarak evimizden işyerimize bağlanıyoruz. Fakat bağlantı ya da yetki sorunları sebebiyle her bulunduğumuz yerde bu bağlantıları gerçekleştiremeyebiliyoruz. Bulut Bilişim Teknolojileri’nde asıl amaç işi kolaylaştırmak, yönetilebilirliği kuvvetlendirmek ve zamandan tasarruf sağlamaktır. Bu doğrultuda son zamanlarda kullanılan yeni bir teknolojiden de bahsetmek istiyorum. DaaS (Desktop As A Service) (Bulut Masaüstü Hizmeti).

Bu mimaride asıl amaç kişilerin kendi bilgisayarlarında kullandıkları yapıyı Internet ortamına taşımaktır. Çoğumuz bilgisayarımızda masaüstü simgeleriyle ulaştığımız programlarımızı, çeşitli klasörler içersinde bulunan dosyalarımızı ve kendimize özel ayarlarımızı kullanıyoruz. Bu yapının olduğu gibi Internet ortamında olduğunu düşünmek oldukça keyif verici aslında. Biraz daha açacak olursak; Internet üzerinden bir web sitesine girsek ve bu site içerisinde kendi masaüstümüzü görebilsek. Hatta hem iş hem de evde kullandığımız bilgisayardaki masaüstlerini aynı anda görebilsek hiç de fena olmaz. İşte DaaS bu temelde çalışan bir katmandır. Internetin bulunduğu her ortamda yalnızca Web sitesi aracılığıyla kendi masaüstü görünümünüze, ayarlarınıza ve dosyalarınıza ulaşabilirsiniz. Şimdi bunu canlı bir örnekle somutlaştıralım.

DaaS hizmetini veren bir hizmet sağlayıcısından örnek verelim. Bu hizmetin adı Mesh. Bu yapıda ev, iş ve diğer bilgisayarlarınızı mesh sistemine kaydediyorsunuz ve internet üzerinden ortak bir masaüstü sayesinde bütün bu bilgisayarlarınıza aynı anda dosya kopyalayabiliyor ve değişiklikleri aynı anda her tarafa gönderebiliyorsunuz. Örneğin hem işyerinizde hem de evinizde “BakiOnur_dosyalar” adlı bir klasörünüz var. Siz Mesh yapısına Internet üzerinden bağlandığınızda, orada da bir “BakiOnur_dosyalar” klasörü görüyorsunuz ve aslında bu klasör ve içindeki dosyalarda yapılan bütün değişiklikler, hem iş hem de evinizdeki bilgisayarınızın içindeki “BakiOnur_dosyalar” klasöründe gerçekleşiyor.

Resim 8. Microsoft Mesh Hizmeti ile birden fazla bilgisayarda bulunan klasörlerinizi aynı anda eşitleyebilirsiniz.

 

Resim 9. Ev bilgisayarında yapılan değişiklik iş bilgisayarında da anında uygulanıyor

Bulut Bilişim hizmetleri çoğunlukla büyük kurum ve kuruluşlar tarafından tercih ediliyor. Fakat yukarıda belirttiğim bu eğlenceli mimari, önümüzde tüm kullanım alanlarını etkileyecek bir “Bulut” fırtınasının bizi beklediğinin en canlı habercisi.

Bulut Bilişim (Cloud Computing) Hizmet Sınıfları

Bulut Bilişim Hizmetleri’nin sunumu ya da kullanımı birbirinden farklı senaryolarla gerçekleştirilmektedir. Sunulan hizmetin hedef kitlesinin ve amacının da bu noktada rolü büyüktür. Yukarıda çeşitli örneklerle ifade edilen bu hizmetleri alan kurumların ya da kişilerin, bu hizmetleri kullanış amacı, hizmetlerin sunuluş şeklini de farklılaştırmaktadır. “Bulut” kelimesi arkasında yatan anlamı hatırlayacak olursak; bir yerlerde sunulan hizmeti ifade etmektedir. Önceleri bu “bir yer” ifadesi özellikle büyük çaplı kurumlar için bir tereddüt oluşturmuştur. Bir Hizmet Sağlayıc’nın bünyesinde barındırlan çok sayıda irili ufaklı kurumun verileri ve bu verilerin güvenliğinin servis sağlayıcı tarafından korunma zorunluluğu beraberinde hizmetlerin farklı sanal duvarlar içerisinde sunulmasını sağlamıştır. Bulut Bilişim Teknolojileri’nde kullanılan “Bulut” kategorilerine bakalım şimdi de…

Public Cloud

Genel anlamıyla Bulut Bilişim yapısını oluşturmaktadır. Bütün hizmetlerin Internet üzerinden birden çok kurum, kuruluş ve bireyler arasında paylaştırılmasını ele alır.

Private Cloud

Bu yapıda kurum ve kuruluşlar, güvenlik sebebiyle, kendi hizmetlerini Internet ortamında herkesin erişimine açık olmayan özel ağlar içerisinde alırlar. Bu yönüyle daha maliyetli bir çözüm oluşturmaktadır.

Community Cloud

Bir ya da birden fazla kurumun ortak bir alanda hzimetleri paylaşmasıdır. Kendi topluluklarını oluşturan bu kurum ve kuruluşlar Internet ortamından farklı olarak kendi veri merkezlerini ortak olarak paylaşıma açarak var olan servislerini birlikte kullanırlar. Bir kurum, topluluk içindeki diğer kurumlara özel bi hizmet sağlarken, bir başka kurum yine topluluk içindeki diğer kurumlara farklı bir hizmet sunmaktadır. Böylece kaynaklarını daha az maliyetli bir çözüm ile paylaştırmaktadır.

Sonsöz

Gelişen teknolojiler, sürekli farklı mimarilerin hayatımıza girmesine vesile olmaktadır. Bulut Bilişim (Cloud Computing) teknolojisi de geleneksel teknolojilerin yerini çok kısa sürede alabilecek hızda ilerlemektedir. Bir çok hizmet dinamik bir yapıya kavuşmakta, kesintisiz ve esnek çözümlere doğru kaymaktadır. Bulut Yazılım, Bulut Altyapı, Bulut Platform ve Bulut Masaüstü derken çok yakın bir süreçte (EaaS) Everything As A Service yapısına geçiş yapmayacağımızı kim bilebilir ki!

 

Teşekkür ederim,

Baki Onur OKUTUCU

Continue Reading Cloud Computing (Bulut Bilişim) Teknolojisi

Active Directory BitLocker Recovery Password Viewer (Windows 7 & Windows Server 2008 R2)

Client makinelerin Bitlocker ile sifrelenmeleri durumunda, kurtarma anahtar?n?n (RecoveryKey) Active Directory ortam?nda saklanmas?n? sa?layabilirsiniz. Bu sayede kullanicilar?n sifreledikleri alana ula?mak için girdikleri parolalar? veya USB belleklerini kaybetmeleri durumunda merkezi olarak anahtarlar? Active Directory ortam?nda geri ça??rabilirsiniz. Bu i?lemin yap?labilmesi için Group Policy ile BitLocker teknolojisinin aktif edilip spesifik detaylar?n?n da konfigüre edilmesi gerekiyor ki sifreleme ve kurtarma anahtarlar? Active Directory veritaban?nda tutulabilsin. Active Directory Users and Computers konsolu içerisinde bu bilgiye ula?abilmek için farkl? yollar bulunuyor. BitLocker ile anahtarlar?n merkezi olarak tutulmas? ile ilgili ayr?nt?lar? daha sonraki yaz?lar?mda payla??yor olaca??m.

E?er Windows Server 2008 R2 bir sunucuya sahipseniz ya da Windows 7 üzerinden yönetim gerçekle?tiriyorsan?z bu durumda bir eklenti yüklemenize gerek kalm?yor. Tek yapman?z 2008 R2 için gereken Server Manager / Features / Remote Server Administration Tools / BitLocker / BitLocker Recovery Key Password Viewer özelli?ini yüklemek . Windows 7 için ise Add Remove Program alt?ndan ayn? arac? yükleyebilirsiniz.


Bu yüklemenin ard?ndan Active Directory Users and Computers içerisinde Domain üzerine t?klay?p Actions menüsüne geldi?inizde Find Bitlocker Recovery Password bölümünün olu?turu?unu görebilirsiniz.


E?er Windows Server 2008 veya Windows Vista ile çal???yorsan?z bu durumda yukar?da bahsetti?im arac? kendinizin indirmesi ve kurmas? gerekiyor. Bu arac? da a?a??daki linken bulabilirsiniz.

Active Directory BitLocker Recovery Password Viewer

http://www.microsoft.com/downloads/details.aspx?FamilyID=2786fde9-5986-4ed6-8fe4-f88e2492a5bd&displaylang=en

 

BitLocker ile ilgili Diger yararl? araç ve dökümanlar için a?a??daki linklere bir göz atman?zda fayda var.

Configuring Active Directory to Back up Windows BitLocker Drive Encryption and Trusted Platform Module Recovery Information

BitLocker Repair Tool

BitLocker Drive Preparation Tool

Windows 7 Walkthrough: BitLocker and BitLocker to Go

Windows BitLocker Drive Encryption Design and Deployment Guides

Continue Reading Active Directory BitLocker Recovery Password Viewer (Windows 7 & Windows Server 2008 R2)

Microsoft Türkiye Windows Server 2008 R2 & Windows 7 Geli?mi? Group Policy Ayarlar? Seminerim

“Teknik Topluluklar Bulu?uyor” temas? alt?nda Microsoft Türkiye’de verdigimiz seminerlerden biri olan bu seminerde de Windows Server 2008 R2 ve Windows 7’ye ili?kin yeni özelliklere ve demolara yer verdim. Kaç?ranlar için i?te seminer videosu!
http://vimeo.com/11357724

Continue Reading Microsoft Türkiye Windows Server 2008 R2 & Windows 7 Geli?mi? Group Policy Ayarlar? Seminerim