Etiketler

21 Mayıs 2017 Pazar

OpenStack Nedir ?



Merhabalar

Bu yazımda sizlere OpenStack'den bahsedeceğim. Ancak OpenStack den önce sanallaştırma ve bulut bilişim kavramlarına hakim olmak gerekmektedir. Bu konularla ilgili bilgilere daha önceki yazılarımdan ulaşabilirsiniz.



Openstack, veri merkezlerinde yüksek hesaplama, depoma ve ağ kaynaklarının yönetimini ve kontrolünü sağlamak amacıyla tasarlanan; IaaS modelinde bulut bilişim hizmeti vermek üzere oluşturulmuş ücretsiz ve açık kaynak kodlu bir hizmettir.

Tarihçe


Temmuz 2010 - Rackspace başlangıçta tam dağıtık nesne depolama yazılımı olarak açık kaynak kodlu bir platform oluşturmuştur.
Ekim 2010 - Openstack projesi başlatıldı.
Ocak 2011 - NASA tarafından Nebula adı verilen bir hesaplama platformu oluşturulmuştur.
Eylül 2012 - Openstack Foundation kuruldu. 

Temel Özellikler

  • Açık kaynak kod ile geliştirilmiştir. Apache lisansı ile lisanslıdır.
  • Python ve Django programlama dilleri ile yazılmıştır.
  • Geliştirme süreçlerinde şeffaf ve açık bir yönetim biçimi bulunmaktadır ve geri bildirimlere önem verilmektedir.
  • Diğer bulut teknolojilerinde olduğu gibi otomatik ölçeklendirilme yapılabilir ve büyüme senaryoları rahatlıkla uygulanabilmektedir. 
  • Sistem yöneticileri bulut sistemi üzerinde tam yetki ile istenilen şekilde yönetim yapabilmektedirler. 
  • Açık, özel ve karma bulut modellerinde çalışabilmektedir.
  • Openstack bütün bulut türlerini desteklemektedir ve ölçeklenebilir, yönetim kapasitesi yüksek platformlar oluşturulmasına olanak sağlamaktadır.
  • Openstack birbirleriyle ilişkili servisler kullanarak alt yapı hizmeti için çözüm sunmaktadır.
  • Her servis birbiriyle entegrasyonu kolaylaştıran (API) uygulama arayüzüne sahiptir.
  • İhtiyaçlara göre servislerin bir kısmı yada tamamı yüklenebilir.
  • Her 6 ayda bir sürüm çıkmakta ve bu sürümdeki gelişmeler ile ilgili Openstack Summit düzenlenmektedir.

Kimler Kullanıyor ? 

  • Openstack'i Rackspace, Canonical, Nasa, Dell, Cisco gibi bir çok kurum ve kuruluş kullanmaktadır.
  • Eylül 2015 deki Forrester Araştırmasında OpenStack için Özel bulut için baskın platform tanımlaması kullanılmıştır.
  • Fortune 100 listesindeki BMW, Disney ve WallMart gibi firmalar OpenStack kullanmaktadır.




Neden OpenStack ? 

  • Esneklik, düşük maliyet ve açıklık sağlar. 
    • Bulut sistemindeki yapılar ihtiyaçlar doğrultusunda istenildiği gibi esnek bir şekilde düzenlenebilir, düşük maliyetle ihtiyaçlar karşılanabilir.
  • Openstack ortamında canlı bir topluluk mevcuttur. IRC kanalları üzerinden ve e-posta grupları üzerinden destek alınabilmekte, iletişim içerisinde olunabilmektedir.
  • Online kullanım ve kurulum dökümanları mevcuttur.
  • Standart veya commodity donanımla çalışılabilir, özel bir donanıma yada bunun özel bir satıcısına gerek yoktur.
  • Yatay ölçeklendirme ile birçok erişilebilirlik bölgesi tanımlanabilir, rol tabanlı yönetim sağlanabilir.

Bu yazımda OpenStack'in ne olduğunu genel bir çerçeve çizerek anlatmaya çalıştım. Bundan sonraki yazım olan  OpenStack temel bileşenlerinde görüşmek üzere.

Herkese iyi pazarlar...

20 Mayıs 2017 Cumartesi

Bulut Bilişim

Merhaba Arkadaşlar

Bundan bir önceki yazımda sanallaştırmadan bahsetmiştim.  Bu yazımda da sanallaştırma teknoloji ile beraber ortaya çıkan 'Bulut Bilişim' den bahsedeceğim.


