deploy de una app symfony en aws
DESCRIPTION
Amazon SymfonyTRANSCRIPT
Deploy de una app Symfony en AWS
Wladimir Avila
@WladimirAvila
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
• 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
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
Esquema 1
Problemas :??
EC2-‐RDS
Esquema 2
Problemas :??
EC2
RDS clientes
Esquema 3
Problemas :??
EC2 RDS
clientes Load Balancer
Esquema 4
Problemas : -‐-‐
EC2
RDS
clientes Load Balancer
CDN
S3
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
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
Performance
• Menos pePciones por servidor web-‐se crece horizontalmente
• Escalabilidad • Mas host mas velocidad: h_p://www.browserscope.org/?category=network
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
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