| Ü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.

Siteniz için Canlı Destek Hizmeti

Şubat 27th, 2008 | 3 Comments | Posted in Google, Internet, web

Google’ın Google Talk ürününe kattığı yeni bir özellik sayesinde web sitenizde ziyaretçilerinize anında destek verebileceksiniz. Google’ın bu müthiş servisi tabi ki ücretsiz. Yapmanız gereken hala yoksa bir Google hesabı açtırmanız, gerisi çok kolay.

Hizmetten faydalanmak için buradaki adresten alacağınız kod parçasını web sitenize koymanız gerekiyor, bu kod parçası sitenizde canlı destek için bir görsel oluşmasını sağlıyor. Bu görsel, çevrim içi ya da dışı olduğunuzu gösteriyor ve sizinle direk bir sohbet oturumu açılabilmesini sağlıyor. Görseli bir miktar özelleştirebilmenize de olanak sağlanıyor.

Bu servisin adı Google Chatback. Yukarıdaki sayfada görüldüğü üzere Kendinize bir takma isim ve görselinize bir başlık belirleyebiliyorsunuz. Daha sonra oluşan kodu sitenizin uygun bir yerine kopyalabilirsiniz. Eğer Google Talk üzerinden durumunuzu Meşgul olarak ayarladıysanız, görüşmeye kapalı durumda oluyorsunuz.

Bu servisi web sitenize koyduğunuzda gerçek Google hesabınız görüntülenmemektedir. Sizinle görüşenler ise Guest adında biri olarak size görünecektir.

Aşağıda sizinle görüşen kişinin ekranı yer almaktadır:

Burada ise size gelen sohbet talebini görüntüsü yer alıyor:

OpenDNS ile İçerik Filitreleme

Şubat 12th, 2008 | 2 Comments | Posted in Internet, web

Evinizde veya ofisinizde, işyerinizde, okul veya kütüphane gibi çocukların internet’e girdiği ortamlarda kablosuz veya kablolu ADSL ile kurduğunuz bir ağ varsa cinsellik, şiddet gibi çocuklar için istenmeyen içeriğe sahip sitelere girişi engellemek istiyorsanız OpenDNS kullanarak bunu sağlamanın maliyetsiz bir yönteminden bahsedeceğim.

DNS nedir nasıl çalışır?

OpenDNS ‘ten önce DNS nedir nasıl çalışır ona değinmek lazım. Tarayıcıların adres bölümüne bir web adresi yazdığınızda önce bir DNS sunucusuna erişirsiniz, DNS sunucusu yazdığınız web adresinin hangi fiziksel makine olduğunu tespit eder ve tarayıcınızı oraya yönlendirir. Yani DNS, web sitesi isimlerinin gerçekte hangi makinalar olduğunu (IP adreslerini) bilen sunuculardır. Eğer kendiniz herhangi bir DNS sunucu ayarı yapmadıysanız Telekom’un ön tanımlı DNS sunucularına erişirsiniz.

OpenDNS nedir? Özellikleri nelerdir?

OpenDNS, DNS hizmeti veren, Türkiye’de çok popüler bazı sitelerin kapatılmasıyla herkes tarafından bilinirliği artmış olan bir servistir. OpenDNS, yasalarca engellenen sitelere erişebilmeyi sağlayan iki adet DNS IP’sinden ibaret değildir elbette. Biraz özelliklerinden bahsedip aslında ne kadar kullanışlı bir servis olduğunu anlatmaya çalışacağım.

OpenDNS sayesinde,

  • Kategorize edilmiş 4 milyon civarında cinsellik, korku, şiddet içerikli çocuklar için sakıncalı olabilecek web sitesine ve IP gizleme servisleri sunan web sitelerine girişi engelleyebilirsiniz.
  • Bunların dışında sizin belirlediğiniz sitelere de girişi engelleyebilirsiniz.
  • Banka gibi kritik bilgilerimizin bulunduğu siteler gibi davranıp kişisel veya banka bilgilerinizi ele geçirmeye çalışan (phishing) kötü niyetli siteleri engelleyebilirsiniz.
  • Web adresi girerken yapılan yazım hatalarını düzeltilmesini sağlayabilirsiniz.
  • Sık girdiğiniz WEB sitelerine kısayol isimleri tanımlayabilirsiniz.

OpenDNS ile Site Engelleme Nasıl Yapılır?

