| Üye olun RSS

Cloud Hakkında

Eylül 28th, 2010 | 5 Comments | Posted in Internet, Linux, Mobile, sanal makina, web

Akıllı telefonlar, Web 2.0 ve sosyal ağ kültürü bir çok mobil ve web projesini hayatımıza soktu. Bu projelerin büyük kısmı hayatta kalamazken bazıları müthiş gelişim gösterdiler.

Gelişim gösterebilen projelerden birine sahip olabilmek heyecanı, yeni girişimcilerin sürekli yeni projelerle karşımıza çıkmasına neden oluyor. Bu kadar projeyle karşı karşıya gelince insanın aklına şu soru takılıyor: tutmama ve yaygınlaşmama gibi çok yüksek oranlı risklerin olmasına rağmen bu yatırımlar nasıl yapılabiliyor?

Elbette her proje yarın milyonlarca kullanıcısı olacakmış gibi yatırımlarla ortaya çıkmıyor, burada anahtar kelime ölçeklenebilirlik. Eğer ölçeklenebilir bir donanım ve yazılım mimarına sahipseniz küçük bir yatırımla sistemi çalıştırır ve gerektiğinde büyüterek devam edersiniz. Eğer projeniz büyümüyorsa sadece küçük bir yatırımı kaybetmiş olursunuz. Bu durumda, projenizle ortaya koyduğunuz fikir, sunduğunuz özellikler, karşıladığınız ihtiyaçlar kadar sistemi nasıl tasarladığınız da çok kritik bir öneme sahip oluyor.

Ne zaman ve ne kadar hızlı büyüyebileceğini kestirmesi zor, alt yapı yatırımını sadece gerektiğinde yapabilmek için tasarladığımız projelerde ya da anlık yüksek kaynak gerektiren işlerde ilk akla gelen artık cloud hizmetlerinden faydalanmak oluyor. Cloud çözümleri ile en mantıklı(verimli) yatırımları yapabiliyorsunuz, kaynakların kullandığınız kadarını ödüyorsunuz.

Cloud hizmetleri uzun süredir hayatımızda büyük rol oynuyor. Takip edenler bilir, hem hizmet alan hem de hizmet veren olarak son zamanlarda büyük gelişim içinde olduğunu gözlemliyoruz.

Hizmet alanlar makina, network, storage yatırımı yapmadan projelerini çalıştırabiliyor ve kullandıkları kadar ödüyorlar.

Hizmet verenler ise ellerinde büyük fiziksel makina parkını, küçük parçalara bölüp operasyonel işleri otomatikleştirerek en verimli şekilde kullanmanın yolunu bulmuş durumdalar.

Bu modelde özetle “kazan kazan” anlayışı hakim. Bu anlayışın olduğu her yerde başarı neredeyse kaçınılmaz oluyor.

Geocities ile başlayan ve 12-13 yıldır süregelen kişisel web sitelerim için sadık bir hosting müşterisiyim. Bu süre içerisinde yerli yabancı bir çok hosting firmasından amatör olarak hizmet aldım. Shared serverlardan aldığım dandik(ucuz) hizmetlerden tutun colocation ve vps’lere kadar geniş bir yelpazede deneyimlerim oldu.

Benim cloud ile tanışmam ise bir hobi projesinin sunucu tarafını host edeceğim bir yer ararken, Google’ın AppEngine hizmetine java desteği sağlamasıyla oldu. Google AppEngine bir cloud hizmeti ve belli limitler altında tamamen ücretsiz. Android için geliştirdiğim aScore programının sunucu tarafı 2 senedir Google’a emanet ve bugüne kadar tık demedi :)

Google, AppEngine hizmeti ile geliştiricilere bir platform sunuyor. Geliştiriciler bu platforma uygulamalarını koyuyorlar ve cloud’ta host edilmesini sağlıyor. Network, disk, cpu, memory gibi altyapı birimleri developerlardan tamamen izole edilmiş durumda. Bu tip cloud hizmetlerine Platform as a service (PaaS) adı verilmiş.

Bir çoğumuzun günlük hayatta sıkça kullandığı cloud hizmetleri de var. Mesela gmail,flickr,dropbox vb. Bu tip verisi internette olan web uygulaması tipindeki hizmetlere de Software as a service (SaaS) adı verilmiş.

Amazon’un da cloud hizmetleri var, bu hizmetler yukarıda bahsettiğim PaaS ve SaaS’tan biraz daha farklı, çünkü bu hizmetlerle size, storage, network altyapısı ve makina sağlanabiliyor. Tüm bu alt yapıyı kendiniz konfigüre ediyor ve kullanıyorsunuz. Amazon’un verdiği bu alt yapı sunma hizmetlerine de Infrastructure as a service (IaaS) adı verilmiş.