Bulut bilişim internet üzerinden bir hizmet platformu ile kullandığın kadar öde ücretlendirme modeli ile hesaplama (compute) gücü, veri depolama, uygulama ve diğer bilişim teknolojileri kaynaklarının talep üzerine bir hizmet olarak sunulmasıdır.

Avantajları :

  • Düşük maliyet olanağı sağlar. Her firma kendisi veri merkezi kurmak zorunda değildir. Bunu hizmet olarak başka bir servis sağlayıcısından alarak sunucu, elektrik gibi masraflarla uğraşmasına gerek kalmaz.
  • Esneklik ve Verimlilik sağlar. İhtiyaçlar doğrultusunda kullanılan kaynak çok büyük rahatlıkla arttırılabilir yada azaltılabilir. Bu da kaynakların verimli kullanılmasına olanak sağlar.
  • Paylaşım ve İş Birliği imkanı sağlar. Bulut kullanıcılarının işbirliğini artıracak ve bilgi paylaşımını sağlayacak yönde yazılım ve servisler geliştirmelerine olanak sağlar.
  • Erişim Kolaylığı sağlar. İnternet üzerinden güçlü işlem ve depolama kaynaklarına hızlıca ulaşılabilir.
  • Çevre Dostudur, fiziksel sunucuların kullanımına göre enerji tasarrufu sağlar.

Dezavantajları : 

  • Erişim problemleri yaşanabilir. Bağlantı internet ile sağlandığı için internette yaşanacak sorunlar sistemleri kullanma konusunda problem oluşturur.
  • Güvenlik açıklıkları her sistemde olduğu gibi bulut sistemlerinde de mevcuttur. 
  • Veri denetlenebilirliği, uygunluğu ve yasal düzenlenmeler bulut servisi alınan servis sağlayıcısının bulunduğu konuma göre çeşitlilik gösterebilir. Bu konuda detaylı araştırma yapılmalıdır.

Bulut Türleri


Bulut türleri; açık bulut, özel bulut, topluluk bulutu ve karma bulut olarak 4'e ayrılmaktadır.












Açık Bulut :


Bir hizmet hizmet sağlayıcısı tarafından sağlanan çok kiracılı, bulut sunucuları ile bulut sisteminin anı konumda olmadığı sistemlerdir. Herkese açık bulutlardır. 

Özel Bulut:

Özel bulutlar, bulut sunucularının bulut sistemini kullananlar ile aynı konumda olduğu, sistemi kullanlara özel bir kurulum yapıldığı durumdur. Örnek olarak bir bankanın yada belediyenin kendi bulut sistemini kullanması gösterilebilir.

Topluluk Bulutu:

Topluluk bulutu ise özel bulutun birden fazla topluluk yada kurum-kuruluş tarafından kullanılmasıdır. Örneğin bir bulut sistemini 3 bankanın bir arada kullanması yada belediyelerin kamu bulutu olarak ortak bir bulut sistemi kullanmasıdır.

Karma Bulut:

Karma bulut sistemleri ise açık ve özel bulut sistemlerinin hatta topluluk bulut sistemlerinin bir arada kullanıldığı bulut sistemleridir. 
Örneğin bir banka büyük veri olarak adlandırılan verilerini bir bulut hizmeti alarak açık bulutta saklamakta ancak e-posta sunucusunu kendi sunucu odasındaki bulut sisteminde kurmak isteyebilir. Bu durum karma bulut kullanımına örnek olarak verilebilir. 


Bulut Hizmet Modelleri







Bulut bilişimde verilen hizmetler 3 ana başlık altında incelenebilir.

IaaS - Infrasture as a Service : Alt yapı hizmeti.
PaaS - Platform as a Service : Platform Hizmeti
SaaS - Software as a Service : Yazılım Hizmeti


IaaS : Donanım kaynakları harici bir servis sağlayıcı tarafından sağlanır ve hizmet alan müşteriler için yönetilir. Örneğin, AWS (Amazon Web Service), Rackspace Cloud, Google Compute Engine, OpenStack.

PaaS : Donanım kaynaklarına ek olarak işletim sistemi katmanı da servis sağlayıcı tarafından yönetilir. Uygulama geliştiricilerin uygulamalarına odaklanmalarına olanak sağlar, onların alt yapı ile ilgilenmelerine veya alt yapı ihtiyaçlarını güncellemek için efor harcamalarına gerek kalmaz. Örneğin, Google App Engine, Redhat Openshift, Heroku, Cloud Foundry, Pivotal.

SaaS : Diğer iki modele ek olarak uygulama katmanı da servis sağlayıcısı tarafından yönetilir. Arka tarafta yapılan işlemler kullanıcıları ilgilendirmez, uygulamayı rahatla kullanabilirler. Örneğin, Dropbox, Office 365, Salesforce, Gmail.





