Cloud Design Patterns
Fabio Cecaro
Who am I

Fabio Cecaro
CEO VMengine
CTO ReHUB
President EuroCloud Italia
AWS User Group Italia co-organizer
CloudCamp orga...
Design Patterns

Un design pattern è :

La struttura di un pattern :

«una soluzione progettuale
generale a un problema
ri...
Cloud Design Patterns
Le fonti
http://cloudpatterns.org

http://en.clouddesignpattern.org

 è un portale dedicato a docum...
cloudpattern.org

Page  5
Cloudpattern.org
Design patterns
Technology mechanisms
Meccanismi tecnologici
sono ben definiti artefatti IT
che fanno par...
NIST Cloud Computing Reference Architecture
Identifica i principali attori, le loro attività e le funzioni nel cloud compu...
Es. D.P. : Service Load Balancing
 How can a cloud service accommodate increasing workloads?
 Problem - A single cloud s...
Es. T.M. : Hypervisor Mechanism
 Related patterns:


Automated Administration



Bare-Metal Provisioning



Direct I/O...
Es. C.P. : Platform-as-a-Service (PaaS)
en.clouddesignpattern.
org
en.clouddesignpattern-org
List of AWS Cloud Design Patterns

Patterns for Processing Dynamic Content
Scale Out Pattern (Dy...
Pattern for Operation and Maintenance
Patterns for Relational Database
DB Replication Pattern (Replicating Online
Database...
Scenario: e-commerce

Route53

EIP
EC2
Apply Server Swapping design pattern
Recover from failure
Apply Multi-Server design pattern
Improve front-end availability
Apply DB Replication design pattern
Improve db availability
Apply Multi Data Center design pattern
Improve datacenter failure availability
Questions?
We would be happy to help.
Cloud designpatterns
Upcoming SlideShare
Loading in...5
×

Cloud designpatterns

439

Published on

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

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
439
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • {}
  • Transcript of "Cloud designpatterns"

    1. 1. Cloud Design Patterns Fabio Cecaro
    2. 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. 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. 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.
    5. 5. cloudpattern.org Page  5
    6. 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. 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. 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. 9. 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
    10. 10. Es. C.P. : Platform-as-a-Service (PaaS)
    11. 11. en.clouddesignpattern. org
    12. 12. 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)
    13. 13. 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)
    14. 14. Scenario: e-commerce Route53 EIP EC2
    15. 15. Apply Server Swapping design pattern Recover from failure
    16. 16. Apply Multi-Server design pattern Improve front-end availability
    17. 17. Apply DB Replication design pattern Improve db availability
    18. 18. Apply Multi Data Center design pattern Improve datacenter failure availability
    19. 19. Questions? We would be happy to help.

    ×