Bir siteye yasak koymanın en kolay yolu, DNS sunucularına xxx.com diye bir web sitesine erişim talebi geldiğinde bu isteği ilgili makinaya yönlendirmek yerine “bu siteye giriş engellenmiştir” yazılı bir sayfa dönmektir. Bu yasağı Telekom’un DNS sunucularına tanımladığınızda tüm Türkiye’ye bu yasağı uygulamış olursunuz. Ancak herkes istediği DNS sunucusunu kullanmakta özgürdür, bu nedenle DNS sunucunuzu değiştirip bu yasaktan etkilenmemek mümkündür.

OpenDNS ile kendi yasaklarınızı koyabilirsiniz, çünkü OpenDNS size bir DNS sunucusu hizmeti verirken aynı zamanda içerik filitreleme hizmeti de vermektedir. Filitre için St Bernard şirketinin iGuard database’ini kullanmaktadır. iGuard çok farklı kategorilerde WEB sitelerini kategorize etmektedir, bunlardan çocuklar için zararlı içeriğe sahip olanları OpenDNS‘in kullanımına açmış, OpenDNS isteğiniz doğrultusunda bu veritabanını kullanarak girmek istediğiniz web sitelerini engeller ya da izin verir.

iGuard’ın veritabanında olup da engellenmesini istemediğiniz siteleri belirtip sizin hesabınız için onları hariç tutmasını isteyebilirsiniz, ayrıca iGuard veritabanında olmayan ama engellenmesini istediğiniz siteler varsa onları da belirtip filitrelenmesini sağlayabilirsiniz.

OpenDNS’in servislerinden yararlanmak için hangi işlemler yapılmalı?

Asıl konumuz bu hizmetten nasıl faydalanacağımız. OpenDNS‘i başka hiç bir işlem yapmaya gerek kalmadan, sadece hizmet verdiği aşağıdaki iki IP adresini DNS sunucusu olarak tanımlayarak kullanabilirsiniz. Bu durumda içerik filitreleme ve diğer faydalı özellikleri kullanamazsınız ama mevcut DNS sunucularının koyacağı yasaklardan etkilenmezsiniz.

208.67.222.222
208.67.220.220

Eğer içerik filitreleme ve diğer özelliklerinden faydalanmak istiyorsanız aşağıdaki işlemleri sırasıyla gerçekleştimeniz gerekir:

  1. Modeminizin DNS ayarlarını değiştirmelisiniz.
  2. Bir OpenDNS hesabı açmalısınız
  3. OpenDNS içerisinde Network tanımı yapmalısınız.
  4. Dinamik IP kullananlar için Dinamik DNS kullanımı ile ilgili ayarları yapmalısınız.
  5. İçerik Engelleme ile ilgili ayarları yapmalısınız.

Bu işlemleri sırayla açıklamaya çalışacağım:

Modemin DNS ayarlarını değiştirme

DNS ayarı her modem için farklılık gösterir, biraz araştırarak kendi modeminiz üzerinde DNS sunucularını nasıl değiştirebileceğinizi bulabilirsiniz. Genelde tarayıcınıza http://192.168.1.1 veya http://192.168.2.1 yazarak modeminizi yönetecebileceğiniz arayüze erişebilirsiniz, benim kullandığım Robotics kablosuz ADSL modemde, menüden System->DNS seçeneklerine tıklayarak DNS sunucularını değiştirebileceğim sayfaya erişebiliyorum.
DNS sunucularını şu adreslerle değiştirin:
208.67.222.222 208.67.220.220
Yeni sunucuların devreye girebilmesi için modeminizi kapatıp açmanız yeterli.

Dikkat: DNS sunucularını bilgisayarınızın network ayarlarından da değiştirebilme şansınız var ama bu değişiklik sadece sizin bilgisayarınız için geçerli olur, eğer modeminiz ile internete bağlanan tüm bilgisayarlarda OpenDNS özelliklerinin kullanılmasını istiyorsanız DNS değişikliğini modem üzerinde yapmalısınız.

OpenDNS hesabı açma

Bu adresi kullanarak bir hesap açmalısınız.

Çok fazla bilgi sorulmuyor gibi ama bir çok özelliği kullanabilmek için bilgilerinizi güncellemeniz gerekiyor. Bunun için hesap oluşturup siteye giriş yaptıktan sonra sağ üst tarafta bulunan kullanıcı adınıza tıklayın. Aşağıda gördüğünüz tüm bilgilieri eksiksiz doldurun.

Network tanımlama

  • Hesabınızla sisteme giriş yaptıktan sonra NETWORKS sekmesine tıklayın.
  • Otomatik olarak internette yer aldığınız IP adresi ekrana gelecektir, Label bölümüne bir isim verip Add This Network düğmesine tıklayın.
  • Size bir email gönderilerek onay istenecek.
  • Emailinizi açıp size gönderilen onaylama linkine tıklayın, açılan sayfa sizin o anki IP’nizi network oluşturulurken verilen IP ile karşılaştırır, aynı ise Network oluşturmanıza izin verilir. Bu onay mekanizması ile başkalarına ait internet bağlantıları için bir engelleme işlemi yapmanızın önüne geçiliyor.

