ݺߣ

ݺߣShare a Scribd company logo
24 Ekim 2013








1984 yılında İstanbul’da doğdu.
2003 , Adex
2004, Portakal Bilişim
2006, Microsoft
2007, Vision DMR
2007, Estore
2009, OttoGroup – limango – arabulvar -Ogli

İletişim Bilgileri
Email: bmukad@gmail.com
Mobile : +90536 2402424

Big Scale Systems, Logistic Operations, E-commerce Payment, Cache Systems, Mysql Databases ,Php Development , Linux Administration , FrontEnd
Development, Network Structures






















Tanışma
Yazılım Nedir ?
Popüler Yazılım Dilleri
E-ticaret İçin Hangi Yazılım Dili ve Platformu
Teknoloji Seçimi - Checklist
Yazılım Yaşam Döngüsü
Proje Yönetimi

Agile / Scrum
IT Ekibi Yapılanması
E-Ticaret için IT çözümleri
IT Ekibi- Proje Planı
E-Ticaret – Genel Altyapı
Yük Dağılımı (Load Balancing)
Database Replikasyonu
Web Server Seçimi
Memcache
Startup’lar için Adım adım Altyapı
Soru / Cevap / Yorum Free Format
Teşekkürler
Yazılım[1] (İng. software), değişik ve çeşitli görevler yapma amaçlı
tasarlanmış elektronik araçların birbirleriyle haberleşebilmesini ve uyumunu
sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye
yarayan makina komutlarıdır.

Yazılım, yaşayan bir organizmadır... İhmale gelmez.


Ana hatları ile 2 kategori’de



low level (assembler)