Cloud ile ilgili bir çok bilgi ve kavramı wikipedia’da da bulabilirsiniz. Ben bu bölümde biraz Amazon cloud hizmeti deneyimlerimden bahsetmek istiyorum.

Amazon verdiği cloud hizmetlerini Amazon Web Services (AWS) adı altında bir araya toplamış. Bunlardan üzerinde en çok uğraştığım Elastic Compute Cloud (EC2) hizmeti oldu. Bu hizmet ile XEN sanallaştırma ortamı kullanılarak müşterilere değişik konfigürasyonlarda sanal makinalar veriyorlar. Verdikleri makinalarda hazır bir Linux dağıtımı veya Windows işletim sistemi olabiliyor. Burada tercih bize kalıyor.

Amazon’un sunduğu cloud hizmetlerinden, web üzerinde bir yönetim konsoluyla (AWS Management Console) ihtiyaç duyduğunuz bir çok işlem yapılabiliyor. Ayrıca hazırladıkları web service’leri kullanarak her türlü işlem gerçekleştirilebiliyor. WEB servislerini kullanarak bazı işlemleri otomatize etmek ya da farklı yönetim uygulamaları da yapmamız mümkün, mesela iPhone için yapılan iAWS ve bir Firefox plugini olan ElasticFox oldukça başarılı örnekler. Cloudfoundry ise Amazon’un IaaS hizmetini Google AppEngine’e benzer bir Paas’a çevirebiliyor, tabiki arka tarafta Amazon Web Servislerini kullanarak…

AWS Management Console

EC2′ya geri dönersek,
Bir EC2 sunucusuna sahip olmak için ilk olarak Amazon Machine Image (AMI) adı verilen image’lardan birini tercih etmemiz gerekiyor.
Image’ların arasında Amazon’un sunduğu Quick Start AMI’ları kullanarak hızlıca bir sunucu oluşturabiliyoruz.
Aynı zamanda herkes kendi AMI’ını hazırlayıp istediği zaman bunu kullanıp sunucu oluşturabiliyor. Mesela bir Centos dağıtımı üzerine apache,mysql,php kurup bu sunucudan bir image oluşturabiliyor aynı zamanda public kullanıma açabiliyoruz.
Sunucu yazılımı geliştiren firmaların da kendi ürünlerini kurup konfigüre ettiği ve resmi olarak sunduğu AMI’lar da var. Mesela Oracle ile birlikte hazırlanmış, üzerinde Oracle DB kurulmuş ve konfigüre edilmiş AMI’ları kullanabiliyoruz. Wowza Media Server kurulu AMI’lar da buna örnek verilebilir.
Son olarak Ubuntu gibi belli bir topluluk olarak, EC2 üzerinde çalışması için resmi olarak hazırlanan AMI’lar da var.

Kısacası, bir hayli alternatifimiz olan bu listeden, ihtiyaç duyduğumuz işletim sistemi ve servislerle ilgili en uygun AMI’yı seçerek sunucumuzu oluşturmamız gerekiyor. Seçimimizi yaparken dikkat edilecek bazı konular var, bunlarla ilgili bir kaç önerim olacak:

İşletim Sistemi

AMI seçerken genelde açıklama bölümünde sunucunun çalıştığı işletim sistemi de belirtilir. Bazı AMI’lara ihtiyaca göre özellikler eklenmiştir, eğer web’de o image’ın oluşturulma amacıyla ilgili güvenilir bir sayfa veya dökümandan referans almadıysanız uzak durun derim. Çünkü gerçekten doğru optimize edilmemiş ya da gerçekten ihtiyazcınızın ötesinde konfigüre edilmiş olabilir. Burda önerim, Ubuntu’nun resmi sitesinde belirttiği ya da Amazon Linux işletim sistemli AMI’lardan birini kullanarak kendi ihtiyacınıza göre sunucu yazılımları kurmak olacaktır.
Özellikle Amazon Linux AMI’ları gerçekten yüksek performansa ve güvenlik önlemlerine sahip. Ubuntu ve Amazon Linux’u aynı iş için denedim ve gerçekten hissedilir bir fark gözlemledim.
Denenemelere hızlı bir giriş için Amazon’un hazırladağı Quick Start AMI’larını da kullanabilirsiniz.

Architecture (32/64 bit)

