e-ticarette yazılım ve altyapı

Post on 08-Jul-2015

218 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

E-ticarette Yazılım ve Altyapı Startup Heroes, Developers We Made IT Possible Software and Hardware Help Desk Saving %40 Time for IT teams Hazır Yazılım Deri ceket gibidir, hep birşeylerin ekliğini hisedersin. Before going down Proactive Monitoring ‘Mükemmel iyinin düşmanıdır’, Voltaire ‘Engineering is nothing but optimization’ Yazılım, yaşayan bir organizmadır... İhmale gelmez. In IT Complete Solution means, Agile Swat Teams

TRANSCRIPT

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 BilgileriEmail: bmukad@gmail.comMobile : +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, yaşayan bir organizmadır... İhmale gelmez.

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.

Ana hatları ile 2 kategori’de

low level (assembler)

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

6000’den fazla

http://langpop.com/

Php Java Python

ASP, .NET Ruby

Sistemsel Altyapı

Uygulama Sunucuları

Web Sunucuları

Veritabanı Sunucuları

Load Balancer

Cluster/Session Replication

Firewall, Router, DNS, Disk, ...

Yazılımsal Altyapı

Yazılım Dili / Platformu

Frameworkler, Entegrasyonlar

Önyüz, Orta Katman ve Veri Katmanı

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

Performans

Loglama, Monitoring, Fraud Önleme, Güvenlik, ...

Programming Language & IDE

Frameworks Servers RDBMS

SCM CI Issue Tracking Testing

Dependency Management

UI DesignWikiModelling Tools

...

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

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

Unit Testler

FonksiyonelTestler

UI Testleri

A / B Testleri

Kullanıcı Kabul Testleri

SEO Testleri

Güvenlik Testleri

Bug Takibi ve Çözümü

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

Başarılı29%

Başarısız

18%

Belirsiz53%

2004

Başarılı32%

Başarısız24%

Belirsiz44%

2009

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

• 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?

İş

Zaman

Planlanan

Gerçekleşen

• İş 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. Müşteri ile bir araya gelinir

2. İhtiyaçlar belirlenir ve taskler çıkarılır (Product Backlog)

3. Bu taskler önceliklendirilir ve puanlanır (poker game, Sprint Planning)

4. 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. 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

6. 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. 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

8. Takım, bir sonraki Sprint için tekrar müşteriyle bir araya gelir ve yeni bir Sprint Planning toplantısı başlar...

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,drupal,oscommerce etc.

Outsource Yazılım

Outsource

Freelance

Inhouse

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

Hosted Cms 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

RedundancyRealtime failoversystems

Wmware Fault-tolerant systems

Short Term Backups• Every 30 Minute Rotater• Every 1 hour in 24 hour Rotater• EveryDay• Every Monday• 1st of month

Long Term Backups (2 year)• Everyday• Every Monday• First of Month• Milestones

NetApp for Microsoft Environments

Proactive Monitoring• Limited Disk quato• Service concurrent limit• Que limit• High cpu usage• High ram usage

Service is

ONLINE

Service is OFFLINE / limited Service

Reactive Monitoring• Service up or down• Server up or down• Connectivity check• System fault

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

İletişim BilgileriEmail: bmukad@gmail.comMobile : +90536 2402424

top related