high level (C++, C# .. )



6000’den fazla
E-ticarette Yazılım ve Altyapı
http://spectrum.ieee.org/at-work/tech-careers/the-top-10-programming-languages
E-ticarette Yazılım ve Altyapı
Php

Java

ASP, .NET

http://langpop.com/

Python
Ruby
E-ticarette Yazılım ve Altyapı
Sistemsel Altyapı

Yazılımsal Altyapı

Uygulama Sunucuları

Yazılım Dili / Platformu

Web Sunucuları

Frameworkler, Entegrasyonlar

Veritabanı Sunucuları

Önyüz, Orta Katman ve Veri Katmanı

Load Balancer

Yazılım Yaşam Döngüsü

Cluster/Session Replication

Performans

Firewall, Router, DNS, Disk, ...

Loglama, Monitoring, Fraud
Önleme, Güvenlik, ...
Programming
Language & IDE

Frameworks

Servers

RDBMS

SCM

CI

Issue Tracking

Testing

Dependency
Management

UI Design

Modelling Tools
...

Wiki
Geliştirdiğiniz bir yazılım projesinin planlanmasından
başlayarak teslimatına kadar geçirmiş olduğu bütün
aşamalara ve bu aşamalardan oluşan
döngüye, Yazılım Geliştirme Yaşam Döngüsü denir.
Bir yazılım projesinin geliştirilmesi, sadece
kodlamadan oluşmamaktadır.
Basitçe bir proje geliştirilirken projenin
planlama, analiz, tasarım, üretim ve test aşamaları
yer almaktadır ve almalıdır. Bu aşamalar bir kere
gerçekleştirildikten sonra proje tamamlanmayabilir.
Bu aşamaların bir döngü halinde düşünülmesi
gerekmektedir. Proje tamamlandıktan sonra gelecek
istekler, hata düzeltmeleri, projeye eklenecek yeni
modüller vs konular için bu süreç devam etmektedir.
Bu döngüye yazılım geliştirme yaşam döngüsü adı
verilmektedir.


Classic Waterfall



Iterative Waterfall



Spiral



Lean



Agile / Scrum



...


Teknik Analiz



Yazılım Geliştirme: Görsel, Html, Yazılım



Testler & QA



Unit Testler



FonksiyonelTestler



UI Testleri



A / B Testleri



Kullanıcı Kabul Testleri



SEO Testleri




Test ortamları: Dev, FT, UAT, Staging, PROD

Güvenlik Testleri

Bug Takibi ve Çözümü
E-ticarette Yazılım ve Altyapı


ROI’ı maksimize etmek için
 Hedeflenen sürede
 Hedeflenen bütçede
 Hedeflenen kalitede

 Hedeflenen kapsamda ve işlevsellikte
 Aksaklıklar yaşamadan
 Ekip oyunundan keyif alarak başarmak
•

E-Ticaret;
 Çok dinamik
 Son teknolojiyi yakından takip eden
 Teknolojiyi drive eden
 Online, anında, hızlı

 Basit ve Kompleks
 Web siteniz sizin ürününüz
 Ekip/takım oyunu, birimler arası koordinasyon şart


The Standish Group Chaos Raporları -Yazılım projelerinin;
▪ %32'si zamanında, bütçesinde ve gereksinimleri karşılayacak şekilde
sonuçlanıyor
▪ %44’ünde ihtiyaçlar değişiyor, belirsiz bir sürece giriliyor
▪ %24’ü başarısızlıkla sonuçlanıyor

2009

2004

Belirsiz
53%

Başarılı
29%

Belirsiz
44%

Başarılı
32%
Başarısız
24%

Başarısı
z
18%
• Ortalama 6 ay/1 yıl süren bir projede zamanla
ihtiyaçların, dinamiklerin, sektörün değişmesi, yeni
gereksinimlerin ortaya çıkması – Waterfall’ın dezavantajı
• Bu nedenle DONE kavramının olmayışı – Proje ne zaman
bitecek?
İş
Gerçekleşen
Planlanan

Zaman
E-ticarette Yazılım ve Altyapı
• İş sahibi/müşteri ile proje ekipleri, hatta proje ekipleri içindeki
birimler arasındaki koordinasyon, iletişim, işbirliği
eksikliği, motivasyon kaybı – Waterfall’ın dezavantajı

• Nitelikli olmayan ekip – Mutfaktaki bıçakların keskin olmayışı
• Optimizasyon yapılmaması, en iyi en mükemmel değil, o günün
şartlarına uygun en iyi çözüm
– ‘Mükemmel iyinin düşmanıdır’, Voltaire
– ‘Engineering is nothing but optimization’
• Yanlış seçimler (teknoloji, mimari, donanım, vs)
• Scrum - Rugby hücum taktiği:
– Top, tüm oyuncularla birlikte karşı sahaya taşınarak atak
yapılmaktadır.
• Agile Manifesto:
– Kent Beck, Martin Fowler, Ken Schwaber, Jeff
Sutherland... gibi toplam 17 kişi tarafından 2001 yılında
yayınlandı
Önemli

Az Önemli

Kişiler ve takım çalışması

Süreç ve araçlardan

Çalışan yazılım

Detaylı dokümantasyondan

Müşteri ile beraber çalışmak

Sözleşme ve anlaşmalardan

Değişime açık olup, uygulamak

Plana bağlı kalmaktan
• Amaç en baştan nihai ürünü, en mükemmeli tasarlamak
değildir. Belirli periyotlarla çalışan prototipler sunmak ve
markette ilk yer almaktır.
• Agile olmak "Kervan yolda düzülür" demek değildir. Aksine sık
sık planlayıp, değişen sektör dinamiklerine yeniden ayak
uydurmak, değişime açık olmak demektir. Beklentiyi
yönetmek için iyi bir yoldur.
• Agile olmak müşteriyle içiçe olmak demektir. Belirli
periyotlarla çalışan bir prototip sunmak, feedback almak, bu
feedbacklerle kendini iyileştirmek, geliştirmek ve bir sonraki
süreci planlamak demektir.
1.
2.
3.
4.

Müşteri ile bir araya gelinir
İhtiyaçlar belirlenir ve taskler çıkarılır (Product Backlog)
Bu taskler önceliklendirilir ve puanlanır (poker game, Sprint Planning)
Takımın 2 veya 4 haftalık hızına (Team Velocity) göre önceliği yüksek işler
listeye alınır (Sprint Backlog)
5.

6.

Takım her sabah 15 dakikalık durum değerlendirme toplantısı yapar (Daily
Scrum). İletişimi, koordinasyonu ve motivasyonu arttırır.
•
Dün ne yaptım
•
Bugün ne yapacağım
•
Karşılaştığım problemler
2 veya 4 hafta sonunda çalışan prototip ile müşteriye demo yapılır, feedback
alınır, gerekliyse değişiklik yapılacaktır. (Sprint Review)
7.
8.

Takım, 2 veya 4 hafta sonunda neleri iyi yaptığını, neleri kötü yaptığını, neleri
iyileştirmesi gerektiğini tartışır (Sprint Retrospective) – Continuous improvement
Takım, bir sonraki Sprint için tekrar müşteriyle bir araya gelir ve yeni bir Sprint
Planning toplantısı başlar...
E-ticarette Yazılım ve Altyapı
Felsefe:
• Self organization:
• Commitment
• Trust
• Cross-functional teams
• Transparency
• DONE kavramı
• Timebox
• Inspect & adapt
• Kaizen (continuous improvement)
• Retrospective
• K.I.S.S. & basit olanı yapmak zordur
Özetle E-ticarete Faydaları:
• Sık sık planlama yapıldığı için, müşteriyle sık sık biraraya
gelindiği için;
– 6 ay/1 yıl gibi bir süre sonunda hüsranla karşılaşılmaz,
– ROI maksimize edilir,
– Proje başarısı yükselir,
– Üretkenlik artar,
– Maliyetler düşer

• Değişime, yeni gereksinimlere açık olduğu için
dinamik, güncel ve kullanılacak fonksiyonalitede bir ürün
tasarlamanızı sağlar - Pareto Kuralı
Özetle E-ticarete Faydaları:
• 6 ay/1 yıl gibi bir süre sonunda değil de 2-4 hafta gibi
periyotlarla çalışan prototipler sunduğu için markette ilk yer
almanızı sağlar, rekabet gücünüz artar.
• İletişim ve koordinasyon yüksek olduğu için azimli ve
motivasyonu yüksek, yaptığı işten keyif alan bir ekip ortaya
çıkar (S.W.A.T. team).
• Kurum kültürünüze timebox, DONE, transparency gibi
kavramları yerleştirir.
http://www.youtube.com/watch?v=XU0llRltyFM


Developer



Software Architect



Sys. Administrator



Business Analyst



Software and Hardware Help Desk



Test Engineer



BI Reporting Specialist



Database Administrator


E-Ticaret’te yazılımcı kimdir ?
E-Ticaret için yazılımcı nereden bulunur ?



Startup Kahramanları



We Made

IT Possible


CMS
 Joomla, Wordpress, Xcart,osCart, phpCart,magento,drupa

l,oscommerce etc.


Outsource Yazılım
 Outsource
 Freelance



Inhouse


CMS




Hosted Cms




Magento, PrestaShop, Drupal e-commerce, Zen-Cart,CubeCart, osCommerce, VirtueMart, FatFreeCart

Shopify, wosbee,incir, sopsy

Custom Scripts


Outsource Yazılım


Done Kavramı



Proje Detayları



Dökümantasyon



Projenin Tanımı ve görevlerin atanması



Proje için gerekli olan süre



Proje ve zaman planı ile ilgili commitment
 IT ekibinizde kimlere ihtiyacınız var ?
 En az kaç kişi olmalı
 Proje Yönetimi
• Platforma karar verin
• İhtiyacınız olan IT yeteneklerine karar verin

• Elinizde ne bulunduğunu kontrol edin
• Basit düşünün
• Riskleri gözden geçirin










İş Gereksinimi (Business Requirement)
İş Analizi
Planlama
Wireframe, Prototype, Mockup
Commitment
UI / Ux design
Yazılım
Canlı Geçişi
Babysitting
1 – İş Gereksinimi (Beklentiyi Anlama)


Yeni Proje



Bug Fix



Yeni Geliştirme



Bakım
2- Analiz
 Gereklilikler
 Problem çıkarabilecek noktalar
 Performans sorunları
 Gerekli olan beceriler
3- Planlama
 Zaman Planı
 Altyapı
 Güvenlik
 Ekip
3- Wireframe, Prototype, Mockup


Brainstorming



Templates



CheckList
4 - Commitment


IT ekibi commitment



Business Owner Commitment
4 – UI / Ux design





Templates
Fonts
Concept
UX tests
http://www.youtube.com/watch?v=95RoKSFyQ_k
5 -Yazılım


Web programlarının hazırlanması
 Plana göre altyapının
oluşturulması
 Fonksiyon testlerinin yapılması
 Güvenlik testlerinin yapılması
6 – Canlı Geçişi


Tests: UX test , function tests, browser test
etc.
 Canlı geçişi için, olası senaryoların
hazırlanması A,B,C ve hatta D planın hazır
halde bulunması
 Canlı geçişi için checklist hazırlanması
6 – BabySitting







Proactive Monitoring
Datachecks
Bug fixes
Maintenance
Next Phase Planing
Feedbacks
• E-ticaret’te Kullanılan Genel Altyapı Terimleri
• Redundancy
• Shortterm Backups
• Long Term Backups
• Proactive Monitoring
• Reactive Monitoring
•
•
•
•

Load Balancing
Database Replications
WebServer Seçimi (apache - nginx etc. )
Memcache
Redundancy
Realtime failover
systems

Wmware Fault-tolerant systems
Short Term Backups

Long Term Backups (2 year)

•
•
•
•
•

•
•
•
•

Every 30 Minute Rotater
Every 1 hour in 24 hour Rotater
EveryDay
Every Monday
1st of month

Everyday
Every Monday
First of Month
Milestones

NetApp for Microsoft Environments
Proactive Monitoring
Service is

ONLINE

•
•
•
•
•

Limited Disk quato
Service concurrent limit
Que limit
High cpu usage
High ram usage

Reactive Monitoring

Service is
OFFLINE / limited Service

•
•
•
•

Service up or down
Server up or down
Connectivity check
System fault
E-ticarette Yazılım ve Altyapı
AWS Case Study: Chaordic Systems
Load balancing methods
-

Round Robin
Ratio (member)
Dynamic Ratio
Fastest (node)
Least Connections
Least Sessions
Master To Slave Replication
Master To Master Replication

(Multi-Master Replication)
http://www.whisperdale.net/11-nginx-vs-cherokee-vs-apache-vs-lighttpd.html
http://blog.celingest.com/en/2013/02/25/nginx-vs-apache-in-aws/
http://www.cyberciti.biz/tips/howto-performance-benchmarks-a-web-server.html
In Memory Cache Layers
Memcache Kullanımı
İlk İstek
İlk istek, database tarafından karşılanır ve kullanıcıya dönen yanıt ile aynı anda Memcache
üzerinede yazılır.

http://www.9lessons.info/2012/02/memcached-with-php.html
Memcache Kullanımı
2. Gelen istek
Gelen istek doğrudan Memcache tarafından cevaplanır .

http://www.9lessons.info/2012/02/memcached-with-php.html
E-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve Altyapı
İletişim Bilgileri
Email: bmukad@gmail.com
Mobile : +90536 2402424
Ad

Recommended

İTÜ İşletme Fakültesi - E-ticarette Yazılım ve Altyapı
İTÜ İşletme Fakültesi - E-ticarette Yazılım ve Altyapı
Murat Kader
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Cenk Derinozlu
Yazılımcı Gözüyle Scrum
Yazılımcı Gözüyle Scrum
nedirtv
Scrum ile çevikleşiyoruz
Scrum ile çevikleşiyoruz
Arda Cetinkaya
Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by
Agile (cevik) yaklasim_ile_scrum_yontemi-savas-dogan-cc-by
Savaş DOĞAN
Power of Simplicity in BI -Muzaffer YONTEM
Power of Simplicity in BI -Muzaffer YONTEM
MUZAFFER YONTEM
Agile ve Scrum
Agile ve Scrum
Muhammed Özdemir
Cevik Yaklasim, Scrum ve XP Pratikleri
Cevik Yaklasim, Scrum ve XP Pratikleri
Osman DÖNER, PMP, PMI-ACP
Çevik Yaklaşım ve Scrum
Çevik Yaklaşım ve Scrum
Osman DÖNER, PMP, PMI-ACP
Çevik Yaklaşım, Scrum ve XP
Çevik Yaklaşım, Scrum ve XP
Osman DÖNER, PMP, PMI-ACP
Scrum Değerleri
Scrum Değerleri
Ali Pala
CBAP Uluslararası İş Analisti Sertifikasyonu
CBAP Uluslararası İş Analisti Sertifikasyonu
Muhammed Özdemir
Agile cevik yaklasim ile scrum yontemi
Agile cevik yaklasim ile scrum yontemi
Burak COŞKUN
Agile Yaklasimlarin Yonetsel Acidan 12 Faydasi - TUTEV Agile Talks Ankara
Agile Yaklasimlarin Yonetsel Acidan 12 Faydasi - TUTEV Agile Talks Ankara
Hakan ERDOGAN
Scrum Roller ve Sorumluluklar
Scrum Roller ve Sorumluluklar
Cihan YILMAZ
Guionquierosalirdemimundo
cesargarfias
Proyecto pwr
Fomar Flores
Variable Annuities
Variable Annuities
13 Llama Interactive
3. Ideas para la creación y estructuración de una Red a nivel Regional.
RDJSantander
5. Reglamento Nacional Red de Jóvenes
RDJSantander
Chuong 2 - Bai tap ve dap nguoi
Chuong 2 - Bai tap ve dap nguoi
hanh lam
2. Manual de imagen y visual de la Red Nacional de Jóvenes
RDJSantander
осенняя ярмарка
осенняя ярмарка
virtualtaganrog
Gc presentation 20131020_defense
Gc presentation 20131020_defense
rajivnairGC
Lawengineering
Andrea Pardo
The Death of the Reader
The Death of the Reader
Adam Hyde
Instructions CW
Instructions CW
Ihkwan Ajjahlah
Research into your chosen artist
Research into your chosen artist
JWarner767
proyecto slide
Fomar Flores

More Related Content

What's hot (8)

Cevik Yaklasim, Scrum ve XP Pratikleri
Cevik Yaklasim, Scrum ve XP Pratikleri
Osman DÖNER, PMP, PMI-ACP
Çevik Yaklaşım ve Scrum
Çevik Yaklaşım ve Scrum
Osman DÖNER, PMP, PMI-ACP
Çevik Yaklaşım, Scrum ve XP
Çevik Yaklaşım, Scrum ve XP
Osman DÖNER, PMP, PMI-ACP
Scrum Değerleri
Scrum Değerleri
Ali Pala
CBAP Uluslararası İş Analisti Sertifikasyonu
CBAP Uluslararası İş Analisti Sertifikasyonu
Muhammed Özdemir
Agile cevik yaklasim ile scrum yontemi
Agile cevik yaklasim ile scrum yontemi
Burak COŞKUN
Agile Yaklasimlarin Yonetsel Acidan 12 Faydasi - TUTEV Agile Talks Ankara
Agile Yaklasimlarin Yonetsel Acidan 12 Faydasi - TUTEV Agile Talks Ankara
Hakan ERDOGAN
Scrum Roller ve Sorumluluklar
Scrum Roller ve Sorumluluklar
Cihan YILMAZ
Scrum Değerleri
Scrum Değerleri
Ali Pala
CBAP Uluslararası İş Analisti Sertifikasyonu
CBAP Uluslararası İş Analisti Sertifikasyonu
Muhammed Özdemir
Agile cevik yaklasim ile scrum yontemi
Agile cevik yaklasim ile scrum yontemi
Burak COŞKUN
Agile Yaklasimlarin Yonetsel Acidan 12 Faydasi - TUTEV Agile Talks Ankara
Agile Yaklasimlarin Yonetsel Acidan 12 Faydasi - TUTEV Agile Talks Ankara
Hakan ERDOGAN
Scrum Roller ve Sorumluluklar
Scrum Roller ve Sorumluluklar
Cihan YILMAZ

Viewers also liked (17)

Guionquierosalirdemimundo
cesargarfias
Proyecto pwr
Fomar Flores
Variable Annuities
Variable Annuities
13 Llama Interactive
3. Ideas para la creación y estructuración de una Red a nivel Regional.
RDJSantander
5. Reglamento Nacional Red de Jóvenes
RDJSantander
Chuong 2 - Bai tap ve dap nguoi
Chuong 2 - Bai tap ve dap nguoi
hanh lam
2. Manual de imagen y visual de la Red Nacional de Jóvenes
RDJSantander
осенняя ярмарка
осенняя ярмарка
virtualtaganrog
Gc presentation 20131020_defense
Gc presentation 20131020_defense
rajivnairGC
Lawengineering
Andrea Pardo
The Death of the Reader
The Death of the Reader
Adam Hyde
Instructions CW
Instructions CW
Ihkwan Ajjahlah
Research into your chosen artist
Research into your chosen artist
JWarner767
proyecto slide
Fomar Flores
MR SE CAPACITA EN COMUNITY MANAGER
jorgegarcilazo559878
El lago de los cisnes.(interpretado por el ballet del centro del conocimiento)
DanzaClasica-posadas
Chuong 1 - Bai tap ve dap nguoi
Chuong 1 - Bai tap ve dap nguoi
hanh lam
Guionquierosalirdemimundo
cesargarfias
Proyecto pwr
Fomar Flores
3. Ideas para la creación y estructuración de una Red a nivel Regional.
RDJSantander
5. Reglamento Nacional Red de Jóvenes
RDJSantander
Chuong 2 - Bai tap ve dap nguoi
Chuong 2 - Bai tap ve dap nguoi
hanh lam
2. Manual de imagen y visual de la Red Nacional de Jóvenes
RDJSantander
Gc presentation 20131020_defense
Gc presentation 20131020_defense
rajivnairGC
Lawengineering
Andrea Pardo
The Death of the Reader
The Death of the Reader
Adam Hyde
Research into your chosen artist
Research into your chosen artist
JWarner767
proyecto slide
Fomar Flores
MR SE CAPACITA EN COMUNITY MANAGER
jorgegarcilazo559878
El lago de los cisnes.(interpretado por el ballet del centro del conocimiento)
DanzaClasica-posadas
Chuong 1 - Bai tap ve dap nguoi
Chuong 1 - Bai tap ve dap nguoi
hanh lam
Ad

Similar to E-ticarette Yazılım ve Altyapı (20)

E-ticarette Bilgi Teknolojileri - Bilgi Üniversitesi E-ticaret Akademi 2012.0...
E-ticarette Bilgi Teknolojileri - Bilgi Üniversitesi E-ticaret Akademi 2012.0...
Hakan ERDOGAN
Eticaret akademi Yazılım ve IT süreçleri
Eticaret akademi Yazılım ve IT süreçleri
Murat Kader
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme Teknikleri
Lemi Orhan Ergin
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Lemi Orhan Ergin
Yeni Nesil Ürün Geliştirme ve Değişen Teknoloji - Dinamikler 2019
Yeni Nesil Ürün Geliştirme ve Değişen Teknoloji - Dinamikler 2019
Erman Taylan
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
Lemi Orhan Ergin
Dim Era Urun Ve Servis Seti V3
Dim Era Urun Ve Servis Seti V3
Tarik KUCUK
Proje yönetimi ve project.net v1.0 tr
Proje yönetimi ve project.net v1.0 tr
M.Yusuf Atmaca
Stratejik BT
Stratejik BT
Oguz Bayram
Yöneticiler için bilişim
Yöneticiler için bilişim
alinizam99
Avva Mobile Enterprise Solutions - Corporate Idendity
Avva Mobile Enterprise Solutions - Corporate Idendity
Murat Yılmaz
Web İçin Teknoloji Geliştirmek
Web İçin Teknoloji Geliştirmek
Volkan Özçelik
Dijital Çözümler
Dijital Çözümler
Piasoft
Yönetici Denetçi ve Son Kullanıcı Bilişim Akademisi
Yönetici Denetçi ve Son Kullanıcı Bilişim Akademisi
alinizam99
Kurumsal Kaynak Yönetiminde Veri Madenciliği
Kurumsal Kaynak Yönetiminde Veri Madenciliği
Istanbul Beykent University (İstanbul Beykent Üniversitesi)
Bulut Bilişim ve Bilgisayar Ağları
Bulut Bilişim ve Bilgisayar Ağları
cgoze
Agile 101 - Yeni başlayanlar için
Agile 101 - Yeni başlayanlar için
Bulent Buyuksayar
E Ticaret Ve Sektor Tanitimi
E Ticaret Ve Sektor Tanitimi
Hakan ERDOGAN
Mirsis Kurumsal Tanıtım
Mirsis Kurumsal Tanıtım
Mirsis Bilgi Teknolojileri
Gartner EEE - Yazılım Geliştirme - BT Yönetimi 2.0 - 1. Toplantı
Gartner EEE - Yazılım Geliştirme - BT Yönetimi 2.0 - 1. Toplantı
halilaksu
E-ticarette Bilgi Teknolojileri - Bilgi Üniversitesi E-ticaret Akademi 2012.0...
E-ticarette Bilgi Teknolojileri - Bilgi Üniversitesi E-ticaret Akademi 2012.0...
Hakan ERDOGAN
Eticaret akademi Yazılım ve IT süreçleri
Eticaret akademi Yazılım ve IT süreçleri
Murat Kader
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme Teknikleri
Lemi Orhan Ergin
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Lemi Orhan Ergin
Yeni Nesil Ürün Geliştirme ve Değişen Teknoloji - Dinamikler 2019
Yeni Nesil Ürün Geliştirme ve Değişen Teknoloji - Dinamikler 2019
Erman Taylan
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
Lemi Orhan Ergin
Dim Era Urun Ve Servis Seti V3
Dim Era Urun Ve Servis Seti V3
Tarik KUCUK
Proje yönetimi ve project.net v1.0 tr
Proje yönetimi ve project.net v1.0 tr
M.Yusuf Atmaca
Yöneticiler için bilişim
Yöneticiler için bilişim
alinizam99
Avva Mobile Enterprise Solutions - Corporate Idendity
Avva Mobile Enterprise Solutions - Corporate Idendity
Murat Yılmaz
Web İçin Teknoloji Geliştirmek
Web İçin Teknoloji Geliştirmek
Volkan Özçelik
Dijital Çözümler
Dijital Çözümler
Piasoft
Yönetici Denetçi ve Son Kullanıcı Bilişim Akademisi
Yönetici Denetçi ve Son Kullanıcı Bilişim Akademisi
alinizam99
Bulut Bilişim ve Bilgisayar Ağları
Bulut Bilişim ve Bilgisayar Ağları
cgoze
Agile 101 - Yeni başlayanlar için
Agile 101 - Yeni başlayanlar için
Bulent Buyuksayar
E Ticaret Ve Sektor Tanitimi
E Ticaret Ve Sektor Tanitimi
Hakan ERDOGAN
Gartner EEE - Yazılım Geliştirme - BT Yönetimi 2.0 - 1. Toplantı
Gartner EEE - Yazılım Geliştirme - BT Yönetimi 2.0 - 1. Toplantı
halilaksu
Ad

E-ticarette Yazılım ve Altyapı

  • 2.        1984 yılında İstanbul’da doğdu. 2003 , Adex 2004, Portakal Bilişim 2006, Microsoft 2007, Vision DMR 2007, Estore 2009, OttoGroup – limango – arabulvar -Ogli İletişim Bilgileri Email: bmukad@gmail.com Mobile : +90536 2402424 Big Scale Systems, Logistic Operations, E-commerce Payment, Cache Systems, Mysql Databases ,Php Development , Linux Administration , FrontEnd Development, Network Structures
  • 3.                    Tanışma Yazılım Nedir ? Popüler Yazılım Dilleri E-ticaret İçin Hangi Yazılım Dili ve Platformu Teknoloji Seçimi - Checklist Yazılım Yaşam Döngüsü Proje Yönetimi Agile / Scrum IT Ekibi Yapılanması E-Ticaret için IT çözümleri IT Ekibi- Proje Planı E-Ticaret – Genel Altyapı Yük Dağılımı (Load Balancing) Database Replikasyonu Web Server Seçimi Memcache Startup’lar için Adım adım Altyapı Soru / Cevap / Yorum Free Format Teşekkürler
  • 4. Yazılım[1] (İng. software), değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makina komutlarıdır. Yazılım, yaşayan bir organizmadır... İhmale gelmez.
  • 5.  Ana hatları ile 2 kategori’de  low level (assembler)  high level (C++, C# .. )  6000’den fazla
  • 11. Sistemsel Altyapı Yazılımsal Altyapı Uygulama Sunucuları Yazılım Dili / Platformu Web Sunucuları Frameworkler, Entegrasyonlar Veritabanı Sunucuları Önyüz, Orta Katman ve Veri Katmanı Load Balancer Yazılım Yaşam Döngüsü Cluster/Session Replication Performans Firewall, Router, DNS, Disk, ... Loglama, Monitoring, Fraud Önleme, Güvenlik, ...
  • 12. Programming Language & IDE Frameworks Servers RDBMS SCM CI Issue Tracking Testing Dependency Management UI Design Modelling Tools ... Wiki
  • 13. Geliştirdiğiniz bir yazılım projesinin planlanmasından başlayarak teslimatına kadar geçirmiş olduğu bütün aşamalara ve bu aşamalardan oluşan döngüye, Yazılım Geliştirme Yaşam Döngüsü denir. Bir yazılım projesinin geliştirilmesi, sadece kodlamadan oluşmamaktadır. Basitçe bir proje geliştirilirken projenin planlama, analiz, tasarım, üretim ve test aşamaları yer almaktadır ve almalıdır. Bu aşamalar bir kere gerçekleştirildikten sonra proje tamamlanmayabilir. Bu aşamaların bir döngü halinde düşünülmesi gerekmektedir. Proje tamamlandıktan sonra gelecek istekler, hata düzeltmeleri, projeye eklenecek yeni modüller vs konular için bu süreç devam etmektedir. Bu döngüye yazılım geliştirme yaşam döngüsü adı verilmektedir.
  • 15.  Teknik Analiz  Yazılım Geliştirme: Görsel, Html, Yazılım  Testler & QA   Unit Testler  FonksiyonelTestler  UI Testleri  A / B Testleri  Kullanıcı Kabul Testleri  SEO Testleri   Test ortamları: Dev, FT, UAT, Staging, PROD Güvenlik Testleri Bug Takibi ve Çözümü
  • 17.  ROI’ı maksimize etmek için  Hedeflenen sürede  Hedeflenen bütçede  Hedeflenen kalitede  Hedeflenen kapsamda ve işlevsellikte  Aksaklıklar yaşamadan  Ekip oyunundan keyif alarak başarmak
  • 18. • E-Ticaret;  Çok dinamik  Son teknolojiyi yakından takip eden  Teknolojiyi drive eden  Online, anında, hızlı  Basit ve Kompleks  Web siteniz sizin ürününüz  Ekip/takım oyunu, birimler arası koordinasyon şart
  • 19.  The Standish Group Chaos Raporları -Yazılım projelerinin; ▪ %32'si zamanında, bütçesinde ve gereksinimleri karşılayacak şekilde sonuçlanıyor ▪ %44’ünde ihtiyaçlar değişiyor, belirsiz bir sürece giriliyor ▪ %24’ü başarısızlıkla sonuçlanıyor 2009 2004 Belirsiz 53% Başarılı 29% Belirsiz 44% Başarılı 32% Başarısız 24% Başarısı z 18%
  • 20. • Ortalama 6 ay/1 yıl süren bir projede zamanla ihtiyaçların, dinamiklerin, sektörün değişmesi, yeni gereksinimlerin ortaya çıkması – Waterfall’ın dezavantajı • Bu nedenle DONE kavramının olmayışı – Proje ne zaman bitecek? İş Gerçekleşen Planlanan Zaman
  • 22. • İş sahibi/müşteri ile proje ekipleri, hatta proje ekipleri içindeki birimler arasındaki koordinasyon, iletişim, işbirliği eksikliği, motivasyon kaybı – Waterfall’ın dezavantajı • Nitelikli olmayan ekip – Mutfaktaki bıçakların keskin olmayışı • Optimizasyon yapılmaması, en iyi en mükemmel değil, o günün şartlarına uygun en iyi çözüm – ‘Mükemmel iyinin düşmanıdır’, Voltaire – ‘Engineering is nothing but optimization’ • Yanlış seçimler (teknoloji, mimari, donanım, vs)
  • 23. • Scrum - Rugby hücum taktiği: – Top, tüm oyuncularla birlikte karşı sahaya taşınarak atak yapılmaktadır.
  • 24. • Agile Manifesto: – Kent Beck, Martin Fowler, Ken Schwaber, Jeff Sutherland... gibi toplam 17 kişi tarafından 2001 yılında yayınlandı Önemli Az Önemli Kişiler ve takım çalışması Süreç ve araçlardan Çalışan yazılım Detaylı dokümantasyondan Müşteri ile beraber çalışmak Sözleşme ve anlaşmalardan Değişime açık olup, uygulamak Plana bağlı kalmaktan
  • 25. • Amaç en baştan nihai ürünü, en mükemmeli tasarlamak değildir. Belirli periyotlarla çalışan prototipler sunmak ve markette ilk yer almaktır. • Agile olmak "Kervan yolda düzülür" demek değildir. Aksine sık sık planlayıp, değişen sektör dinamiklerine yeniden ayak uydurmak, değişime açık olmak demektir. Beklentiyi yönetmek için iyi bir yoldur. • Agile olmak müşteriyle içiçe olmak demektir. Belirli periyotlarla çalışan bir prototip sunmak, feedback almak, bu feedbacklerle kendini iyileştirmek, geliştirmek ve bir sonraki süreci planlamak demektir.
  • 26. 1. 2. 3. 4. Müşteri ile bir araya gelinir İhtiyaçlar belirlenir ve taskler çıkarılır (Product Backlog) Bu taskler önceliklendirilir ve puanlanır (poker game, Sprint Planning) Takımın 2 veya 4 haftalık hızına (Team Velocity) göre önceliği yüksek işler listeye alınır (Sprint Backlog)
  • 27. 5. 6. Takım her sabah 15 dakikalık durum değerlendirme toplantısı yapar (Daily Scrum). İletişimi, koordinasyonu ve motivasyonu arttırır. • Dün ne yaptım • Bugün ne yapacağım • Karşılaştığım problemler 2 veya 4 hafta sonunda çalışan prototip ile müşteriye demo yapılır, feedback alınır, gerekliyse değişiklik yapılacaktır. (Sprint Review)
  • 28. 7. 8. Takım, 2 veya 4 hafta sonunda neleri iyi yaptığını, neleri kötü yaptığını, neleri iyileştirmesi gerektiğini tartışır (Sprint Retrospective) – Continuous improvement Takım, bir sonraki Sprint için tekrar müşteriyle bir araya gelir ve yeni bir Sprint Planning toplantısı başlar...
  • 30. Felsefe: • Self organization: • Commitment • Trust • Cross-functional teams • Transparency • DONE kavramı • Timebox • Inspect & adapt • Kaizen (continuous improvement) • Retrospective • K.I.S.S. & basit olanı yapmak zordur
  • 31. Özetle E-ticarete Faydaları: • Sık sık planlama yapıldığı için, müşteriyle sık sık biraraya gelindiği için; – 6 ay/1 yıl gibi bir süre sonunda hüsranla karşılaşılmaz, – ROI maksimize edilir, – Proje başarısı yükselir, – Üretkenlik artar, – Maliyetler düşer • Değişime, yeni gereksinimlere açık olduğu için dinamik, güncel ve kullanılacak fonksiyonalitede bir ürün tasarlamanızı sağlar - Pareto Kuralı
  • 32. Özetle E-ticarete Faydaları: • 6 ay/1 yıl gibi bir süre sonunda değil de 2-4 hafta gibi periyotlarla çalışan prototipler sunduğu için markette ilk yer almanızı sağlar, rekabet gücünüz artar. • İletişim ve koordinasyon yüksek olduğu için azimli ve motivasyonu yüksek, yaptığı işten keyif alan bir ekip ortaya çıkar (S.W.A.T. team). • Kurum kültürünüze timebox, DONE, transparency gibi kavramları yerleştirir.
  • 34.  Developer  Software Architect  Sys. Administrator  Business Analyst  Software and Hardware Help Desk  Test Engineer  BI Reporting Specialist  Database Administrator
  • 35.  E-Ticaret’te yazılımcı kimdir ? E-Ticaret için yazılımcı nereden bulunur ?  Startup Kahramanları  We Made IT Possible
  • 36.  CMS  Joomla, Wordpress, Xcart,osCart, phpCart,magento,drupa l,oscommerce etc.  Outsource Yazılım  Outsource  Freelance  Inhouse
  • 37.  CMS   Hosted Cms   Magento, PrestaShop, Drupal e-commerce, Zen-Cart,CubeCart, osCommerce, VirtueMart, FatFreeCart Shopify, wosbee,incir, sopsy Custom Scripts
  • 38.  Outsource Yazılım  Done Kavramı  Proje Detayları  Dökümantasyon  Projenin Tanımı ve görevlerin atanması  Proje için gerekli olan süre  Proje ve zaman planı ile ilgili commitment
  • 39.  IT ekibinizde kimlere ihtiyacınız var ?  En az kaç kişi olmalı  Proje Yönetimi
  • 40. • Platforma karar verin • İhtiyacınız olan IT yeteneklerine karar verin • Elinizde ne bulunduğunu kontrol edin • Basit düşünün • Riskleri gözden geçirin
  • 41.          İş Gereksinimi (Business Requirement) İş Analizi Planlama Wireframe, Prototype, Mockup Commitment UI / Ux design Yazılım Canlı Geçişi Babysitting
  • 42. 1 – İş Gereksinimi (Beklentiyi Anlama)  Yeni Proje  Bug Fix  Yeni Geliştirme  Bakım
  • 43. 2- Analiz  Gereklilikler  Problem çıkarabilecek noktalar  Performans sorunları  Gerekli olan beceriler
  • 44. 3- Planlama  Zaman Planı  Altyapı  Güvenlik  Ekip
  • 45. 3- Wireframe, Prototype, Mockup  Brainstorming  Templates  CheckList
  • 46. 4 - Commitment  IT ekibi commitment  Business Owner Commitment
  • 47. 4 – UI / Ux design     Templates Fonts Concept UX tests
  • 49. 5 -Yazılım  Web programlarının hazırlanması  Plana göre altyapının oluşturulması  Fonksiyon testlerinin yapılması  Güvenlik testlerinin yapılması
  • 50. 6 – Canlı Geçişi  Tests: UX test , function tests, browser test etc.  Canlı geçişi için, olası senaryoların hazırlanması A,B,C ve hatta D planın hazır halde bulunması  Canlı geçişi için checklist hazırlanması
  • 51. 6 – BabySitting       Proactive Monitoring Datachecks Bug fixes Maintenance Next Phase Planing Feedbacks
  • 52. • E-ticaret’te Kullanılan Genel Altyapı Terimleri • Redundancy • Shortterm Backups • Long Term Backups • Proactive Monitoring • Reactive Monitoring • • • • Load Balancing Database Replications WebServer Seçimi (apache - nginx etc. ) Memcache
  • 54. Short Term Backups Long Term Backups (2 year) • • • • • • • • • Every 30 Minute Rotater Every 1 hour in 24 hour Rotater EveryDay Every Monday 1st of month Everyday Every Monday First of Month Milestones NetApp for Microsoft Environments
  • 55. Proactive Monitoring Service is ONLINE • • • • • Limited Disk quato Service concurrent limit Que limit High cpu usage High ram usage Reactive Monitoring Service is OFFLINE / limited Service • • • • Service up or down Server up or down Connectivity check System fault
  • 57. AWS Case Study: Chaordic Systems
  • 58. Load balancing methods - Round Robin Ratio (member) Dynamic Ratio Fastest (node) Least Connections Least Sessions
  • 59. Master To Slave Replication
  • 60. Master To Master Replication (Multi-Master Replication)
  • 62. In Memory Cache Layers
  • 63. Memcache Kullanımı İlk İstek İlk istek, database tarafından karşılanır ve kullanıcıya dönen yanıt ile aynı anda Memcache üzerinede yazılır. http://www.9lessons.info/2012/02/memcached-with-php.html
  • 64. Memcache Kullanımı 2. Gelen istek Gelen istek doğrudan Memcache tarafından cevaplanır . http://www.9lessons.info/2012/02/memcached-with-php.html

Editor's Notes

  • #13: Common interface
  • #14: Geliştirdiğiniz bir yazılım projesinin planlamasından başlayarak teslimatına kadar geçirmiş olduğu bütün aşamalara ve bu aşamalardan oluşan döngüye, Yazılım Geliştirme Yaşam Döngüsü denir.Bir yazılım projesinin geliştirilmesi, sadece kodlamadan oluşmamaktadır. Basitçe bir proje geliştirilirken projeninplanlama,analiz,tasarım,üretimvetestaşamaları yer almaktadır ve almalıdır. Bu aşamalar bir kere gerçekleştirildikten sonra proje tamamlanmayabilir. Bu aşamaların bir döngü halinde düşünülmesi gerekmektedir. Proje tamamlandıktan sonra gelecek istekler, hata düzeltmeleri, projeye eklenecek yeni modüller vs konular için bu süreç devam etmektedir. Bu döngüyeyazılım geliştirme yaşam döngüsüadı verilmektedir.
  • #17: Peki, şimdi günümüze ve eticarette proje yönetimine odaklanacak olursak, proje yönetimi nedir, neden proje yönetimine ihtiyaç duyarız?Bana ait olmayan bir örnek, ama Proje yönetimini, en iyi anlatan örnek diyebilirim:Bayanların/eşlerin tatile çıkmadan önce hazırladıkları bavulu düşünün.Hangi gün hangi kıyafeti giyecekleri bellidir, hatta eşinin her bir gün için kendi kıyafetine uygun kıyafetlerini de seçmişlerdir. Mayo, yedek kuru mayo, terlik, güneş kremi, güneş gözlükleri, havlular vs hepsi özenle ve sıralı bir biçimde hazırlanmıştır. Gece kıyafeti, makyaj malzemeleri, sizin tıraş setiniz hepsi düşünülmüştür. Hatta evden çıkmadan önce yapılacakların listesi bellidir, doğal gaz kapatılacak, elektrikler kontrol edilecek, su vanası kapatılacaktır.Aslında bayanların yaptığı tatil öncesinde başlayan ve tatil dönüşüne kadar geçen sürenin tamamına proje yönetimi denir.
  • #18: İş hayatında proje yönetimine ihtiyaç duymamızın nedeni, yaptığımız veya yapacağımız yatırımın, en kısa sürede, bütçesini aşmadan, aksaklıklak yaşamadan ve elimizdeki kaynakları en verimli şekilde kullanarak maliyetini çıkarıp kar etmek (ROI maximization).Bunu yaparken de ekip içi ve birimler arası motivasyonu yüksek tutup, iş yapmaktan, başarmaktan keyif almaktır
  • #19: Eticaret bu noktada; Finans, Kamu, TelCo, Hizmet vb diğer sektörlerden, dinamiği gereğibiraz ayrışıyor. Eticaret sektöründe teknolojiyi yakından takip edip uygulamak zorundasınız, hatta ArGe yapıp yeni teknolojilere yatırım yaparak fark yaratmalısınız. Ayrıca hızla değişen piyasa koşullarına adapte olmak zorundasınız.Eticaret online ve hızlı olduğu kadar hem basit hem de komplekstir. Bu nedenle ekip içi ve birimler arası koordinasyon şarttır.
  • #22: İş sahibinin/müşterinin ürünü 6 ay/1 yıl sonunda User Acceptance Test (UAT) sürecinde görmesi – Müşterinin istediği gerçekten bizim yaptığımız mı? – Waterfall’ın dezavantajı
  • #38: ideasoft
  • #59: Round robin each server one by oneDynamic Ratio Connection amount
  • #60: Round robin each server one by oneDynamic Ratio Connection amount
  • #62: Round robin each server one by oneDynamic Ratio Connection amount
  • #63: Round robin each server one by oneDynamic Ratio Connection amount