deploy de una app symfony en aws

13
Deploy de una app Symfony en AWS Wladimir Avila @WladimirAvila

Upload: don-wladi-avila-h

Post on 14-Jun-2015

198 views

Category:

Documents


0 download

DESCRIPTION

Amazon Symfony

TRANSCRIPT

Page 1: Deploy de una app symfony en aws

Deploy  de  una  app  Symfony  en  AWS  

 Wladimir  Avila  

@WladimirAvila  

Page 2: Deploy de una app symfony en aws

AWS  

•  Una  filosofia  de  la  arquitectura  de  aplicaciones/recursos  de  infraestructura  

•  Conceptos:  

REGION:  ubicación  donde  están  ubicados  los  datacenter  

AMI:  Amazon  Machine  Imagine    

Page 3: Deploy de una app symfony en aws

•  EC2:  capacidad  de  computo  (nuestros  servidores  web)  –ElasPc  Compute  Cloud-­‐  

•  S3:  almacenamiento    -­‐Simple  Storage  Service-­‐  •  Cloudfront:  CDN  •  RDS:  RelaPonal  Database  service  

•  El  firewall  en  Amazon  viene  siendo  los  security  groups  

Page 4: Deploy de una app symfony en aws

Misión  

Desarrollar   una   App     en  Symfony   ,   para   registrar  contactos,   con   nombre,   tel.,  cel.   correo   y   foto,   se   debe  t e n e r   e n   c u e n t a   q u e  999.999.415   personas   van   a  estar   interactuando   con   la  aplicación   por   segundo,   se  recomienda   que   se  monte   en  AWS  

Page 5: Deploy de una app symfony en aws

Esquema  1    

Problemas  :??  

EC2-­‐RDS  

Page 6: Deploy de una app symfony en aws

Esquema  2  

Problemas  :??  

EC2  

RDS  clientes  

Page 7: Deploy de una app symfony en aws

Esquema  3  

Problemas  :??  

EC2   RDS  

clientes  Load  Balancer  

Page 8: Deploy de una app symfony en aws

Esquema  4  

Problemas  :    -­‐-­‐  

EC2  

RDS  

clientes   Load  Balancer  

CDN  

S3  

Page 9: Deploy de una app symfony en aws

Notas  

•  Se  pueden  uPlizar  varios  CDN  •  Se  generan  los  token  para  interactuar  con  AWS  

•  AWS  Pene  un  SDK  para  PHP  •  Al  EC2  nos  conectamos  por  SSH  con  la  llave  que  nos  genera  

•  Para  integrar  LiipImagineBundle  Pene  trabajo  y  se  debe  hacer  con  KnpGaufre_eBundle  para  que  los  uploads  se  almacenen  en  el  server  S3  

Page 10: Deploy de una app symfony en aws

Pasos    

•  Crear  la  cuenta  en  AWS  •  Crear  la  db  en  RDS  •  Crear  una  instancia  EC2  •  Configurar  el  servidor  web  •  Crear  los  bucket  necesarios  en  S3  •  Crear  los  Cloudfront  (CDN)  necesarios  •  Integrar  el  SDK  de  Amazon  en  la  app  •  Ajustar  las  rutas,  uploads,  assets  etc.  •  Crear  mas  instancias    EC2  de  ser  necesario  

Page 11: Deploy de una app symfony en aws

Performance  

•  Menos  pePciones  por  servidor  web-­‐se  crece  horizontalmente  

•  Escalabilidad  •  Mas  host  mas  velocidad:    h_p://www.browserscope.org/?category=network  

Page 12: Deploy de una app symfony en aws

Install  apache-­‐PHP  en  EC2  

•  sudo  yum  -­‐y  update    •  sudo  yum  install  -­‐y  gcc  make  gcc-­‐c++    •  sudo  yum  install  -­‐y  php55-­‐mysqlnd  php55  php55-­‐xml  php55-­‐mcrypt  php55-­‐mbstring  php55-­‐cli  mysql55  mysql55-­‐server  h_pd24  

•  sudo  service  h_pd  start  

Page 13: Deploy de una app symfony en aws

URL  de  Referencia  •  aws  sdk  v  1  

h_ps://github.com/amazonwebservices/aws-­‐sdk-­‐for-­‐php  aws  sdk  2  h_ps://github.com/aws/aws-­‐sdk-­‐php    documentación  aws  php  sdk  h_p://aws.amazon.com/es/sdkforphp/    ejemplo  sdk  h_p://leo-­‐project.net/leofs/docs/s3_client_php.html    h_p://docs.aws.amazon.com/aws-­‐sdk-­‐php/guide/latest/service-­‐s3.html#amazon-­‐s3-­‐stream-­‐wrapper