Ana içeriğe atla

PaaS Kategorisinde Bir Bulut Hizmeti : Web Apps



Web sitesi nedir?    


Web sitesiweb üzerindeki sayfalar; metin, görsel ve animasyon şeklinde ziyaretçisine bilgi aktaran veya hizmet sunan sayfaların tümünü kapsayan bir doküman topluluğudur.                               
Neden bulut servisleri kullanarak bir web sitesi oluşturmalıyız?
  • İşimizi kolaylaştırır.Bu sayede esnek kotaya sahip sunucuya sahip oluruz.Yani kullanımla doğru orantılı olarak sunucu hizmeti ayarlanır. Örneğin  ÖSYM sitesine 1 yılda belirli zamanlarda yoğun talep gerçekleştiğinde, sırf o yoğunluğu karşılayacak makinalar için  1 yıllık maliyeti ödeyeceğine yıl içindeki yoğun zamanlarda kapasite durumunu yükselterek maliyetini düşürebilir.     
  • Alt yapıyla ilgili işlerle uğraşmamış oluruz.
  • Güvenlikle ilgili bir problemimiz olmaz.                    

Platform Hizmetleri Avantajları :


Platform hizmetleri, web tabanlı uygulamaların oluşturulması ve sunulmasına yönelik ihtiyaçları uçtan uca destekleyen ortam ve araçları içerir.

Donanım, yazılım, devreye alma (deployment) veya barındırma satın alma ve yönetme gibi gereklilikler söz konusu olmadığından ( tüm bunlar IaaS ile hazır gelen imkanlardır) maliyet ve karmaşa da ortadan kalkar. 

Platform Hizmetleri ile uygulamalar geliştirebilir, test süreçlerini hızlandırabilir ve çözümlerinizi daha kısa sürede pazara sürebilirsiniz.

Bu sayede bize işletim sistemi veya hardware seviyesine inmeden yazdığımız uygulamanın sadece kodlarıyla uğraşarak yayına alabilme imkanını sağlamış olur.


Azure Web Apps Nasıl Oluşturulur ?

    


  • Daha sonra NEW / WEB APP /QUICK CREATE diyerek bizden uygulamamızın hangi domainde yayınlanacağını girmemizi bekler.Your web app has been created! yazısından sonra oluşturulan web sitesinin Publish your app /Download the publish profile dosyasını indirmeliyiz.

  • Ardından Visual Studio'yu açıp Solution Explorer'da bulunan projemizin adına sağ tıklayıp PUBLISH diyelim.


  • Import'a tıklayıp indirdiğimiz dosyayı buraya import edelim ki bu proje azure'daki web app ile ilgili bağlantı bilgilerini elde etsin.Daha sonra yapmanız gereken tek şey biraz beklemek :)

Aşağıdaki videodan Web App oluşturup, yazdığımız projeyi nasıl yayınlarız sorusuna cevap bulabilirsiniz. 




Bu dönem Windows Azure İle Bulut Bilişim dersinde ben ve 7 arkadaşımla OBS(Öğrenci Bilgi Sistemi) geliştiriyoruz. Team Foundation Server'da Backlog(görev dağılımı yaptık) oluşturduktan sonra çalışmalara başladık. İlk olarak base seviyedeki işlemleri bitirip, complex yapılara proje ilerledikçe yön vereceğiz.

İlk olarak grubumuzla OBS için nasıl bir veritabanı yapısına ihtiyacımız olduğunu belirledik. 






