34
// a strange portal Opens $meetup[1] php albania user group

PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

  • Upload
    andrixh

  • View
    89

  • Download
    5

Embed Size (px)

Citation preview

Page 1: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

// a strange portal Opens

$meetup[1]

phpalbaniauser group

Page 2: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

2015-09-30

Andri [email protected]

Optimizimi i ambientittë zhvillimit

dhe diferencimi nga ambienti i produksionit

Page 3: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Ndryshimet e zhvillimit me produksionin

• Komoditet• Shpejtësi në zhvillim• Pamje e plotë e gjendjes së projektit

Zhvillim

• Disponueshmëri• Siguri• Performancë• Mbrojtje e të dhënave

Produksion

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Page 4: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Opsioni 1 : Zhvillimi direkt me FTP(zhvillimi == produksioni)

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Page 5: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Opsioni 1 : Zhvillimi direkt me FTP

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

THAT’S MY SECRET

I ALWAYS CODE IN THE LIVE SERVER

Page 6: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Opsioni 1 : Zhvillimi direkt me FTP

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

• Mund te kodosh nga kudo, mjafton te kesh nje lidhje interneti.• Kodi i shkruar eshte teknikisht i pershtatshem* per produksion (nuk ka librari qe mungojne ose probleme me kon�gurimin)

Page 7: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Opsioni 1 : Zhvillimi direkt me FTP

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

• I ngadalte (1 muaj per nje pune qe kerkon max. 1jave)• I demshem (mund te lere sistemin jo funksional per pak minuta ose per ore te tera)• I pasigurt (mund te shfaqe mesazhe ose permbajtje qe ekspozojne vulnerabilitetet e sistemit)• Pa kthim (pasi e mbishkruan nje �le, veshtire se mund ti rikthehesh nje versioni te meparshem)

Page 8: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Te instaluara individualisht, ne menyre manuale

Opsioni 2 : Server zhvillimi lokal

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Page 9: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Te instaluara individualisht, ne menyre manuale

Ose te paketuara, me instalim te lehte

Opsioni 2 : Server zhvillimi lokal

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Page 10: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

• Vihet ne pune pothuajse menjehere• Nuk ndikon drejtperdrejt ne versionin e produksionit.• Nuk kompromenton sigurine dhe disponueshmerine e serverit te produksionit gjate kohes se zhvillimit.• Kodi testohet shume me shpejt (sidomos e nevojshme ne frontend)

Opsioni 2 : Server zhvillimi lokal

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Page 11: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

• E veshtire te punosh me disa projekte paralele (qe kane kerkesa te ndryshme ndaj serverit)

• Nuk garanton qe kodi i ri do te punoje ne serverin e produksionit (ndryshime ne librari, web-servera dhe kon�gurime).

• Kushtet mund te ndryshojne pa dijenine e programuesit (si pasoje e instalimit te programeve te tjera, sidomos ne Windows)

• Ndryshimi i menyres se ruajtjes se �leve (case-sensitivity) nga sistemi i zhvillimit ne ate te produksionit mund te sjelle probleme qe jane te veshtira per tu identi�kuar.

• Sindroma Works On My Machine™

Opsioni 2 : Server zhvillimi lokal

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Page 12: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Opsioni 3 : Server i dedikuar zhvillimi

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Page 13: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Opsioni 3 : Server i dedikuar zhvillimi

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Qëllimi kryesor:

Ambient sa më i ngjashëm me serverin e produksionit

Page 14: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Opsioni 3 : Server i dedikuar zhvillimi

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Makine e dedikuar (lidhur ne LAN)

Page 15: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Opsioni 3 : Server i dedikuar zhvillimi

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Makine e dedikuar (lidhur ne LAN)Makine Virtuale (ne kompjuterin nga zhvillohet)

Page 16: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Opsioni 3 : Server i dedikuar zhvillimi

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Makine e dedikuar (lidhur ne LAN)Makine Virtuale (ne kompjuterin nga zhvillohet)

