PaaS 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. Eski modelde geliştirici kullanacağı platformu yapılandırmak, güncellemek ve sürekli ayakta tutmak zorundaydı. Bu durumda geliştirmeye zaman kalmıyordu. PaaS sayesinde arkaplanda dönen işlerin hiçbiri ile ilgilenmeniz gerekmiyor, sadece kendi yapmanız gereken kısımla ilgileniyorsunuz.
Bunun IaaS ile farkı nedir diyebilirsiniz. Örneğin Lamp üzerinde uygulama geliştirmeniz gerekiyor. IaaS sağlayıcısından hizmet alıp LAMP ortamını kendiniz yaratıp, güncelleyip, çeki düzen verirsiniz yani kısaca tüm platform sorumluluğu sizde olur. Ama PaaS’da zaten hali hazırda LAMP platformu sunan bir sağlayıcıdan birkaç işlem ile üzerinde uygulama geliştirmeye açık bir hizmet alırsınız yani paltformu ayarlamakla uğraşmaz patlatmadan direkt olarak kod yazmaya başlayabilirsiniz. “Platform As A Service” da artık sadece networking vs değil işletim sisteminden tutun, runtime’lara ve SQL’inize kadar herşey kurulu geliyor. Kurulu olarak gelmenin yanısıra tüm bu altyapının bakımı, yönetimi servis sağlayıcı tarafından sağlanıyor. Artık benim sunucu satın almam, network ayarlarını yapmam, yönetmem, sanallaştırma çözümlerini seçmem, yönetmem, işletim sistemi lisanslarını almam, işletim sistemini ayarlamam, yönetmem, runtime kurulumlarını yapıp güvenlik ayarlarını yapmam gibi hiçbir konuyla en ufak bir ilişkim kalmıyor. Elimdeki uygulamamı ve datamı alıp direk bana sağlanan PAAS ortamına koyup işimi bitiriyorum. Kısaca PaaS size altyapı üzerine kurulmuş hazır bir platform sunar.
Bu sene aldığım Azure ile Bulut Bilişim dersinde gruplara ayrılarak OBS(Öğrenci Bilgi Sistemi) yapmaya karar verdik. Projemizin amacı Öğrencilere, öğretmenlere ve yönetim kadrosunda yer alan kişilere daha hızlı ve kullanışlı bir bilgi alışverişi yapacakları bir sistem oluşturmaktır.
Projemizi sekiz arkadaş birlikte oluşturmaya çalışıyoruz. Öncelikle görev dağılımı yaptık. Öncelikle projedeki Database kısmı için Modelleri ortaya çıkardık. Bunlar Student, Register, Management, Faculty, Department, Lecturer, Course-Offered Course, Semester-Education Plan‘dır.
- OBS projemizde benim görevim Faculty Modelinin Database kısmını, API’sini ve arayüzünü oluşturmaktır.
Biraraya gelerek Django kullanarak modelleri oluşturduk ve modelleri Github’a commitledik. Faculty Modelini oluştururken Django’da :
$ django-admin.py startapp obs_faculty $ vim models.py
#! -*- coding:utf-8 -*-from django.db import models
# Create your models here.
class Faculty(models.Model): faculty_name = models.CharField(max_length=50) faculty_code = models.CharField(max_length=20) faculty_address = models.CharField(max_length=220) faculty_tel = models.CharField(max_length=12) faculty_fax = models.CharField(max_length=12)
def __str__(self): return self.faculty_name
class Meta: verbose_name =”Fakülte” verbose_name_plural=”Fakülteler”
$ vim admin.py
from django.contrib import admin
from .models import Faculty
admin.site.register(Faculty)
$ vim setting.py
# Application definition
INSTALLED_APPS = [
‘obs.obs_faculty’,
]
$ python manage.py makemigrations
$ python manage.py migrate
$ python manage.py runserver
Django version 1.9.7, using settings ‘obs.settings’ Starting development server at http://127.0.0.1:8000/
Faculty Modelinin Github Linki : https://github.com/comuOBS/obs-api/tree/master/obs_faculty
Proje Github Linki : https://github.com/comuOBS