Bu yazımda sizlere bulut bilişimin ne olduğundan, bulut türlerinden ve bulut hizmet modellerinden bahsetmeye çalıştım. 

Bundan sonraki yazılarımda görüşmek üzere.

Kolay gelsin herkese :) 

19 Mayıs 2017 Cuma

Sanallaştırma

Merhabalar 

Uzun bir ara verdiğim blogumda yazı yazma işlerine yeniden başlıyorum. Son zamanlarda ilgilendiğim bulut teknolojileri ile ilgili bir yazı serisi yazmayı planlıyorum. Bu yazımda size hikayenin başlangıcı olan sanallaştırmadan bahsedeceğim.



  Digitalleşen dünyada insanların çoğunuluğunun bilgisayarla, telefonla, internetle bir şekilde bir etkileşimi bulunmaktadır. Gittikçe artan yaygın kullanım bilişim alanındaki ihtiyaçları da her geçen gün arttırmaktadır.  Kullanılan depolama sistemleri, kullanılan ağ yapıları donanımsal olarak talepleri karşılamaktada yetersiz kalmakta, esnek olmayan bir yapı oldukları için yönetilmeleri de zordur. Bu yüzden sanallaştırma kavramı ortaya çıkmıştır.

Sanallaştırma 


Fiziksel kaynakların (CPU, bellek, ağ yapıları vb) mantıksal bir katmanda ayrılarak, birden fazla
sanal düğüm (nod) yada makina olarak çalışmasına olanak veren, donanımların daha esnek ve daha verimli hale gelmesine olanak veren bir çözümdür.

Mevcut bulunan fiziksel donanımın sanal makineler yardımıyla çok daha verimli kullanılabilmesini sağlayan, çeşitli yazılım ve donanım bağımlılıklarını ortadan kaldıran, bu sayede de yeni ürün ve servis geliştirme maliyetlerinde büyük tasarruflar sağlayan yazılım çözümüdür. Çözümde kullanılan sanal makinanın tanımı ilk defa Popek ve Goldberg tarafından “gerçek makinenin etkili, soyutlanmış bir kopyasıdır” şeklinde yapılmıştır.


Kısaca sanallaştırma, kullanıcıların donanımlarını daha verimli halde, daha esnek, daha yönetilebilir olarak kullanmasına olanak sağlayan teknolojidir.


Var olan donanım üzerine bir sanallaştırma katmanı (hipervizör) yerleştirilerek, mantıksal olarak istenildiği boyutlarda parçalanan fiziksel kaynaklar üzerine gibi farklı işletim sistemlerine sahip sanal makinalar kurulabilir. Hipervizor sanal makinaların üzerinde bulunduğu katman olarak tanımlanabilir. Hipervizör olarak KVM, Xen, Hyper-V vb kullanılabilir. 

Avantajları : 

  • Toplam maliyeti azaltır.
  • Esneklik sağlar.
  • Ölçeklenebilir.
  • Kolay yönetilebilirdir.
  • Dolay kolay yedekleme sunar.
  • Felaket kurtarma durumlarında etkin kullanılabilir.
  • Uygulamaların daha hızlı ayağa kaldırılması için ortam sunar.
  • IT operasyonlarının daha verimli hale getirilmesini sağlar.



Dezavantajları : 
  • Donanımlar sanallaştırmaya uygun olmayabilir.
  • Sanallaştırma yazılımlarının kullanılması ve yönetilmesinin öğrenilmesi yada eleman ihtiyaçı meydana gelmektedir. 
  • Yazılım lisanslarının sanallaştırmalar üzerinde nasıl kullanılacağı konusuna dikkat edilmelidir.

Bu yazımda sanallaştırmanın tanımından, yapısından, avantajlarından ve dezavantajlarından bahsettim. 
Bir sonraki 'Bulut Bilişim' başlıklı yazımda görüşmek üzere... 



6 Haziran 2016 Pazartesi

YAZILIM TANIMLI AĞLAR

Merhaba Arkadaşlar


Bu yazımda son zamanlar popülerliği artan SDN (Software Defined Network) Yazılım Tanımlı Ağlar'dan bahsetmek istiyorum.

Ancak öncelikle sanallaştırmanın ne olduğuna değinmek istiyorum. 