Dinamik IP ayarları

Öncelikle bunu neden yapıyoruz ondan bahsedeyim: Genelde kullandığımız ADSL modemler sabit bir IP almazlar, her bağlantı kurduğumuzda farklı bir IP adresi alırlar, bu durum OpenDNS’in bizi tanımasına engel olur çünkü OpenDNS bizim modemimizi kullanarak internete giren bilgisayarları bu IP adresinden tanır. OpenDNS’in bizi tanıyabilmesi için yapılması gereken her IP değişikliğinin OpenDNS’e iletilmesidir.

OpenDNS bu iş için DNS-O-MATIC diye başka bir servis geliştirmiş, bu servisi kullanarak IP değişikliklerini OpenDNS’e ileteceğiz.

  • Öncelikle bu adresten OpenDNS hesabınızda kullandığınız kullanıcı ve şifre ile girişi yapın.
  • Add Service deyip gelen açılır listeden OpenDNS seçin.
  • OpenDNS hesabınızla tanımladığınız Networkunuzu seçin.

  • Şimdi ana bilgisayarınıza ya da sürekli internete bağlı kalan ya da en çok bağlı kalan bir bilgisayara, IP’nizde meydana gelecek değişiklikleri ileten bir program kurmalısınız. Bu adreste bu işi yapan birçok alternatif program var.
  • Bu programlardan Windows için ücretsiz ve kullanımı en kolay olanı DNS-O-MATIC Updater. Bu programı indirin ve çalıştırın.
  • Username Password bölümüne OpenDNS hesabınızın bilgilerini girin.

  • Sitem tepsisine yerleşen ikonu bulup sağ tıklayarak Enable Autostart özelliğini seçin.

  • Bu işlemlerden sonra OpenDNS sitesine giriş yapıp SETTINGS sekmesine tıklayın. Sol tarafta gelecek seçenek listesinden Set Up a Dynamic IP linkine tıklayın, gelen ekrandan Enable Dynamic IP Update kutsuna tıklayın.

İçerik Filitreleme İşlemleri

  • SETTINGS bölümüne tıklayın.
  • Sol tarfataki seçeneklerden Adult Site Blocking linkine tıklayın.
  • İstediğiniz kategorileri tıklayarak filitrelenmesini sağlayın. Egellemeleri belirledikten sonra filitrenin devreye girmesi veya devreden çıkması 3-5 dakika sürebiliyor.
  • Bu sayfada, filitrelenen web sitelerine giriş yapılmak istendiğinde tarayıcıya gelecek uyarı mesajını değiştirebilirsiniz.

Herhangi bir engellenmiş siteye girmek istediğnizde tarayıcınıza gelen görüntü:

  • Your Logo bölümüne kurumunuzun logosunu koyabilirsiniz, filitrelenen içerikler için gelen mesajlar bu logo ile görüntülenecektir.
  • Whitelist bölümünde OpenDNS tarafından engellenmiş olmasına rağmen girişine izin vermek istediğiniz istisna siteleri belirtebilirsiniz.
  • Phishing Site Blocking bölümünde yanıltıcı bilgiler ile kişisel ya da finansal bilgiler elde etmeye çalışan siteleri engelleyebilirsiniz.
  • Domain Blocking bölümünde OpenDNS tarafından engellenmeyen ama sizin engellenmesini istediğiniz siteleri belirtebilirsiniz.
  • Stats and Logs bölümünden, modeminizden kaç siteye erişilmiş, hangi siteler engellenmiş gibi istatistiksel raporlar alabilirsiniz.
  • Network Shortcuts bölümünde çok kullanılan sitelere kısayollar tanımlayabilirsiniz. Mesela tarayıcınıza sadece g girerek http://www.google.com adresine gidilmesini sağlayabilirsiniz.
  • Typo Corrections bölümünde bu servisi aktive ederek, en çok yapılan yazım hatalarını tespit edilmesini ve düzeltilmesini sağlayabilirsiniz. Mesela www.openoffice.og ya da www.yahoo.cmo yazsanız da doğru adreslerin geldiğini göreceksiniz.
  • Typo Exceptions bölümünde yazım hatası denetiminin yapılmasını istemediğiniz kelimeleri belirtebilirsiniz.

Dinamik IP ve DNS hakkında daha ayrıntılı bilgi şu yazıda bulabilirsiniz. Eski olmasına rağmen blog’umun en çok ziyaret edilen sayfalarından biridir…