Makine Virtuale me provizionim automatik

PuPHPet

Page 17: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

• Garancia me e mire per kompatibilitetin e kodit me serverin e produksionit• Ambient zhvillimi i izoluar nga nderhyrjet e programeve te tjera ne kompjuterin nga po punoni.• Mundesi organizimi duke patur nje Makine per projekt, ose te grupimit te projekteve neper makina virtuale sipas ngjashmerise.• Lehtesi ne duplikimin e ambientit te zhvillimit per punen ne skuader dhe per qellime ndihmese (Development->Testing->Staging->Production)

Opsioni 3 : Server i dedikuar zhvillimi

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

• Kerkon pak* pune paraprake per t'u sistemuar sic duhet

Page 18: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Nje shenim per sistemet operative

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

“MyPhpFile.php” == “myphp�le.php”

“MyPhpFile.php” == “myphp�le.php”

“MyPhpFile.php” == “myphp�le.php”

“MyPhpFile.php” != “myphp�le.php”

“MyPhpFile.php” != “myphp�le.php”

Page 19: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Situata ideale NE ZHVILLIM

• Pamje e plote e gjithckaje qe ndodh ne sistem• Raportim i plote i gabimeve, sado te parendesishme, per te parandaluar gabime me te medha me pas• Siguri tipikisht e ulet, passworde te thjeshta, akses i lire ne disk, per lehtesi manipulimi gjate punes.• Nuk keshillohen optimizimet e performances (caching)

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Page 20: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

• Siguria me e larte e mundshme.• Sistemi pothuajse i pa-aksesueshem, pervecse per te permbushur detyrat e aplikacionit.• Te mos ofroje asnje informacion me shume nga sa i duhet per te permbushur detyren (hardening)• Sisteme te optimizimit te performances Opcode Caching, Database Caching, CDN...• Sisteme te garantimit te te dhenave Backups, Redundancy systems, Fail-Safes• Sistem njoftimi i hershem per erroret dhe sulmet

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Situata ideale NE PRODUKSION

Page 21: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Error Reporting NE ZHVILLIM

Page 22: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Error Reporting NE PRODUKSION

Page 23: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Erroret qe ndodhin ne produksion nuk duam qe tu shfaqen vizitoreve

(apo keqberesve) por gjithesesi na nevojitet

te jemi te informuar per ekzistencen e tyre

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Error Reporting NE PRODUKSION

Page 24: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Error Reporting NE PRODUKSION

Page 25: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

xdebug.org github.com/�rephp/�rephp-core

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Perdor nje (ose me shume) Debugger

Page 26: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Perdor nje (ose me shume) Debugger

Page 27: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Perdor nje (ose me shume) Debugger

Page 28: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Sigurohu qe debugger-at te jene mos jene aktive

ne produksion

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Perdor nje (ose me shume) Debugger

Page 29: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

• Kredencialet e Databases• Preferencat e shfaqjes dhe raportimit te gabimeve• Mjetet per debug• Sistemet e optimizimit te performances (caching, etj)

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Konfigurime te ndryshmeper ambiente te ndryshme

Page 30: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Jo shume praktike, mundesi e larte per gabim njerezor

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Konfigurime me include manuale

Page 31: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Shume me praktike, por varet nga nje variabel qe mund te modi�kohet (nga sysadmini pijedashes)

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Konfigurime sipas Variablave te ambientit

Page 32: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Emri i domainit eshte nga te paktat gjera te sigurtaPerdoret $_SERVER("SERVER_NAME") dhe jo $_SERVER("HTTP_HOST")

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Konfigurime sipas Hostname

Page 33: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Pyetje? Komente?

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]

Page 34: PHP Albania - Organizimi i ambientit te zhvillimit dhe ndryshimet nga ambienti i produksionit

Ju faleminderit!

Optimizimi i ambientit te zhvillimitdhe diferencimi nga ambienti i produksionit

2015-09-30

Andri [email protected]