Sanallaştırma;

 •Fiziksel kaynağı birden fazla mantıksal işleme bölerek kullanılan kaynağı daha verimli hale getirmektir.
 •Mevcut bulunan fiziksel donanımın sanal makineler yardımıyla çok daha verimli kullanılabilmesini sağlayan, çeşitli yazılım ve donanım bağımlılıklarını ortadan kaldıran, bu sayede de yeni ürün ve servis geliştirme maliyetlerinde büyük tasarruflar sağlayan yazılım çözümüdür. Çözümde kullanılan sanal makinanın tanımı ilk defa Popek ve Goldberg tarafından “gerçek makinenin etkili, soyutlanmış bir kopyasıdır” şeklinde yapılmıştır.




SOFTWARE DEFINED NETWORK
YAZILIM TANIMLI AĞLAR




Günümüzde servis sağlayıcılar, mobil operatörler, data merkezleri, büyük kuruluşlar ve özellikle araştırma geliştirme yapan üniversitelerde, ağ yazılımları ve ağ yönetim metotları geliştirmeye en çok ihtiyaç duyulan yerlerdir. Ağ iletişiminde en büyük yük donanıma binmektedir. Ancak donanım üreticileri, kendi bilgilerini cihazların içine gömdüklerinden, bunlarla ilgili yeni düzenlemeler, geliştirmeler, yaklaşımlar geliştirmek her zaman donanımlara bağımlı olunmuştur. Yakın geçmişte orataya çıkan sanallaştırma kavramı ile ağ yönetim sistemlerinin yönetim zorluklarını da beraberinde getirmektedir. Ayrıca bulut bilişime olan ilgi ve gereksinimler ağ kontrolünün önemini daha arttırmaktadır. Ayrıca ağın görsel olarak yönetiminin sağlanması, bu artan yükle birlikte daha önemli hale gelmektedir. Ağ yönetim sistemlerinin genel sıkıntısı, donanıma olan bağımlılık ve fiziksel olarak dağınık yapılarda, görsel olarak yönetimin olmamasıdır ve gelişen ihtiyaçları ve değişen koşulları anında ağ içine katmanın güçlükleri de bu fiziksel kısıtlamaları arttırmaktadır. Bu problemler sonucunda Fiziksel kaynakların mantıksal olarak bölüntülenerek daha verimli halde kullanılması olarak tanımlanan sanallaştırma kavramı ağ yapılarında da çözüm olarak görülmektedir. Open Network Foundation (ONF) tarafından doğrudan programlanabilen ve ağ kontrolünün iletimden ayrıştırıldığı bir yapıyla ortaya çıkan ağ mimarisi olarak belirtilmektedir. Temel olarak  kontrol düzlemini veri düzleminden ayırmak hedeflenmektedir. İstemci ile veri tabanı arasındaki iletişimin en ucuz ve en güvenilir yoldan sağlanması ve yönetilmesi amaçlanmaktadır.

OpenFlow protokolü, bu amaca yönelik olarak geliştirilmiş ve üniversiteler ve araştırma enstitüleri gibi kurumlarda, ağ yönetiminin daha çok araştırmaya imkân sağlanması beklenmektedir. OpenFlow yenilikçi ağ protokollerini ve yeni yöntemlerin kullanımdaki ağlarda geliştirilmesini sağlayan bir açık standart olarak tanımlanmaktaıdr. OpenFlow, Stanford ve California Berkeley Üniversiteleri tarafından internet ağındaki switch, router ve bazı network cihazlarının donanımsal kısıtlamalarından dolayı zamanla tıkanacağı düşünülen ve artık gerçek-zamanlı isteklere arzu edildiği gibi cevap veremeyen küresel internet ağı için tüm bir networke ve network cihazlarına yazılımlar yoluyla daha etkin müdahele edilebilmesi amacıyla ortaya çıkmış bir açık-kaynak ağ protokolüdür. OpenFlow protokolü ve POX denetleyicisi kullanarak, orta büyüklükte ağlarda, bu teknolojisinin kullanılabilirliği hakkında niceliksel bir bilgi sağlamak, araştırmacı ve kurumların ağ sistemlerinde kullanabilecekleri bileşenler açısından önemlidir. OpenFlow protokolü ile birlikte ağ donanımın kontrol bölümünün dışarıda bir sunucuya aktarılması, ağ yöneticilerine büyük esneklik sağlayacaktır, bu esneklik büyük alanlardaki ağların yönetimlerini, günümüzün bir diğer sorunu olan enerji ihtiyaçları da düşünülerek, donanım ve alt yapıların daha verimli kullanılmasını sağlayacaktır.  




SDN Yapısı 


