Presentazione durante il Cloud Community Day del 22 luglio 2013 presso il Politecnico di Milano.
http://www.eurocloud.it/index.php/component/content/article/190-cloud-communities-day
2. Who am I
Fabio Cecaro
CEO VMengine
CTO ReHUB
President EuroCloud Italia
AWS User Group Italia co-organizer
CloudCamp organizer
: fabioce
: fabioce
: fabiocecaro
http://www.vmengine.net/
http://blog.vmengine.net/
http://www.rehub.eu/
http://www.eurocloud.it/
fabio.cecaro@gmail.com
fabio.cecaro@vmengine.net
f.cecaro@eurocloud.it
3. Design Patterns
Un design pattern è :
La struttura di un pattern :
«una soluzione progettuale
generale a un problema
ricorrente».
nome;
Una descrizione o un modello da
applicare per risolvere un
problema che può presentarsi in
diverse situazioni durante una
progettazione.
problema, ovvero la descrizione
della situazione alla quale si può
applicare il pattern;
soluzione, che descrive gli
elementi costitutivi del progetto con
le relazioni e relative implicazioni;
conseguenze, i risultati e i vincoli
che derivano dall'applicazione del
pattern.
4. Cloud Design Patterns
Le fonti
http://cloudpatterns.org
http://en.clouddesignpattern.org
è un portale dedicato a documentare
un master catalogo di patterns
composto da design patterns che
modularizzano soluzioni tecnologiche
per moderni piattaforme di cloud
computing.
Le AWS cloud Design Patterns sono
una raccolta di soluzioni e idee
progettuali per l'utilizzo delle
tecnologie cloud di AWS per risolvere
i più comuni problemi di
progettazione dei sistemi.
Arcitura Education Inc. is a leading
global provider of progressive,
vendor-neutral training and
certification programs.
Amazon Web Services LLC or its
affiliates. All rights reserved.
6. Cloudpattern.org
Design patterns
Technology mechanisms
Meccanismi tecnologici
sono ben definiti artefatti IT
che fanno parte di un
settore IT distinto per un
certo modello di calcolo o
piattaforma. Questo
standardizza le pratiche
comprovate e soluzioni in
un formato di design
pattern. I meccanismi
indicati su questo portale
sono stati definiti per il
catalogo dei design patters
del cloud computing.
Compound patterns
Un pattern composto è un
pattern costituito da un
insieme di design patterns.
Rappresentano soluzioni
testate sul campo per
problemi di progettazione
comuni
sono generalmente
ripetibili dalla maggior
parte dei professionisti IT
coinvolti con il design
possono essere utilizzate
come aiuti educativi
documentando aspetti
specifici del progetto di
sistema
arricchire il vocabolario di
un dato campo, perché
ogni modello viene dato
un nome significativo
7. NIST Cloud Computing Reference Architecture
Identifica i principali attori, le loro attività e le funzioni nel cloud computing.
Il diagramma ha lo scopo di facilitare la comprensione delle esigenze, gli
usi, le caratteristiche e gli standard del cloud computing.
8. Es. D.P. : Service Load Balancing
How can a cloud service accommodate increasing workloads?
Problem - A single cloud service implementation has a finite capacity, which leads to
runtime exceptions, failure and performance degradation when its processing thresholds are
exceeded.
Solution - Redundant deployments of the cloud service are created and a load balancing
system is added to dynamically distribute workloads across cloud service implementations.
Application - The duplicate cloud service implementations are organized into a resource
pool. The load balancer is positioned as an external component or may be built-in, allowing
hosting servers to balance workloads among themselves.
Mechanisms - Cloud Usage Monitor, Load Balancer, Resource Cluster, Resource
Replication
Compound Patterns - Burst In, Burst Out to Private Cloud, Burst Out to Public Cloud, Cloud
Balancing, Elastic Environment, Infrastructure-as-a-Service (IaaS), Multitenant Environment,
Platform-as-a-Service (PaaS), Private Cloud, Public Cloud, Resilient Environment, Softwareas-a-Service (SaaS)
9.
10. Es. T.M. : Hypervisor Mechanism
Related patterns:
Automated Administration
Bare-Metal Provisioning
Direct I/O Access
Direct LUN Access
Dynamic Scalability
Elastic Disk Provisioning
Elastic Network Capacity
Elastic Resource Capacity
Hypervisor Clustering
Load Balanced Virtual Server Instances
Load Balanced Virtual Switches
Multipath Resource Access
Non-Disruptive Service Relocation
Persistent Virtual Network Configuration
Platform Provisioning
Rapid Provisioning
Redundant Physical Connection for Virtual Servers
Resource Pooling
Resource Reservation
Service State Management
Shared Resources
Synchronized Operating State
Workload Distribution
Zero Downtime
13. en.clouddesignpattern-org
List of AWS Cloud Design Patterns
Patterns for Processing Dynamic Content
Scale Out Pattern (Dynamically Increasing the
Number of Servers)
Basic Patterns
Clone Server Pattern (Cloning a Server)
Snapshot Pattern (Data Backups)
NFS Sharing Pattern (Using Shared Content)
Stamp Pattern (Server Replication)
NFS Replica Pattern (Replicating Shared Content)
Scale Up Pattern (Dynamic Server Spec Up/Down)
State Sharing Pattern (Sharing State Information)
On-demand Disk Pattern (Dynamically
Increasing/Decreasing Disk Capacity)
URL Rewriting Pattern (Saving Static Content)
Patterns for Improving Availability
Rewrite Proxy Pattern (Proxy Setup for URL
Overwriting)
Multi-Server Pattern (Server Redundancy)
Cache Proxy Pattern (Cache Provisioning)
Multi-Datacenter Pattern (Redundancy on the
Data Center Level)
Scheduled Scale Out Pattern ( Increasing or
Decreasing the Number of Servers Following a
Schedule)
Floating IP Pattern (Floating IP Address)
Deep Health Check Pattern (System Health
Check)
Patterns for Uploading Data
Write Proxy Pattern (High-Speed Uploading to
Internet Storage)
Storage Index Pattern (Increasing the Efficiency of
Internet Storage)
Direct Object Upload Pattern (Simplifying the
Upload Procedure)
Patterns for Processing Static Content
Web Storage Pattern (Use of High-Availability
Internet Storage)
Direct Hosting Pattern (Direct Hosting Using
Internet Storage)
Private Distribution Pattern (Data Delivery to
Specified Users)
Cache Distribution Pattern (Locating Data in a
Location That Is Physically Near to the User)
Rename Distribution Pattern (Delivery Without
Update Delay)
14. Pattern for Operation and Maintenance
Patterns for Relational Database
DB Replication Pattern (Replicating Online
Databases)
Read Replica Pattern (Load Distribution through
Read Replicas)
Inmemory DB Cache Pattern (Caching HighFrequency Data)
Sharding Write Pattern (Improving Efficiency in
Writing)
Patterns for Network
OnDemand NAT Pattern (Changing Internet
Settings at the Time of Maintenance)
Backnet Pattern (Establishment of a Management
Network)
Functional Firewall Pattern (Multi-Tier Access
Control)
Operational Firewall Pattern (Controlling Access
by Individual Function)
Multi Load Balancer Pattern (Setting Up Multiple
Load Balancers)
WAF Proxy Pattern (Effective Use of a Costly Web
Application Firewalls)
CloudHub Pattern (Setting Up VPN Sites)
Bootstrap Pattern (Automatic Acquisition of
Startup Settings)
Cloud DI Pattern (External Placement of Parts
That Are Frequently Updated)
Stack Deployment Pattern (Creating a Template
for Setting up Groups of Servers)
Server Swapping Pattern (Transferring Servers)
Monitoring Integration Pattern (Centralization of
Monitoring Tools)
Web Storage Archive Pattern (Archiving Large
Volumes of Data)
Weighted Transition Pattern (Transitioning Using
a Weighted Round Robin DNS)
Hybrid Backup Pattern (Using the Cloud for
Backups)
Patterns for Batch Processing
Queuing Chain Pattern (Loose-Coupling of
Systems)
Priority Queue pattern (Changing Priorities)
Job Observer Pattern (Job Monitoring and
Adding/Deleting Servers)
Scheduled Autoscaling Pattern (Turning Batch
Servers On and Off Automatically)