Bir sunucu oluşturuken karar vermeniz gereken konulardan biri de sanal makinanın donanım olarak nasıl bir konfigürasyona sahip olacağıdır. Size micro instance adı verilen 613 MB hafızaya sahip bir konfigürasyondan, 68 GB hafızaya veya 33.5 ECU (1 ECU = 1 GHz 2007 Xeon işlemci) ‘ya sahip konfigürasyona kadar geniş bir seçenek listesi sunuyor.
Eğer small veya medium sunucular istiyorsanız AMI’yı 32 bit architecture seçmelisiniz. Daha büyük sunucular için ise 64 bit AMI’ları tercih etmelisiniz. AMI açıklamalarında 32/64 bit platform bilgisi muhakkak belirtilmiştir.

Root Store

İlk defa EC2 ile haşır neşir olduğunuzda Root Source tercihinin temel avantaj/dezavantajalarından pek haberdar olunamıyor. AMI seçerken iki farklı tipte Root Store seçeneği göreceksiniz.

EBS: Bu AMI ile oluşturduğunuz sunucularda, yönetim kosolundan istediğiniz anda yeni bir AMI oluşturabiliyorsunuz. Bu özellik sunucu sayısını arttırarak ölçeklenebilen sistemler için çok önemli. Gerekli kurulumları, ayarları yapıp hizmet verir duruma getirdiğiniz bir sunucudan yeni bir private AMI oluşturup gerektiğinde bu AMI’yı kullanarak sunucu sayınızı arttırabilirsiniz.
EBS Boot’un bir başka avantajı ise düşük ve ucuz donanım konfigürasyonlu Micro Instance adı verilen sunuculardan oluşturabilmeniz.
Instance: Pek bir avantajını bulamadım. Sadece bu daha eski bir yöntem olduğu için daha çok public AMI bulma şansınız var.

Region

Amazon sunucularınızı, Avrupa,Amerika veya Asya’da farklı merkezlerde oluşturma imkanı veriyor. Eğer siz Avrupa lokasyonlu bir sunucuya sahip olmak istiyorsanız AMI’ın bu lokasyon için oluşturulmuş olması gerekiyor.

Artık istediğiniz gibi bir sunucu oluşturabilirsiniz. Sunucularınızı çoğaltmak, onlara birer IP set etmek, önlerine bir load balancer koymak, firewall tanımlarını yapmak gibi konular yine AWS Management Console’dan dakikalar mertebesinde yapılabilen işlemler.

andLinux: Windows üzerinde Linux

Nisan 22nd, 2008 | 1 Comment | Posted in Linux, windows

Sonradan tanışmama rağmen kendime sadık bir Linux kullanıcısı diyebilirim. Evdeki diz üstü bilgisayarımda 2 seneyi aşkın süredir Pardus Linux kullanıyorum. Yıllardır Windows kullanıp birden Linux kullanıcısı olmak gerçekten kolay bir şey değil. Bu nedenle blogumda vmware,virtualbox gibi sanal makine programları tanıtıp merak edenlerin Windows’larına zarar vermeden bir Linux deneyimi yaşayabilecekleri yöntemler yazmaya çalıştım. Linux’a geçenler için de vazgeçemedikleri Windows programları için Wine, Pardus Linux üzerinde vmware kullanımı ve yine Linux üzerinde virtualbox ile windows kullanımı hakkında birşeyler yazmaya çalıştım.


Bugün yine benzer şekilde Windows yüklü bilgisayarınızda bir Linux işletim sistemi kullanmanızı sağlayacak bir yöntemden bahsedeceğim. Bu defa herhangi bir sanal makina yazılımı kullanmanıza gerek olmayacak, Linux’u direk Windows üzerinde çalıştırabileceksınız…


Linux, kabaca bilgisayarınızın aygıtlarına hükmeden bir çekirdek yazılımı ve bu çekirdeği kullanan servisler ve masa üstü yazılımları bütünü olarak düşünülebilir. Eğer bir Linux çekirdeğini Windows üzerinde çalıştırabilirseniz, bu çekirdeği kullanan diğer tüm programlarını da Windows üzerinde çalıştırmayı sağlayabilirsiniz. İşte bu düşünceyi Cooperative Linux başarmış. Kısa adı coLinux olan bu yöntem ile Linux çekirdeği Windows ortamında çalışabilir hale getirilmiş. Bu çekirdek Windows 2000/2003/XP ve 32 bit Vista üzerinde çalışabilmekte. Kurulum yapıldıktan sonra Windows üzerinde tüm fonksiyonları ile bir Linux işletim sistemine sahip olabiliyorsunuz.


