3. TABLE OF CONTENTS
WHAT IS AWS
THE CHALLENGE
ARCHITECTURE SOLUTION DESIGNED
INFRASTRUCTURE AS A CODE
QUESTIONS?
4. TABLE OF CONTENTS
WHAT IS AWS
THE CHALLENGE
ARCHITECTURE SOLUTION DESIGNED
INFRASTRUCTURE AS A CODE
QUESTIONS?
5. WHAT IS AMAZON WEB SERVICES
Amazon Web Services offers a broad set of global compute, storage, database, analytics,
application, and deployment services that help organizations move faster, lower IT costs, and scale
applications. These services are trusted by the largest enterprises and the hottest start-ups to power
a wide variety of workloads including: web and mobile applications, data processing and
warehousing, storage, archive, and many others.
Amazon S3
Amazon EC2
Amazon Elastic
Cache
Amazon
ElasticBeanstalk
Amazon SDK/API
6. TABLE OF CONTENTS
WHAT IS AWS
THE CHALLENGE
ARCHITECTURE SOLUTION DESIGNED
INFRASTRUCTURE AS A CODE
QUESTIONS?
7. 7
THE CHALLENGE
The technology limit
The first version of
WordPress was released in
2003, and as such it was
not built with modern elastic
and scalable cloud-based
infrastructures in mind.
The architectural challenge
Design and implement an architecture that reduces
complexity by automatically handling the details of capacity
provisioning, load balancing, scaling, and application health
monitoring.
8. OUR CHOICE
With Elastic Beanstalk, you can quickly
deploy and manage applications in the
AWS cloud without worrying about the
infrastructure that runs those applications
9. OUR CHOICE
Access common data across instances
we choose to use S3 bucket as shared
mount point using s3fs (beware !!!)
10. AUTOMATION IS THE KEY
Cloud Services give us more advantages
by using automation and decrease
system maintenance
11. AUTOMATION IS THE KEY
We choose to use AWS SDK for Ruby to setup
and maintain everything without manual
activities
12. 12
TABLE OF CONTENTS
WHAT IS AWS
THE CHALLENGE
ARCHITECTURE SOLUTION DESIGNED
INFRASTRUCTURE AS A CODE
QUESTIONS?
14. 14
TABLE OF CONTENTS
WHAT IS AWS
THE CHALLENGE
ARCHITECTURE SOLUTION DESIGNED
INFRASTRUCTURE AS A CODE
QUESTIONS?
15. INFRASTRUCTURE AS A CODE
Infrastructure as Code allows you to create versionable, testable,
and deployable code to converge your machine resources to a
consistent desired state
Amazon Web Services offre una vasta gamma di calcolo globale , stoccaggio , di database , analisi , applicazioni e servizi di implementazione che aiutano le organizzazioni si muovono più velocemente , ridurre i costi IT e applicazioni su scala . Questi servizi sono attendibili da più grandi imprese ei più caldi start-up per alimentare una vasta gamma di carichi di lavoro tra cui : applicazioni web e mobile , l'elaborazione dei dati e l'immagazzinamento , la conservazione , l'archiviazione , e molti altri
La sfida architettonica Progettare e implementare un'architettura che riduce la complessità gestendo automaticamente i dettagli di provisioning di capacità, il bilanciamento del carico , scalabilità , e il monitoraggio della salute applicazione
FOCUS SU S3FS – BLUE – GREEN - AUTOSCALING
Infrastrutture come codice consente di creare codice versionable , verificabile , e distribuibile far convergere le risorse della macchina a uno stato desiderato coerente
VERSIONING = le varie versioni dell’infrastruttura può essere versionata tramite un source code repository tipo GITHUB
SECURITY = policy predefinite nell’applicativo e maggiore governance su ciò che viene deployato su AWS
USE OF STANDARD = uniformità e standardizzazione di tutto ciò che rientra nelle policy aziendali (senza possibilità di errore) e delle versioni degli applicativi
MORE CONTROL = tutto è sotto controllo, si sa sempre in qualisasi momento quale versione infrastrutturale è in produzione e chi o cosa ha eseguito modifiche all’infrastruttura
REPETIBLE AND RELIABLE = essendo il processo standard e ripetibile, l’affidabilità dell’infrastruttura è al 100% e non soggetta a errori manuali (sempre differenti in base a chi fa la configurazione)
SPEEF UP DEPLOY = infrastrutture complesse possono essere deployate con sicurezza in pochi minuti (mentre tradizionalmente anche settimane)
Infrastrutture come codice consente di creare codice versionable , verificabile , e distribuibile far convergere le risorse della macchina a uno stato desiderato coerente
VERSIONING = le varie versioni dell’infrastruttura può essere versionata tramite un source code repository tipo GITHUB
SECURITY = policy predefinite nell’applicativo e maggiore governance su ciò che viene deployato su AWS
USE OF STANDARD = uniformità e standardizzazione di tutto ciò che rientra nelle policy aziendali (senza possibilità di errore) e delle versioni degli applicativi
MORE CONTROL = tutto è sotto controllo, si sa sempre in qualisasi momento quale versione infrastrutturale è in produzione e chi o cosa ha eseguito modifiche all’infrastruttura
REPETIBLE AND RELIABLE = essendo il processo standard e ripetibile, l’affidabilità dell’infrastruttura è al 100% e non soggetta a errori manuali (sempre differenti in base a chi fa la configurazione)
SPEEF UP DEPLOY = infrastrutture complesse possono essere deployate con sicurezza in pochi minuti (mentre tradizionalmente anche settimane)
Infrastrutture come codice consente di creare codice versionable , verificabile , e distribuibile far convergere le risorse della macchina a uno stato desiderato coerente
VERSIONING = le varie versioni dell’infrastruttura può essere versionata tramite un source code repository tipo GITHUB
SECURITY = policy predefinite nell’applicativo e maggiore governance su ciò che viene deployato su AWS
USE OF STANDARD = uniformità e standardizzazione di tutto ciò che rientra nelle policy aziendali (senza possibilità di errore) e delle versioni degli applicativi
MORE CONTROL = tutto è sotto controllo, si sa sempre in qualisasi momento quale versione infrastrutturale è in produzione e chi o cosa ha eseguito modifiche all’infrastruttura
REPETIBLE AND RELIABLE = essendo il processo standard e ripetibile, l’affidabilità dell’infrastruttura è al 100% e non soggetta a errori manuali (sempre differenti in base a chi fa la configurazione)
SPEEF UP DEPLOY = infrastrutture complesse possono essere deployate con sicurezza in pochi minuti (mentre tradizionalmente anche settimane)
Infrastrutture come codice consente di creare codice versionable , verificabile , e distribuibile far convergere le risorse della macchina a uno stato desiderato coerente
VERSIONING = le varie versioni dell’infrastruttura può essere versionata tramite un source code repository tipo GITHUB
SECURITY = policy predefinite nell’applicativo e maggiore governance su ciò che viene deployato su AWS
USE OF STANDARD = uniformità e standardizzazione di tutto ciò che rientra nelle policy aziendali (senza possibilità di errore) e delle versioni degli applicativi
MORE CONTROL = tutto è sotto controllo, si sa sempre in qualisasi momento quale versione infrastrutturale è in produzione e chi o cosa ha eseguito modifiche all’infrastruttura
REPETIBLE AND RELIABLE = essendo il processo standard e ripetibile, l’affidabilità dell’infrastruttura è al 100% e non soggetta a errori manuali (sempre differenti in base a chi fa la configurazione)
SPEEF UP DEPLOY = infrastrutture complesse possono essere deployate con sicurezza in pochi minuti (mentre tradizionalmente anche settimane)
Infrastrutture come codice consente di creare codice versionable , verificabile , e distribuibile far convergere le risorse della macchina a uno stato desiderato coerente
VERSIONING = le varie versioni dell’infrastruttura può essere versionata tramite un source code repository tipo GITHUB
SECURITY = policy predefinite nell’applicativo e maggiore governance su ciò che viene deployato su AWS
USE OF STANDARD = uniformità e standardizzazione di tutto ciò che rientra nelle policy aziendali (senza possibilità di errore) e delle versioni degli applicativi
MORE CONTROL = tutto è sotto controllo, si sa sempre in qualisasi momento quale versione infrastrutturale è in produzione e chi o cosa ha eseguito modifiche all’infrastruttura
REPETIBLE AND RELIABLE = essendo il processo standard e ripetibile, l’affidabilità dell’infrastruttura è al 100% e non soggetta a errori manuali (sempre differenti in base a chi fa la configurazione)
SPEEF UP DEPLOY = infrastrutture complesse possono essere deployate con sicurezza in pochi minuti (mentre tradizionalmente anche settimane)
Infrastrutture come codice consente di creare codice versionable , verificabile , e distribuibile far convergere le risorse della macchina a uno stato desiderato coerente
VERSIONING = le varie versioni dell’infrastruttura può essere versionata tramite un source code repository tipo GITHUB
SECURITY = policy predefinite nell’applicativo e maggiore governance su ciò che viene deployato su AWS
USE OF STANDARD = uniformità e standardizzazione di tutto ciò che rientra nelle policy aziendali (senza possibilità di errore) e delle versioni degli applicativi
MORE CONTROL = tutto è sotto controllo, si sa sempre in qualisasi momento quale versione infrastrutturale è in produzione e chi o cosa ha eseguito modifiche all’infrastruttura
REPETIBLE AND RELIABLE = essendo il processo standard e ripetibile, l’affidabilità dell’infrastruttura è al 100% e non soggetta a errori manuali (sempre differenti in base a chi fa la configurazione)
SPEEF UP DEPLOY = infrastrutture complesse possono essere deployate con sicurezza in pochi minuti (mentre tradizionalmente anche settimane)
Infrastrutture come codice consente di creare codice versionable , verificabile , e distribuibile far convergere le risorse della macchina a uno stato desiderato coerente
VERSIONING = le varie versioni dell’infrastruttura può essere versionata tramite un source code repository tipo GITHUB
SECURITY = policy predefinite nell’applicativo e maggiore governance su ciò che viene deployato su AWS
USE OF STANDARD = uniformità e standardizzazione di tutto ciò che rientra nelle policy aziendali (senza possibilità di errore) e delle versioni degli applicativi
MORE CONTROL = tutto è sotto controllo, si sa sempre in qualisasi momento quale versione infrastrutturale è in produzione e chi o cosa ha eseguito modifiche all’infrastruttura
REPETIBLE AND RELIABLE = essendo il processo standard e ripetibile, l’affidabilità dell’infrastruttura è al 100% e non soggetta a errori manuali (sempre differenti in base a chi fa la configurazione)
SPEEF UP DEPLOY = infrastrutture complesse possono essere deployate con sicurezza in pochi minuti (mentre tradizionalmente anche settimane)