büyük kamu projelerinde php kullanımı @ phpİst 2013

30
e-Devlet ve EBA Yazılım Mimarileri phpist 2013

Upload: hueseyin-mert

Post on 02-Jul-2015

2.205 views

Category:

Technology


1 download

DESCRIPTION

Büyük Kamu Projelerinde PHP Kullanımı hakkında bilgiler verdiğim; e-Devlet Kapısı ve Eğitim Bilişim Ağı Yazılım mimarisi hakkında detaylı bilgiler verdiğim sunumum.

TRANSCRIPT

Page 1: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

e-Devlet ve EBA

Yazılım Mimarileriphpist 2013

Page 2: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

Bu sunumdaki yer alan

tüm bilgiler herhangi bir

kurumu veya kuruluşu

kesinlikle bağlamaz

Page 3: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

UIUX

Kullanılabilirlik

Erişebilirlik

jQuery

php python

java

pL/sql

Redis.io

Mongo memcache

nginxtornado

tomcat

*nix

javascript

mysql

postgresql

Page 4: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

Sunum Planım

Ankara’daki yazılım projeleri nasıl

Kamudaki PHP’ye bakış

Bizim ekibin görüşü nasıl

e-Devlet Kapısı

* PHP’den öncesi PHP’den sonrası

Eğitim Bilişim Ağı

* Nasıl yaptık ve ne noktayı hedefliyoruz

* Ne zorluklar yaşadık

* Neler yapacağız/yapacaksınız

Size Sorularım

Page 5: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

Ankara’daYazdığı projesi çökmeyen

Çökse de belli etmeyen

Belli etse de hemen gelip uğraşan

Firma

dolayısıyla

YAZILIM DİLİ

Kazanır

Page 6: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

Çağrı Merkezi

Komple Çözüm

Hatasız

Devam Ettirilebilir

Her Mühendis Anlar

Aldığım hizmet ucuz

Ne aldığımı biliyorum

Windows gibi

Page 7: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

DEVLET• PHP kötü bir dildir

• PHP’yi yazacak firma bulamayız

• PHP’nin çok açığı var

• PHP geliştirici bulamıyoruz

• PHP’de kütüphane az

• PHP projelerinin arayüzü kötü

• PHP geliştiricileri tembel

• PHP’de standart yok

• PHP’de problem yaşasak yalnızız

• PHP’deki hatayı herkes görür

Page 8: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

Türkiye• Firmalar .net aşığı

• Komple çözüm

• Destek sağlayamayız

• Güvenlik açığı çok

• Performans problemi var

• Eski PHP’ciler .net’ci oldu

• Türkçe kaynak yok

• OOP ne la?

• WordPress çok cpu yiyor

Page 9: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

Biz ne yaptık

• Yazılım Projesi ne demek?

• Yazılım Projesi nasıl yönetilir?

• Yazılım Projesinde özellikler nasıl belirlenir?

• Yazılım Projesinde FAZ’lar nasıl belirlenir?

• Yazılım Projesinde yol haritasında değişiklik neden ve nasıl

yapılır

• Yazılım Projesinde hata çıkınca ne yapılır?

Page 10: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

e-Devlet KapısıÖncesi Sonrası

Page 11: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

İlk versiyon 2008-2009100.000 Kullanıcıya kadar

PORTLETLER

WSDL

Layer7 GW

Page 12: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

İlk versiyon 2009-201214.000.000 Kullanıcıya kadar

PORTLETLER

WSDL

Layer7 Gateway

Page 13: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

Güncel 2012-..15.000.000 Kullanıcı

PHP -> Servlet

JAVA Servlet ->WSDL

Layer7 Gateway

Page 14: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

PHP Seçtik ÇünküHızlı Deployment

Sorunsuz çalışan bir özelleşmiş FW

Hızlı

Hata tolere edebilen bir sunucu mimarisi

NGINX

Hızlıca adapte olunabilecek bir altyapı dizayn edilmiş olması

Sağlam 1-2 tane GURU developer

İnanmış bir ekip

Page 15: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

Eğitim Bilişim AğıBugünü ve sonrası

Page 16: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

Modüler

Entegre edilebilir/olunabilir

Herkesin geliştirebileceği

Hızlı ve Az hata veren

Arayüzü güzel

Ekibi ve Müşterileri

MUTLU

Page 17: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

Güncel MimariGeliştirilmekte olan yapı

Page 18: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

İstatistikler

~40k tekil ziyaretçi

~200k gösterim

~4 dk ortalama

kullanıcının harcadığı

süre

~480k satır PHP

~400k JAVA

~70 Proje

3 MongoDB replica

1 MySQL

10 Memcache

10 önyüz

3 Servis (Glassfish)

10 Mutlu Mühendis

1 Analist 1 Tester

Page 19: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

PHP / NGINX / LOG

PSR-0

PSR-1

PSR-2

OOP

NETBEANS

JSON

Memcached

Twig

PHPUNIT

Selenium

PHP-FPM

NGINX

GitlabHQ

GIT

GELF/Graylog

REGISTER GLOBAL :P

Page 20: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

JAVA SERVLET

JSON Output

PreparedStatement

SQL Injection Korumalı

MySQL connection pooling

Mongo bağlantısı daha iyi

GlassFish

Tüm exeptionlar yakalanmış

Her işlem LOG’lanmış

JSR-254 uygun

JOIN az çok az

Page 21: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

Sistem

Debian

Percona

Mongodb 2.4

PHP 5.4.x

NGINX

Memcache Clustered

Open Stack

KVM

Özelleşmiş LoadBlancer

Page 22: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

PHP

JAVA SERVLET

LOG

DB

CACHE

IDM

Page 23: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

EKİP

e-Devlet Kapısı

• 7-8 Mühendis

• 4-5 Networkçü

• 2-3 Sistemci

• 2-3 Analist

• 2-3 Tester

• 1 Ekip Lideri

• 1 Yönetici

• 15 Milyon Kullanıcı

• %5 Aktif

• Operasyon çok az

Eğitim Bilişim Ağı

• 2-10 Mühendis

• 2 Networkçü

• 1 Sistemci

• 2 Analist

• 1 Tester

• 1 Ekip Lideri

• 2 Yönetici

• 17 Milyon Kullanıcı

• Tahmini %10 Aktif

• Sürekli operasyon

Page 24: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

Hedeflerimizbunları size yaptırmak için planladık

Page 25: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

Message QueueRabbitMQ beğendik

Senkron / Asenkron işler olacak

Pipe

Thrift

Page 26: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

APIŞuandaki tüm servislerimizi API

ile dışarıya açacağız.

İlk aşamada salt-okunur listeleme

fonksiyonları

Son aşamada içerik ekleyebilme

özellikleri

Page 27: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

oAuth 1.1aEBA ile tüm sitelere giriş

yapılabilmesini yapacağız.

- wordpress plugin

- android için EBA Authenticator

- iOS için

- Cross Platform

Page 28: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

TakipMongoDB ile yapabiliriz diye

planladık

17 Milyon Kullanıcı

Gruplar (private/public)

Page 29: Büyük Kamu Projelerinde PHP Kullanımı @ Phpİst 2013

Harici Modüller- Sizin yaptığınız eğitime yönelik

projeler

- Analiz Araçları

- Raporlama araçları

- Depolama çözümleri

- Uzaktan yönetim