coLinux‘tan, bir sanal makina üzerinde Linux çalıştırmaya oranla çok daha fazla performans alabiliyorsunuz, çünkü donanım parçalarınızın sümulasyonunu değil, direk kendilerini kullanabiliyorsunuz. Grafik arayüzleri gösterebilmek için ise açık kaynak kodlu Xming X Server‘dan faydalanmışlar, o da Windows ortamında çalışan çok başarılı bir X server yazılımıdır.


andLinux ise coLinux‘u kullanarak hazırlanmış ancak bünyesinde tam bir Ubuntu işletim sistemini barındıran bir program, her ikisi de açık kaynak kodlu projeler. Ubuntu, masaüstü Linux dağıtımları arasında en populer olanıdır, bu nedenle ben de andLinux kurmayı tercih ettim.


andLinux için iki seçeneğiniz var birisi XFCE, diğeri ise KDE masaüstü içeriyor. Eğer sadece server yazılımları çalıştıracağınız bir Linux ortamı istiyorsanız XFCE tercih etmeniz daha mantıklı olabilir. Gerçek bir masa üstü deneyimi yaşamak istiyorsanız KDE tercih etmelisiniz. Ben KDE masa üstünü tercih ettim.


  • download sayfalarından tercih ettğiniz masa üstüne uygun andLinux’u indirebilirsiniz.
  • İndirdiğiniz programı çalıştırdığınızda bir kurulum sihirbazı sizi yönlendirecek, Next tuşlarına basarak kurulumu kolayca yapabilirsiniz.
  • Kurulum programı, GPL lisansı için onay istedikten ve kurulum lokaysonunu soracak daha sonra da andLinux’a ayrımak istediğiniz memory (hafıza) miktarını soracaktır, bu değeri en az 256 MB seçin, eğer bilgisayarınız 1GB’ın üstünde bir hafızaya sahipse 512 MB verebilirsiniz. Bu hafıza miktarı tamamen andLinux’a tahsis edilmeyecek, hafıza Windows ile paylaşılacak. Yani aslında siz bir üst sınır tayin etmiş oluyorsunuz, gerek olmadığı zamanlar verdiğiniz bu hafıza andLinux tarafından kullanılmayacak. Bu da sanal makina üzerinde Linux kullanmayla kıyaslayınca çok önemli bir özellik olarak ortaya çıkıyor.


  • Kurulum programı ses özelliğini isteyip istemediğinizi sonra da uygulamanın otomatik başlatılmasıyla ilgili tercihinizi soracak.
    • automatically as a NT service seçerseniz bilgisayarınız açıldığında andLinux otomatik olarak kullanılabilir durumda olacaktır.
    • manually as a NT service seçerseniz services uygulamasından istediğiniz zaman kendiniz başlatmanız gerekecek.



  • Kurulum programı, sahip olacağınız Linux ortamı ile Windows ortamı arasında dosya paylaşım yöntemini soracaktır. Ben Samba tercih ettim ama dosya paylaşımı sağlıklı çalışmadı, belki bir sonraki Samba ayarları ekranında hata yapmışımdır. Dosya paylaşımı için using COFS seçeneği daha kolay görünüyor.
  • Kurulum bittikten sonra bilgisayarı muhakkak kapatıp açmak gerekiyor.



Bilgisayarı yeniden başlattıktan sonra sistem tepsisinde, hızlı başlat çubuğunda ve masa üstünde andLinux ile ilgili ikonlar göreceksiniz. Sistem tepsisinde KDE logosuna tıkladığınızda bazı uygulamalara hızlı erişim yapabildiğinizi göreceksiniz. Ayrıca hızlı başlat menüsüne yerleşen console programını kullanarak komut satırından istediğiniz programları çalıştırabilirsiniz.


Türkçe klavye ve bölge ayarlarınızı da yaptıktan sonra artık Linux ve Windows’u birlikte bilinen en konforlu şekilde kullanmaya başlayabilirsiniz:

  • Sistem tepsisinde yer alan KDE menüsünden KControl programını çalıştırın.
  • Regional & Accessibility menüsünden Keyboard Layout seçeneğine gidin.
  • Available Layout bölümünden Turkey’i seçip ekleyin, sağ tarftaki listeden Turkey en üstte olacak şekilde sıralamayı değiştirin.
  • Tarih ve saat ayarları için de System Administration menüsünden Date&Time seçeneğine gidin.
  • Burada İstanbul’u seçin, ayarlar otomatik olarak yapılacak.




andLinux size bir KDE masaüstü sunmuyor ama KDE menüsünden veya komut satırından tüm programları çalıştırabilirsiniz.