Bir ağ cihazı 3 katmadan oluşur, bunlar kontrol katmanı, veri katmanı ve yönetim katmanı olmak üzere. Kontrol katmanı; cihazı üzerinde çalışan protokollerin belirlendiği kısımdır. Bir paketin nereye gideceğine karar verir. Veri katmanı; kontrol katmanından alınan bilgiye göre verinin iletildiği kısımdır(forwarding table). Yönetim katmanı ise cihazın yönetimsel işlemlerinin gerçekleştiği kısımdır. Bu katmanlar ağ cihazlarının içerisinde bulunmaktadır. Bir paketin iletiminden, nereye gideceğinden yani bütün işlemlerden bir cihaz sorumludur. Yazılım tanımlı ağlar ile bu katmanlar birbirinden ayrılıyor, (kontrolcü ile veri düzlemi ayrılıyor.)
























SDN mimarisi katmanlı bir yapıdıan oluşur.
Uygulama Katmanı (Application Layer) :  SDN kontrolcüsünün yönetilmesi, görüntülenmesi, kontrolcüden veri alınması ve bu veriler doğrultusunda istatistik çıkarabilmesini sağlayan bir takım uygulamaların bulunduğu katmandır.
Kontrol ve Yönetim Katmanı (Control and Management Layer) :  Aynı katmanın 2 farklı bileşeni olarak adlandırabilir. Kontrolcü bu katmanda işlem görmektedir.. Kontrolcüye verilen komut verdiğimiz, direk programlanabilen kısımdır.(Control Plane)
Altyapı katmanı (Infrastructure Layer)  : Veri iletimini yapan fiziksel donanımların olduğu katmandır. (Data or Forwarding Plane) Bu katmanlar kadar önemli başka bir konu aradaki bağlantı sağlayan araçlar:

• A-CPI : Application-Controller Plane Interface
• D-CPI : Data-Controller Plane Interface










Ayrılan kontrolcü ile tek bir mekrzden yönetim sağlanabilir ve ağ akışındaki trafik tek bir merkezden görüntülenip yönetilebilir.









SDN Nasıl Çalışır ?



Ağ yapılarında haberleşmek yada bir bilgi almak için istemci kendisine en yakın cihaz aracılığıyla istekte bulunur.








Cihaz kendisinde mevcut tabloda herhangi bir aynı istek olup olmadığını kontrol eder eğer yoksa,
istek alan cihaz direk olarak merkezi kontrolcü ile haberleşir, gelen trafik isteği karşısında nasıl davranmaları gerektiğini kontrolcüye sorarlar.









Kontolcü tarafından forwarding table'da bir kural olup olmadığı kontrol edilir. Eğer mevcut bir akış kuralı var ise o davranış gönderilir. Bir kural yok ise tanımlanan kurallar çerçevesinde akış tablosuna yeni bir kural eklenerek yapılacak davranış kendisine sorgu yapan cihaza cevap olarak gönderilir.













Belirlenen kurala bağlı olarak gelen paket istedğinin kullanacağı yollarla ilgi bilgi, kullanılacak cihazlara, kontrolcü tarafından iletilir.













İstemci kontrolcünün yönlendirmesi ile istediği veri tabanına erişebilir, internete çıkabilir.








































Yazılım Tanımlı Ağların Yararları
  • Daha az maliyet : Ağ yapısındaki cihazların daha verimli kullanılması ile donanımlar daha verimli kullanılabilir, maliyet azaltılabilir.
  • Tek Merkezden Yönetim : Kontrol ve veri düzleminin ayrılması ile tek bir yerden merkezi bir yönetim sağlanabilir.
  • Dinamik ve Optimize Yapı : Kontrol ve ve veri düzleminin ayrı olması ile ihtiyaçların artması durumunda veri düzlemindeki yapı kolaylıkla genişletilebilir ve merkezi kontrolcü ile yönetimi sağlanabilir.
  • Güvenlik : Merkezi yönetim olması sayesinde güvenlik duvarları kolaylıkla yönetilebilir, güvenlik kuralları eklenip çıkartılabilir, yetkilendirme ve kısıtlamalar kolaylıkla yönetilebilir.
  • Yük Dengeleme : Trafiğin yoğun olduğu bölgeler görüntülenerek, gelen isteklerin trafiğin yoğun olmadığı yollara yönlendirilebilmesi mümkündür.
  • Yüksek Erişilebilirlik : Sistemdeki cihazlarda bir sorun olması durumunda, alternatif yollara yönlendirme yapılır, kontrolcü de bir sorun oluştuğundan ise sekronize çalışan ikinci kontrolcü işlemler yönetilmeye devam edebilir.


Yaralanılan Kaynaklar