28 Ekim 2016 Cuma

Platform As A Services (PaaS)

Diyelim ki bir web sitesi geliştireceksiniz ve geliştireceğiniz dilin özelliklerine göre (Php, Ruby gibi) her halükarda size bu programlama dillerinin düzgün olarak çalıştığı ve düzgün çıktı ürettiği bilgisayarlar gerekiyor. Eski sistemde paranızın yettiğince bir sunucu kiralayıp oraya mesela Php için gerekli ortamı (LAMP,MySQL vs…) kurup orada geliştirme yapmanız gerekiyordu. Peki yaptınız her şey güzel ilerliyor siteniz tıklamalar alıp gelişmeye başladınız projenize daha fazla yoğunlaşmak istiyorsunuz.


Fakat siteniz fazla sayıda istek almaya başladı bu durumda daha kaliteli bir makine almanız gerekiyor, dolayısı ile maliyetiniz artıyor ve serverin taşınması ve tekrar aynı düzene girmesi gibi bir takım problemler çıkmaya başlıyor. İşte bulut bilişimin bize sunduğu PaaS servisi ile bu gibi problemler yaşamazsınız.


Basitce PaaS ile LAMP(Linux, Apache, MySql, Php-Python-Perl), WINS(Windows Server, IIS, .NET, Sql Server) en bilinen iki platform gibi platformların servis olarak sunulmasıdır.  PaaS size uygulama dizaynı, uygulama geliştirme, hosting, test işlemleri için ihtiyacınız olan platformu sağlar. Tabi ki bu platformu cloud işlem vasıtası ile hızlı bir şekilde yapılandırabilir ve kendi ihtiyacınız doğrultusunda anında işlem yapacak hale getirebilirsiniz.

PaaS hizmetinin bize sunacağı faydaları şöyle listeleyebiliriz:

  • Teknik anlamda altyapı ile uğraşmazsınız
  • Kendi platformunuzu oluşturmak için risk almazsınız
  • Altyapı maliyetine verilecek para cebinizde kalır ve platform hizmetini kullandığınız kadar ödersiniz
  • Dakikalar içerisinde elinizde hazır bir platform olur
  • Piyasaya anında atılırsınız
  • Diğer web servisleri ile entegreli çalışabilirsiniz

Kısacası bu sistem size her yerde düzgün çalışan dilediğiniz kadar kaliteli, sorun çıkarmadan kullandığın kadar öde mantığı ile çalışan, güncelleme, server bakım dertlerini minimuma indiren sanal makine veya makineler vermesidir diyebiliriz.


     Bu sene Azure ile Bulut Bilişim dersinde gruplar oluşturularak bir proje oluşturulacak ve proje olarak OBS yani bir üniversite için öğrenci bilgi sistemini yapma kararı aldık. Projenin amacı öğrencilere ve diğer kullanıcılara kullanışlı ve verimli bir okulla ilgili işlerini yapabilecekleri bir sistem sağlamaktır.

     Bizim proje grubumuz 8 kişiden oluşuyor ve başlangıç olarak bir görev dağılımı yaptık. Daha sonra oluşturacağımız proje için genel olarak bir Database tasarımı oluşturduk ve buradan yola çıkarak projedeki modelleri ortaya çıkardık. Bunlar: Student, Register, Management, Department, Faculty, Lecturer, Course-Offered Course, Semester-Education Plan.

     OBS projemizde benim yapmam gereken kısım ise Department Modelinin Database kısmını, API'sini ve arayüzünü oluşturmaktır.

     Django ile Database Modellerimizi oluşturduk. Department için Django'da:

              >dajngo-admin.py startapp obs_department

diyoruz ve Visual Studio Code da obs_department da models.py içerisinde clasımızı  

              #! -*- coding:utf-8 -*-
             from django.db import models
             from obs.obs_faculty.models import Faculty

             # Create your models here.

             class Department(models.Model):
                      faculty = models.ForeignKey(Faculty)  
                     department_name = models.CharField(max_length=30)
                     department_code = models.CharField(max_length=10)
                     department_tel = models.CharField(max_length=20)
                     department_fax = models.CharField(max_length=20)

            def __str__(self):
                     return self.department_name

            class Meta:
                    verbose_name ="Bölüm"
                   verbose_name_plural="Bölümler"

tanımladıktan sonra admin.py içerisine 

            from django.contrib import admin

           from .models import Department

           admin.site.register(Department)

diyoruz ve settings.py içerisine

          INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'obs.obs_department',
]

ekleniyor ve bunların hepsi kaydedildikten sonra konsolda

      >python manage.py makemigrations
      >python manage.py migrate
      >python manage.py runserver

diyoruz ve tarayıcımızda adres çubuğuna localhost: runserverda gelen port numarısını yazıp sayfamızı açıyoruz.(http://localhost:8000/)




Burada eklenecek bölümler eklenip silinebilir.

Github Department için link : https://github.com/comuOBS/obs-api/tree/master/obs_department

Github proje linki : https://github.com/comuOBS/obs-api

Ayrıca website örneği için oluşturduğumuz video linki : https://www.youtube.com/watch?v=Lwdpzl2c1Cs

Hiç yorum yok:

Yorum Gönder