Daha sonra bir Asp .Net Mvc projesi açıp Code First ile Orm yapısı oluşturmaya başladık. Projemizi geliştiriken tfs kullanıyoruz.(https://obsazure.visualstudio.com/OBS). 





Katmanlı Mimari yapısına uygun geliştirdiğimiz projede DataContext Data Access katmanında bulunmakta ve diğer projelerden referanslara dll olarak eklenmektedir.






Benim projedeki ilk görevim

  1.  DepartmentDomainService 
  2.  DepartmentSecreterDomainService 
  •  Bu domain servisler için Request ve Response sınıfları 
  •  Department ve DepartmentSecreter için validator 
yazmak.

Görsel olarak aşağıdaki şekilde açıklayabilirim.





          
          PROJEMİZ (KATMANLI MİMARİ)                                           İLK GÖREVİM



Yazılan Departman , Departman Sekreter ve Login sisteminin arayüzleri aşağıdaki gibidir.






















AZURE STORAGE


Azure'da oluşturacağımız bir storage alanı sayesinde o alana bize verdiği bağlantı string'ini kullanarak erişebiliriz.Ve projemize eklenemsini istediğimiz dosya türlerini burada tutabiliriz. Web sitemize resim, video ve benzeri dosyalar ekleyebiliriz. Bunun için azure sdk indirip içindeki setup.py dosyasını install ederek kodları yazacığımız editörü açıp verilen keyi koda ekleyerek resim veya videoları yükleyebiliriz. 

Virtual machine oluştururken bize storage soruyor.Bize fiziksel bellek söylüyor ve biz işletim sisteminden ve bakımından sorumlu olmuş oluyoruz.

Fakat Storage(high level) ->Paas, bize api üzerinden platform sunuyor böylece alt katmana bakmıyoruz artık dosyalama indexi,sistem beni ilgilendirmemiş oluyor.

STORAGE : 

   File Service için 4 fonksiyon vardır:
  1. create_share
  2. create_file_from_path
  3. list_directories_and_files
  4. delete_file
(File, Blob share'i kullanır)
  • BLOB
    • İçerik olarak binary saklıyor, resim video olup olmadığına bakmıyor.
  • TABLE 
    • No sql yapısı kullanıyor, tablo gibi dizayn yok iki boyutlu matris.
    • Relational yapı yok.
    • Büyük miktarda veriyi veritabanında tutmak için.
    • Arama yaparken kolaylık sağlar.
  • QUEUE
    • Çok yoğun veri girişi olduğunda bir tablo yapısı her gelen isteği karşılayamaz. Gelen veriyi kuyruğa atıp sırası geldiğinde işliyor.
    • Ardışık veriler için
    • Hız ve güvenlik sağlar.
  • FILE
    • Disklerde kullandığımız logic katman
    • Bellek, CPU, ALU
    • Diskteki 0 ve 1'leri NTFS veya FAT ile dosya ve klasörlere dönüştürüyor.
  • DATABASE
  • DOCUMENTDB
    • No sql yapısı

Resmi uzak sunucuya ekleme işlemi

from azure.storage.file import FileService
from azure.storage.file import ContentSettings

acc_name='comustorage'
key_1=''
key_2=''
file_service = FileService(account_name = acc_name, account_key = key_1)
file_service.create_share('picture')
file_service.create_file_from_path(
'picture',
None,
'picture',
'C:\\Users\\Gizem\\Pictures\\Sample Pictures\\Manzara.jpg',
content_settings=ContentSettings(content_type='image/jpg'))
generator = file_service.list_directories_and_files('picture')
for file_or_dir in generator:
print(file_or_dir.name)




Yorumlar

Bu blogdaki popüler yayınlar

VirtualBox ile Kali Linux Kurulumu

Merhaba, uzun zamandır ilgimi çeken Kali Linux işletim sistemini  dün yükleme fırsatı buldum.Kali debian tabanlı bir linux dağıtımı olan bir güvenlik kontrol işletim sistemidir. İçerisindeki araçlar sayesinde birçok alanda(Ağ, Windows, Arduino) güvenlik testi yapmamıza ve yazılım geliştirmemize olanak sağlar. Bu yazımda size Kali Linux'un sanal makineye kurulumunu elimden geldiğince anlatmaya çalışacağım. İşletim sistemlerini fiziksel makinelere kurmak yerine sanal olarak kurabiliriz.Bilgisayar biliminde Sanal makine, programları gerçek bir bilgisayar sistemindeki gibi çalıştıran mekanizmaların yazılım uyarlamasıdır. Sanal Makine, işletim sistemi ile bilgisayar platformu arasında bir sanal ortam yaratır ve bu sanal ortam üzerinde yazılımların çalıştırabilmesine olanak sağlar. Gelelim Kali Linux'un sanal makineye kurulmasına. Öncelikle Oracle VM VirtualBox'ı şu linkten https://www.virtualbox.org/wiki/Downloads Platform Packages  kısmından bilgisayarımıza uygun olanı...

ASP.NET MVC Database( LocalDB) Bağlantısı

Önce yazımda basit bir örnek yapmıştım sadece View ve Controller kullanarak bir sayfa oluşturmuştuk.Bu yazımda yapacağım örnekte Model'e ihtiyacımız olacak.Bu örnek öğrenci ve dersleri kaydedip hangi dersi kimin alacağını tutan bir veritabanına sahip proje olacak. Önceki yazımı buradan  okuyabilirsiniz.Eğer projemizi açtıysak  proje ismine sağ tıklayıp Add -> New Item deyip    Data'yı seçtıkten sonra ADO.NET Entity Data Model'i seçip Model ismimizi yazıp Add diyelim. Code first yaklaşımını şu şekilde açıklayayım.Örneğin ders.cs adında kendim bir sınıf oluşturup içine public int ID; public string AdSoyad; yazdığımda  database'de dersler diye bir sınıf oluşturur ve içerisine bu kolonları ekler, sql server'ı açıp eklemek zorunda kalmam.Yapacağım şey kodu C#'ta yazmak ,böylece veritabanı oluşacak. Database First yaklaşımı ise veritabanını sql serverda oluşturturduktan sonra,C#'ta karşılığını Entity Framework gerçekleştirir.Yani Da...

Github

GitHub, sürüm kontrol sistemi olarak Git kullanan yazılım geliştirme projeleri için web tabanlı bir depolama servisidir. GitHub özel depolar için ücretli üyelik seçenekleri sunarken, açık kaynaklı projeler için ücretsizdir. GIT sürüm kontrol sistemini kullanan her bir çalışma dizini (proje), internet erişimi ya da merkezi bir depo olmaksızın tüm tarihçeyi tutan ve sürüm kontrol sisteminin tamamını içinde barındıran tam yetkili birer depodur. Yeni proje oluşturmak, Projeye kişiler eklemek, kişilere görevler atamak, kişilerin analizlerini tutmak, ana projeyi değiştirmeden yeni kodları test etmek için dallar (Branch) oluşturmak, Dallar üzerinde çalışırken projeyle bu değişiklikleri birleştirmek (merge), yapılan işlerle ilgili yorum düzenlemeleri gibi  pek çok şey yapabilirsiniz. Ubuntu gibi Debian-tabanlı bir sistemdeyseniz, apt-get'i kullanabilirsiniz: $ sudo apt-get install git Git'i kurduğunuzda yapmanız gereken ilk şey adınızı ve e-posta adresinizi ayarl...