Kurulumu yaptığınız dizinde, Launcher klasörünün altında menu.txt dosyasını düzenleyerek KDE menünüzü zenginleştirebilirsiniz. Yine bu klasörede menu.exe’yi çalıştırarak KDE menüsünün sistem tepsisine yerleşmesini sağlayabilirsiniz.


Launcher altında yer alan .exe uzantılı programları kullanarak, Windows’ta yer alan dosyaları Linux programları ile ilişkilendirebilirsiniz. Mesela .txt uzantılı dosyaları andKate.exe ile ilişkilendirirseniz artık tüm text dosyalarınız kate programı ile açılacaktır. Bu özellikle inanılmaz bir hibrid kullanım sağlayabiliyorsunuz.


Ubuntu 7.10 sürümünde ön tanımlı bulunan tüm programlar kurulu olarak geliyor ama siz daha fazla program kurmak isteyebilirsiniz, bunu da KDE menüsünde yer alan Synaptic programı ile yapabilirsiniz, siz sadece istediğiniz programı seçiyorsunuz, tüm bağımlılıklar Synaptic tarafından çözülüyor, indiriliyor ve kuruluyor:


Windows ortamlarında çalışmayan bir çok başarılı Linux programını artık işletim sisteminizin bir parçası gibi kullanabilirsiniz. andLinux’a ip ile 192.168.11.150 adresinden erişebiliyorsunuz. andLinux Windows’ta bulunan ağı kullanabiliyor, windows’tan erişebildiğiniz tüm ip’lere erişebiliyor, bir internet bağlantınız varsa bunu da otomatik olarak paylaşıyor.

Artık Windows yüklü iş bilgisayarımda da çok sevdiğim Linux programlarından uzak kalmayacağım :)








Pardus için Google Picasa

Ocak 30th, 2008 | 1 Comment | Posted in Google, Linux, pardus


Google Picasa, Google’ın bilgisayarınızdaki resimleri yönetmek için ürettiği bir masaüstü programı. Daha önce de Picasa ile ilgili bir yazı yazmıştım.

Geçtiğimiz günlerde Linux için Picasa‘nın yeni bir sürümü beta olarak yayınlandı. Kararlı sürümünde herhangi bir Linux dağıtımına kurabilmek için .bin uzantılı seçeneği indirip Pardus’a kurulum yapabiliyorduk. Beta sürümünde ise bu seçeneği vermemişler ama yine de aşağıdaki adımları takip ederek Picasa 2.7 Beta’yı Pardus’a kurmak mümkün:

  • Öncelikle rpm2targz programını Pisi paket yöneticisini kullanarak kuruyoruz.
  • Buradan Picasa 2.7 Beta sürümünün .rpm uzantılı dosyasını indiriyoruz.
  • İndirdiğimiz dosyayı kök (root) dizine kopyalıyoruz.
  • Kök dizinine gidiyoruz.
  • root olup aşağıdaki komutu vererek rpm dosyasını tar.gz uzantılı dosyaya dönüştürüyoruz:

rpm2targz picasa-2.7.3736-7.i386.rpm

  • aşağıdaki komutu vererek tar.gz dosyasını açıyoruz:

tar -zxf picasa-2.7.3736-7.i386.tar.gz

  • aşağıdaki komutu vererek /usr/bin altında picasa için link yaratıyoruz:

ln -s /opt/picasa/bin/picasa /usr/bin/picasa

  • aşağıdaki komutları vererek masaüstü ikonlarının oluşmasını sağlayabiliyoruz.

export SETUP_INSTALLPATH=/opt/picasa
/opt/picasa/bin/postinstall –root –create desktop
cp /opt/picasa/desktop/*.desktop /home/sezer/Desktop/

Eğer media detektörünü sistem tepsisinde görmek istiyorsanız masaüstünde Picasa ikonunu tıklayarak programın açılmasını sağlayıp Araçlar->Seçenekler bölümüne gidip Genel sekmesinde ilk kutuyu tıklayın:

2.7 Beta sürümünün önceki 2.2 karalı sürümünden en büyük farkı Picasa Web entegrasyonu, bu çok önemli değil diyorsanız 2.2 sürümünün .bin uzantılı dosyasını burada indirip üzerinde çift tıklayarak tüm bu işlemleri yapmadan kurulumu gerçekleştirebilirsiniz :)


.: Picasa Web kullanmak için Google Hesabınızla giriş yapmanız gerekiyor :.


.: Seçtiğiniz resimleri bir WEB albüme gönderebiliyorsunuz :.