SlideShare a Scribd company logo
1 of 34
Download to read offline
Architectures For The Cloud
     Eberhard Wolff
     Architecture & Technology Manager
     adesso AG
     Twitter: @ewolff
     Blog: http://ewolff.com




29.06.11
What is Cloud?
►    National Institute for Standards and Technology (NIST) Definition


►    On-demand self-service
     >  Through a portal, no human interaction
     >  Only pay what you need
►    Broad network access
     >  Standard access through the network
►    Resource pooling
     >  Server multiple customers with the same set of resources
►    Rapid elasticity
     >  More resources are available quickly
►    Measured Service
     >  Resources can be monitored




29.06.11
Cloud Deployment Model
►    Public
     >  Available to general public


►    Private
     >  Available to only one organization


►    Community
     >  Available to several organizations


►    Hybrid
     >  Combination of multiple models




29.06.11   3
IaaS – PaaS – SaaS


     Infrastructure                  Platform              Software
      as a Service                 as a Service           as a Service


> Virtual Servers             > Virtual App Server   > Software or Service
                                                       that you use
> Similar to Virtualization   > Handles Scale-Out

                                                     > Components that you
> Manage Everything           > Mostly Managed by      add/integrate into your
  Yourself                      Provider               app
Why Cloud?
►    Costs
►    CapEx (CAPital EXpenditure) vs. OpEx ("OPerational
     EXpenditure")
►    Only really works for Public Cloud


►    Business agility
►    Self Service portals - no more tickets
►    Can create production like environments cheaply and quickly
►    Original reason for Amazon to create a Cloud infrastructure:
     Software Engineers still spent 70% of their time on
     infrastructure
►    Also for Private Cloud


►    Business drives IT into the Cloud



29.06.11     5
How Is Cloud Different?
How is Cloud Different?
►    Can easily and cheaply add new resources
     >  Prefer starting new instances over highly available instances
     >  Prefer adding instances over using a more powerful instance
     >  Might end up with lots of instances


►    Prefer dealing with failure over providing a highly available network


►    So basically lots of non powerful instances with an unreliable network


►    How can you end up with a reliable system then?




29.06.11   8
Enter Spring Biking!

►    The revolutionary web site to create customized bikes!
►    We got a few million € Venture Capital


►    We need...
     >  Catalog of all Mountain Bike parts and bikes
     >  System to configure custom Mountain Bikes
     >  Order system


►    Cloud good idea
     >  No CapEx
     >  Rapid elasticity -> easy to grow


►    Focusing on German market
Spring Biking: Architecture
                              ►    Standard Enterprise Architecture


                              ►    Relational database
            Application
              (Order,
           Configuration,
             Catalog)




                Database



29.06.11   10
Spring Biking: Architecture
                              ►    Standard Enterprise Architecture




Wait, didn’t you
            Application
              (Order,
           Configuration,
                              ►    Relational database




say it should run
             Catalog)




in the Cloud?   Database



29.06.11   11
How Spring Biking Deals with Cloud Challenges
►    No state on the web tier
     >  i.e. no session
     >  State stored in database
                                                            Application
►    No CAP issues on the web tier – no data                  (Order,
►    Easy to automatically start new instances if load     Configuration,
     increases
                                                             Catalog)
►    Every PaaS should deal with elastic scaling
►    Example: Amazon Elastic Beanstalk
     >  Takes a standard Java WAR
     >  Deploys it
     >  Add elastic scaling
►    Could build something similar yourself with an IaaS
     >  Automated deployment
     >  Elastic scaling and load balancing available
        from Amazon IaaS offerings


29.06.11   12
How Spring Biking Deals with Cloud Challenges
►    Relational database fine for now
     >  Example: Amazon RDS (Relational Database Service)
     >  MySQL and Oracle
     >  MySQL: Multi data center replication
     >  Can deal with failure of one data center


►    Add Content Delivery Network (CDN)
     >  Not too many PaaS in Europe or Germany
                                                            Database
     >  Latency effects revenue
        –  Every 100ms latency costs Amazon 1% of revenue
     >  So add CDN to lower latency




29.06.11   13
Benefits for the Development Process
►    Trivial to get a new version out
►    Easy to create a production like environment for test or
     staging
     >  Take snapshot from production database
     >  Set up new database with snapshot
     >  Create a new environment with a different release of
        the software
     >  Automated for production
     >  Production-like sizing acceptable: You pay by the
        hour


►    This can also be done using Private Clouds!
►    Can be more important than cost reduction
►    Business Agility is a major driver for (private) Cloud!




29.06.11   14
Next step: Spring Biking Goes Global!
►    Global demand for bikes is on all time high!
►    We need to globalize the offering


►    A central RDBMS for the global system is not acceptable
     >  Amazon RDS offers one uniform database for a Region
        (e.g. US-East, EU-West)
     >  Need a different solution for a global system


►    Just an example
►    Traditional Enterprise scales to a certain limit
►    The question is which


►    We are not all going to build Twitter or Facebook




29.06.11   15
CAP Theorem
►    Consistency
     >  All nodes see the same data


►    Availability
     >  Node failure do not prevent survivors from operating


►    Partition Tolerance
     >  System continues to operate despite arbitrary message loss
                                                                     C
►    Can at max have two




                                                                 P       A



29.06.11   16
CAP Theorem


                Consistency


                               RDBMS
       Quorum                   2 Phase
                                Commit




   Partition
  Tolerance  Replication DNS   Availability
CAP Theorem in the Cloud
►    Need A – Availability
     >  A system that is not available is usually the worst thing
     >  Shutting down nodes is no option


►    Need P – Partition Tolerance
     >  Network is not under your control
     >  Lots of nodes -> partitioning even more likely


►    No chance for C – Consistency                                      C
     >  Because we can’t


►    CA used to be OK with a highly available network and a few nodes

                                                                    P       A



29.06.11   18
BASE
►    Basically Available Soft state Eventually consistent
►    I.e. trade consistency for availability


►    Eventually consistent
     >  If no updates are sent for a while all previous updates
        will eventually propagate through the system
     >  Then all replicas are consistent
     >  Can deal with network partitioning: Message will be
        transferred later


►    All replicas are always available


►    Pun concerning ACID…




29.06.11    19
BASE in Spring Biking


           Application                     Application   Application




           Database                        Database      Database

                 EU-West                     US-East       Asia-Pacific



                   Changes to catalog
                   Eventually propagated




29.06.11    20
Network Partitioning / Inconsistency


           Application                  Application   Application




           Database                     Database      Database
Eventually
Inconsistent
data is    EU-West                        US-East       Asia-Pacific
consistent




                         Network
                         Partitioning



29.06.11    21
Implementing BASE Using Event Sourcing
►    Do it yourself using a messaging system
     >  JMS (ActiveMQ …)
     >  RabbitMQ
                                                        Event                 Domain
     >  Amazon Simple Queue Service (SQS)                                     Model
     >  Amazon Simple Notification Server (SNS)
     >  Easy to duplicate state on nodes
     >  Fail safe: Message will eventually be transferred
     >  …and high latency is acceptable


►    Other reason to use Event Sourcing
     >  Capture all changes to an application state as a sequence of events
     >  Originates in Domain Driven Design
     >  Also used as a log of actions (to replay, reverse etc)


►    Might end up with an Event-driven Architecture
     >  Might add Complex Event Processing etc.
29.06.11   22
Implementing BASE Using NoSQL
►    Some NoSQL databases include replication


►    Example: CouchDB
     >  Replication between nodes
     >  Master-master replication using versioning
     >  Trivial to set up
     >  All nodes have the same data
     >  Sharding only possible with additional proxies




29.06.11   23
More Sophistacted
►    Apache Cassandra


►    Each node is master for certain
     data
►    Data is replicated to N nodes
►    Data is read from R nodes
►    After a write W nodes must acknowledge
►    N,R,W are configurable


►    Replication done automatically
►    Clustering built in
►    Tuneable CAP




29.06.11    24
Different Parts Require Different Architecture
►    So far: Catalog
     >  Data must be available on each node
     >  Slight inconsistencies are OK                   Application
     >  i.e. new item added to catalog


►    Stock information should be consistent
     >  So customers are not disappointed          Catalog
     >  Might use caching-like structure


►    Orders are immediately send to the back end
     >  No local storage at all                              Order

►    A lot more catalog browsing than ordering




29.06.11   25
More load on catalog ->                    Less load on order ->
                      More instances                             Less instances


           Catalog                              Catalog              Order


                                                                          No local
                     Stock                               Stock            data
Database                             Database                             All send to
                     Cache                               Cache            backend




           Updates
                                                Stock
                                                Master
29.06.11   26
Handling Log Files
►    Business requirements
     >  Need to measure hits on web pages
     >  Need to measure hits for individual products etc.


►    Sounds like a batch
     >  File in, statistics out


►    But: Data is globally distributed
►    Lots of data i.e. cannot be collected at
     a central place
►    Data should stay where it is


►    Some nodes might be offline or not available
►    Prefer incomplete answer over no answer at all


29.06.11    27
More Than CAP
►    CAP Theorem again
►    Consistency, Availability, Network Partitioning
►    You can only have two


►    But: We want Availability
►    …and a flexible trade off between Consistency and Network Partitioning
►    Like Casssandra

                                                                              C
►    I.e. CAP theorem is not the proper way to think about this




                                                                  P               A



29.06.11   28
Harvest and Yield
►    Yield: Probability of completing a request
►    Harvest: Fraction of data represented in the result


►    Harvest and Yield vs. CAP
►    Yield = 100% -> Availability
►    Harvest = 100% -> Consistency


►    Can be used to think about Cassandra configurations


►    Can also be used to execute some logic on all data
►    …and wait until enough harvest is there to answer a query


►    So: Send out a query to all log files
►    …and collect the results

29.06.11   29
Map / Reduce
►    Map: Apply a function to all data
     >  Emit (item name, 1) for each log file line
►    Master sorts by item name
►    Reduce: Add all (item name, 1) to the total score


►    Map can be done on any node
►    Master collects data



                                                         Reduce


                                                     Map     Map
Another Case Study
►    Financials


►    Build a Highly Available, High Throughput System, Low Latency System on
     Standard Hardware!
►    Just like Google and Amazon


►    Driver: Standard infrastructure – cheap and stable
►    Driver: Even more availability, throughput, scalability and lower latency


►    You will need to consider CAP, BASE, Harvest & Yield etc.
►    Very likely in a Private Cloud




29.06.11   31
Another Case Study
►    Random Project


►    Make deployment easier!
►    Make it easy to create test environment!
►    Driver: Business Agility and Developer Productivity
►    Will need to use automated installation + IaaS or PaaS
►    Might be in a Public or Private Cloud




29.06.11   32
Custom Self Service Portal




29.06.11   33
Conclusion
►    Current PaaS allow to run Enterprise applications unchanged
►    At one point you will need to change


►    CAP: Consistency, Availability, Partition Tolerance – choose two
►    Cloud: AP, no C


►    BASE: Basically Available, Soft State, Eventually Consistent
►    Can be implemented using Event Sourcing
►    …or a NoSQL persistence solution


►    Create multiple deployment artifacts to scale each part


►    Harvest / Yield: Fine grained CAP
►    Map / Reduce to run batches in the Cloud

29.06.11   34

More Related Content

What's hot

Cloud Computing Hypervisors and Comparison Xen KVM
Cloud Computing Hypervisors and Comparison Xen KVM Cloud Computing Hypervisors and Comparison Xen KVM
Cloud Computing Hypervisors and Comparison Xen KVM
cloudresearcher
 
The Pensions Trust - VM Backup Experiences
The Pensions Trust - VM Backup ExperiencesThe Pensions Trust - VM Backup Experiences
The Pensions Trust - VM Backup Experiences
glbsolutions
 
„Wielka dwójka”, czyli jak działa Citrix XenApp na Citrix XenServer u dużych ...
„Wielka dwójka”, czyli jak działa Citrix XenApp na Citrix XenServer u dużych ...„Wielka dwójka”, czyli jak działa Citrix XenApp na Citrix XenServer u dużych ...
„Wielka dwójka”, czyli jak działa Citrix XenApp na Citrix XenServer u dużych ...
Peter Ocasek
 
XenServer 5.5 - Czy można zaoszczędzić na wirtualizacji serwerów? Darmowy Xen...
XenServer 5.5 - Czy można zaoszczędzić na wirtualizacji serwerów? Darmowy Xen...XenServer 5.5 - Czy można zaoszczędzić na wirtualizacji serwerów? Darmowy Xen...
XenServer 5.5 - Czy można zaoszczędzić na wirtualizacji serwerów? Darmowy Xen...
Peter Ocasek
 
Vnx series-technical-review-110616214632-phpapp02
Vnx series-technical-review-110616214632-phpapp02Vnx series-technical-review-110616214632-phpapp02
Vnx series-technical-review-110616214632-phpapp02
Newlink
 

What's hot (20)

Double-Take Software
Double-Take SoftwareDouble-Take Software
Double-Take Software
 
Securing your cloud with Xen's advanced security features
Securing your cloud with Xen's advanced security featuresSecuring your cloud with Xen's advanced security features
Securing your cloud with Xen's advanced security features
 
The 8 Advantages of Parallels Web Solutions for your Hosting Business - Andr...
The 8 Advantages of Parallels Web  Solutions for your Hosting Business - Andr...The 8 Advantages of Parallels Web  Solutions for your Hosting Business - Andr...
The 8 Advantages of Parallels Web Solutions for your Hosting Business - Andr...
 
Integration with EMC VNX and VNXe hybrid storage arrays
Integration with EMC VNX and VNXe hybrid storage arraysIntegration with EMC VNX and VNXe hybrid storage arrays
Integration with EMC VNX and VNXe hybrid storage arrays
 
Cloud Computing Hypervisors and Comparison Xen KVM
Cloud Computing Hypervisors and Comparison Xen KVM Cloud Computing Hypervisors and Comparison Xen KVM
Cloud Computing Hypervisors and Comparison Xen KVM
 
VM Live Migration Speedup in Xen
VM Live Migration Speedup in XenVM Live Migration Speedup in Xen
VM Live Migration Speedup in Xen
 
Xrm xensummit
Xrm xensummitXrm xensummit
Xrm xensummit
 
Aplura virtualization slides
Aplura virtualization slidesAplura virtualization slides
Aplura virtualization slides
 
The Pensions Trust - VM Backup Experiences
The Pensions Trust - VM Backup ExperiencesThe Pensions Trust - VM Backup Experiences
The Pensions Trust - VM Backup Experiences
 
Xen @ Google, 2011
Xen @ Google, 2011Xen @ Google, 2011
Xen @ Google, 2011
 
VMware vSphere vMotion: 5.4 times faster than Hyper-V Live Migration
VMware vSphere vMotion: 5.4 times faster than Hyper-V Live MigrationVMware vSphere vMotion: 5.4 times faster than Hyper-V Live Migration
VMware vSphere vMotion: 5.4 times faster than Hyper-V Live Migration
 
Business-critical MySQL with DR in vCloud Air
Business-critical MySQL with DR in vCloud AirBusiness-critical MySQL with DR in vCloud Air
Business-critical MySQL with DR in vCloud Air
 
Veean Backup & Replication
Veean Backup & ReplicationVeean Backup & Replication
Veean Backup & Replication
 
Ansible & CloudStack - Configuration Management
Ansible & CloudStack - Configuration ManagementAnsible & CloudStack - Configuration Management
Ansible & CloudStack - Configuration Management
 
„Wielka dwójka”, czyli jak działa Citrix XenApp na Citrix XenServer u dużych ...
„Wielka dwójka”, czyli jak działa Citrix XenApp na Citrix XenServer u dużych ...„Wielka dwójka”, czyli jak działa Citrix XenApp na Citrix XenServer u dużych ...
„Wielka dwójka”, czyli jak działa Citrix XenApp na Citrix XenServer u dużych ...
 
VMworld 2015: vSphere Web Client- Yesterday, Today, and Tomorrow
VMworld 2015: vSphere Web Client- Yesterday, Today, and TomorrowVMworld 2015: vSphere Web Client- Yesterday, Today, and Tomorrow
VMworld 2015: vSphere Web Client- Yesterday, Today, and Tomorrow
 
XenServer 5.5 - Czy można zaoszczędzić na wirtualizacji serwerów? Darmowy Xen...
XenServer 5.5 - Czy można zaoszczędzić na wirtualizacji serwerów? Darmowy Xen...XenServer 5.5 - Czy można zaoszczędzić na wirtualizacji serwerów? Darmowy Xen...
XenServer 5.5 - Czy można zaoszczędzić na wirtualizacji serwerów? Darmowy Xen...
 
Sdc 2012-how-can-hypervisors-leverage-advanced-storage-features-v7.6(20-9-2012)
Sdc 2012-how-can-hypervisors-leverage-advanced-storage-features-v7.6(20-9-2012)Sdc 2012-how-can-hypervisors-leverage-advanced-storage-features-v7.6(20-9-2012)
Sdc 2012-how-can-hypervisors-leverage-advanced-storage-features-v7.6(20-9-2012)
 
Inf bco2891 release candidate v11 copy
Inf bco2891 release candidate v11 copyInf bco2891 release candidate v11 copy
Inf bco2891 release candidate v11 copy
 
Vnx series-technical-review-110616214632-phpapp02
Vnx series-technical-review-110616214632-phpapp02Vnx series-technical-review-110616214632-phpapp02
Vnx series-technical-review-110616214632-phpapp02
 

Viewers also liked

WSO2 Stratos 2010 September Workshop
WSO2 Stratos 2010 September WorkshopWSO2 Stratos 2010 September Workshop
WSO2 Stratos 2010 September Workshop
Afkham Azeez
 
Managing A Cloud Environment: How To Get Started And Which Way To Go
Managing A Cloud Environment: How To Get Started And Which Way To Go Managing A Cloud Environment: How To Get Started And Which Way To Go
Managing A Cloud Environment: How To Get Started And Which Way To Go
talemadi
 
Concerns with cloud computing
Concerns with cloud computingConcerns with cloud computing
Concerns with cloud computing
Ulf Mattsson
 
Saa s multitenant database architecture
Saa s multitenant database architectureSaa s multitenant database architecture
Saa s multitenant database architecture
mmubashirkhan
 
Cloud: Session 7: Cloud Computing, Software as a Service, and Sales Forecasting
Cloud: Session 7: Cloud Computing, Software as a Service, and Sales ForecastingCloud: Session 7: Cloud Computing, Software as a Service, and Sales Forecasting
Cloud: Session 7: Cloud Computing, Software as a Service, and Sales Forecasting
SugarCRM
 

Viewers also liked (20)

PERFORMANCE FACTORS OF CLOUD COMPUTING DATA CENTERS USING [(M/G/1) : (∞/GDM O...
PERFORMANCE FACTORS OF CLOUD COMPUTING DATA CENTERS USING [(M/G/1) : (∞/GDM O...PERFORMANCE FACTORS OF CLOUD COMPUTING DATA CENTERS USING [(M/G/1) : (∞/GDM O...
PERFORMANCE FACTORS OF CLOUD COMPUTING DATA CENTERS USING [(M/G/1) : (∞/GDM O...
 
WSO2 Stratos 2010 September Workshop
WSO2 Stratos 2010 September WorkshopWSO2 Stratos 2010 September Workshop
WSO2 Stratos 2010 September Workshop
 
Making Things Simpler: How Primitives Help Integrate BPM and Enterprise Archi...
Making Things Simpler: How Primitives Help Integrate BPM and Enterprise Archi...Making Things Simpler: How Primitives Help Integrate BPM and Enterprise Archi...
Making Things Simpler: How Primitives Help Integrate BPM and Enterprise Archi...
 
Cloud101-Introduction to cloud
Cloud101-Introduction to cloud Cloud101-Introduction to cloud
Cloud101-Introduction to cloud
 
Cloud computing doing more with less
Cloud computing doing more with lessCloud computing doing more with less
Cloud computing doing more with less
 
Cloud roadmap
Cloud roadmapCloud roadmap
Cloud roadmap
 
JPJ1410 PACK: Prediction-Based Cloud Bandwidth and Cost Reduction System
JPJ1410  PACK: Prediction-Based Cloud Bandwidth and Cost Reduction SystemJPJ1410  PACK: Prediction-Based Cloud Bandwidth and Cost Reduction System
JPJ1410 PACK: Prediction-Based Cloud Bandwidth and Cost Reduction System
 
Cloud Computing: A New Trend in IT
Cloud Computing: A New Trend in ITCloud Computing: A New Trend in IT
Cloud Computing: A New Trend in IT
 
Managing A Cloud Environment: How To Get Started And Which Way To Go
Managing A Cloud Environment: How To Get Started And Which Way To Go Managing A Cloud Environment: How To Get Started And Which Way To Go
Managing A Cloud Environment: How To Get Started And Which Way To Go
 
Managing Trade-offs among Architectural Tactics using Feature models and Feat...
Managing Trade-offs among Architectural Tactics using Feature models and Feat...Managing Trade-offs among Architectural Tactics using Feature models and Feat...
Managing Trade-offs among Architectural Tactics using Feature models and Feat...
 
Is your infrastructure holding you back?
Is your infrastructure holding you back?Is your infrastructure holding you back?
Is your infrastructure holding you back?
 
Comparative Analysis of SOA and Cloud Computing Architectures using Fact Base...
Comparative Analysis of SOA and Cloud Computing Architectures using Fact Base...Comparative Analysis of SOA and Cloud Computing Architectures using Fact Base...
Comparative Analysis of SOA and Cloud Computing Architectures using Fact Base...
 
How to move to the cloud
How to move to the cloudHow to move to the cloud
How to move to the cloud
 
Concerns with cloud computing
Concerns with cloud computingConcerns with cloud computing
Concerns with cloud computing
 
The shortest path to cloud success - your roadmap
The shortest path to cloud success - your roadmapThe shortest path to cloud success - your roadmap
The shortest path to cloud success - your roadmap
 
Building Cloud Tools for Netflix
Building Cloud Tools for NetflixBuilding Cloud Tools for Netflix
Building Cloud Tools for Netflix
 
Multi-tenancy in the cloud
Multi-tenancy in the cloudMulti-tenancy in the cloud
Multi-tenancy in the cloud
 
Saa s multitenant database architecture
Saa s multitenant database architectureSaa s multitenant database architecture
Saa s multitenant database architecture
 
Multi cloud PaaS
Multi cloud PaaSMulti cloud PaaS
Multi cloud PaaS
 
Cloud: Session 7: Cloud Computing, Software as a Service, and Sales Forecasting
Cloud: Session 7: Cloud Computing, Software as a Service, and Sales ForecastingCloud: Session 7: Cloud Computing, Software as a Service, and Sales Forecasting
Cloud: Session 7: Cloud Computing, Software as a Service, and Sales Forecasting
 

Similar to Architectures For The Cloud

AWS Customer Presentation - qlik Tech
AWS Customer Presentation - qlik TechAWS Customer Presentation - qlik Tech
AWS Customer Presentation - qlik Tech
Amazon Web Services
 

Similar to Architectures For The Cloud (20)

Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison
 
Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in ComparisonJava in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison
 
Deep Dive on Amazon EC2 Instances - AWS Summit Cape Town 2017
Deep Dive on Amazon EC2 Instances - AWS Summit Cape Town 2017Deep Dive on Amazon EC2 Instances - AWS Summit Cape Town 2017
Deep Dive on Amazon EC2 Instances - AWS Summit Cape Town 2017
 
cluster computing
cluster computingcluster computing
cluster computing
 
NoSQL
NoSQLNoSQL
NoSQL
 
How to get started with Oracle Cloud Infrastructure
How to get started with Oracle Cloud InfrastructureHow to get started with Oracle Cloud Infrastructure
How to get started with Oracle Cloud Infrastructure
 
No sql databases
No sql databases No sql databases
No sql databases
 
Dimension data cloud for the enterprise architect
Dimension data cloud for the enterprise architectDimension data cloud for the enterprise architect
Dimension data cloud for the enterprise architect
 
AWS Customer Presentation - qlik Tech
AWS Customer Presentation - qlik TechAWS Customer Presentation - qlik Tech
AWS Customer Presentation - qlik Tech
 
LIQUID-A Scalable Deduplication File System For Virtual Machine Images
LIQUID-A Scalable Deduplication File System For Virtual Machine ImagesLIQUID-A Scalable Deduplication File System For Virtual Machine Images
LIQUID-A Scalable Deduplication File System For Virtual Machine Images
 
Dell EMC Elastic Cloud Storage - Kemp at Network Field Day, DellTechWorld
Dell EMC Elastic Cloud Storage - Kemp at Network Field Day, DellTechWorldDell EMC Elastic Cloud Storage - Kemp at Network Field Day, DellTechWorld
Dell EMC Elastic Cloud Storage - Kemp at Network Field Day, DellTechWorld
 
Virtual Storage Center
Virtual Storage CenterVirtual Storage Center
Virtual Storage Center
 
AWS Cloud Computing Tech Talks By Halieb Andemichael
AWS Cloud Computing Tech Talks  By Halieb AndemichaelAWS Cloud Computing Tech Talks  By Halieb Andemichael
AWS Cloud Computing Tech Talks By Halieb Andemichael
 
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
 
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
 
Primend praktiline pilveseminar 2014 - Simplivity Omnicube, esimene samm pilve
Primend praktiline pilveseminar 2014 - Simplivity Omnicube, esimene samm pilvePrimend praktiline pilveseminar 2014 - Simplivity Omnicube, esimene samm pilve
Primend praktiline pilveseminar 2014 - Simplivity Omnicube, esimene samm pilve
 
Deep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesDeep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instances
 
TDS-16489U-R2 0215 EN
TDS-16489U-R2 0215 ENTDS-16489U-R2 0215 EN
TDS-16489U-R2 0215 EN
 
Consistency as a service auditing cloud consistency
Consistency as a service  auditing cloud consistencyConsistency as a service  auditing cloud consistency
Consistency as a service auditing cloud consistency
 
Microsoft Azure Cloud Basics Tutorial
Microsoft Azure Cloud Basics TutorialMicrosoft Azure Cloud Basics Tutorial
Microsoft Azure Cloud Basics Tutorial
 

More from Eberhard Wolff

More from Eberhard Wolff (20)

Architectures and Alternatives
Architectures and AlternativesArchitectures and Alternatives
Architectures and Alternatives
 
Beyond Microservices
Beyond MicroservicesBeyond Microservices
Beyond Microservices
 
The Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryThe Frontiers of Continuous Delivery
The Frontiers of Continuous Delivery
 
Four Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, AsyncFour Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, Async
 
Microservices - not just with Java
Microservices - not just with JavaMicroservices - not just with Java
Microservices - not just with Java
 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!
 
Data Architecture not Just for Microservices
Data Architecture not Just for MicroservicesData Architecture not Just for Microservices
Data Architecture not Just for Microservices
 
How to Split Your System into Microservices
How to Split Your System into MicroservicesHow to Split Your System into Microservices
How to Split Your System into Microservices
 
Microservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileMicroservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale Agile
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?
 
Data Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesData Architecturen Not Just for Microservices
Data Architecturen Not Just for Microservices
 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=Maintainability
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to Microservices
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
 
Software Architecture for Innovation
Software Architecture for InnovationSoftware Architecture for Innovation
Software Architecture for Innovation
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous Delivery
 
Nanoservices and Microservices with Java
Nanoservices and Microservices with JavaNanoservices and Microservices with Java
Nanoservices and Microservices with Java
 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support Agile
 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale Agile
 
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three BuzzwordsMicroservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Architectures For The Cloud

  • 1. Architectures For The Cloud Eberhard Wolff Architecture & Technology Manager adesso AG Twitter: @ewolff Blog: http://ewolff.com 29.06.11
  • 2. What is Cloud? ►  National Institute for Standards and Technology (NIST) Definition ►  On-demand self-service >  Through a portal, no human interaction >  Only pay what you need ►  Broad network access >  Standard access through the network ►  Resource pooling >  Server multiple customers with the same set of resources ►  Rapid elasticity >  More resources are available quickly ►  Measured Service >  Resources can be monitored 29.06.11
  • 3. Cloud Deployment Model ►  Public >  Available to general public ►  Private >  Available to only one organization ►  Community >  Available to several organizations ►  Hybrid >  Combination of multiple models 29.06.11 3
  • 4. IaaS – PaaS – SaaS Infrastructure Platform Software as a Service as a Service as a Service > Virtual Servers > Virtual App Server > Software or Service that you use > Similar to Virtualization > Handles Scale-Out > Components that you > Manage Everything > Mostly Managed by add/integrate into your Yourself Provider app
  • 5. Why Cloud? ►  Costs ►  CapEx (CAPital EXpenditure) vs. OpEx ("OPerational EXpenditure") ►  Only really works for Public Cloud ►  Business agility ►  Self Service portals - no more tickets ►  Can create production like environments cheaply and quickly ►  Original reason for Amazon to create a Cloud infrastructure: Software Engineers still spent 70% of their time on infrastructure ►  Also for Private Cloud ►  Business drives IT into the Cloud 29.06.11 5
  • 6. How Is Cloud Different?
  • 7.
  • 8. How is Cloud Different? ►  Can easily and cheaply add new resources >  Prefer starting new instances over highly available instances >  Prefer adding instances over using a more powerful instance >  Might end up with lots of instances ►  Prefer dealing with failure over providing a highly available network ►  So basically lots of non powerful instances with an unreliable network ►  How can you end up with a reliable system then? 29.06.11 8
  • 9. Enter Spring Biking! ►  The revolutionary web site to create customized bikes! ►  We got a few million € Venture Capital ►  We need... >  Catalog of all Mountain Bike parts and bikes >  System to configure custom Mountain Bikes >  Order system ►  Cloud good idea >  No CapEx >  Rapid elasticity -> easy to grow ►  Focusing on German market
  • 10. Spring Biking: Architecture ►  Standard Enterprise Architecture ►  Relational database Application (Order, Configuration, Catalog) Database 29.06.11 10
  • 11. Spring Biking: Architecture ►  Standard Enterprise Architecture Wait, didn’t you Application (Order, Configuration, ►  Relational database say it should run Catalog) in the Cloud? Database 29.06.11 11
  • 12. How Spring Biking Deals with Cloud Challenges ►  No state on the web tier >  i.e. no session >  State stored in database Application ►  No CAP issues on the web tier – no data (Order, ►  Easy to automatically start new instances if load Configuration, increases Catalog) ►  Every PaaS should deal with elastic scaling ►  Example: Amazon Elastic Beanstalk >  Takes a standard Java WAR >  Deploys it >  Add elastic scaling ►  Could build something similar yourself with an IaaS >  Automated deployment >  Elastic scaling and load balancing available from Amazon IaaS offerings 29.06.11 12
  • 13. How Spring Biking Deals with Cloud Challenges ►  Relational database fine for now >  Example: Amazon RDS (Relational Database Service) >  MySQL and Oracle >  MySQL: Multi data center replication >  Can deal with failure of one data center ►  Add Content Delivery Network (CDN) >  Not too many PaaS in Europe or Germany Database >  Latency effects revenue –  Every 100ms latency costs Amazon 1% of revenue >  So add CDN to lower latency 29.06.11 13
  • 14. Benefits for the Development Process ►  Trivial to get a new version out ►  Easy to create a production like environment for test or staging >  Take snapshot from production database >  Set up new database with snapshot >  Create a new environment with a different release of the software >  Automated for production >  Production-like sizing acceptable: You pay by the hour ►  This can also be done using Private Clouds! ►  Can be more important than cost reduction ►  Business Agility is a major driver for (private) Cloud! 29.06.11 14
  • 15. Next step: Spring Biking Goes Global! ►  Global demand for bikes is on all time high! ►  We need to globalize the offering ►  A central RDBMS for the global system is not acceptable >  Amazon RDS offers one uniform database for a Region (e.g. US-East, EU-West) >  Need a different solution for a global system ►  Just an example ►  Traditional Enterprise scales to a certain limit ►  The question is which ►  We are not all going to build Twitter or Facebook 29.06.11 15
  • 16. CAP Theorem ►  Consistency >  All nodes see the same data ►  Availability >  Node failure do not prevent survivors from operating ►  Partition Tolerance >  System continues to operate despite arbitrary message loss C ►  Can at max have two P A 29.06.11 16
  • 17. CAP Theorem Consistency RDBMS Quorum 2 Phase Commit Partition Tolerance Replication DNS Availability
  • 18. CAP Theorem in the Cloud ►  Need A – Availability >  A system that is not available is usually the worst thing >  Shutting down nodes is no option ►  Need P – Partition Tolerance >  Network is not under your control >  Lots of nodes -> partitioning even more likely ►  No chance for C – Consistency C >  Because we can’t ►  CA used to be OK with a highly available network and a few nodes P A 29.06.11 18
  • 19. BASE ►  Basically Available Soft state Eventually consistent ►  I.e. trade consistency for availability ►  Eventually consistent >  If no updates are sent for a while all previous updates will eventually propagate through the system >  Then all replicas are consistent >  Can deal with network partitioning: Message will be transferred later ►  All replicas are always available ►  Pun concerning ACID… 29.06.11 19
  • 20. BASE in Spring Biking Application Application Application Database Database Database EU-West US-East Asia-Pacific Changes to catalog Eventually propagated 29.06.11 20
  • 21. Network Partitioning / Inconsistency Application Application Application Database Database Database Eventually Inconsistent data is EU-West US-East Asia-Pacific consistent Network Partitioning 29.06.11 21
  • 22. Implementing BASE Using Event Sourcing ►  Do it yourself using a messaging system >  JMS (ActiveMQ …) >  RabbitMQ Event Domain >  Amazon Simple Queue Service (SQS) Model >  Amazon Simple Notification Server (SNS) >  Easy to duplicate state on nodes >  Fail safe: Message will eventually be transferred >  …and high latency is acceptable ►  Other reason to use Event Sourcing >  Capture all changes to an application state as a sequence of events >  Originates in Domain Driven Design >  Also used as a log of actions (to replay, reverse etc) ►  Might end up with an Event-driven Architecture >  Might add Complex Event Processing etc. 29.06.11 22
  • 23. Implementing BASE Using NoSQL ►  Some NoSQL databases include replication ►  Example: CouchDB >  Replication between nodes >  Master-master replication using versioning >  Trivial to set up >  All nodes have the same data >  Sharding only possible with additional proxies 29.06.11 23
  • 24. More Sophistacted ►  Apache Cassandra ►  Each node is master for certain data ►  Data is replicated to N nodes ►  Data is read from R nodes ►  After a write W nodes must acknowledge ►  N,R,W are configurable ►  Replication done automatically ►  Clustering built in ►  Tuneable CAP 29.06.11 24
  • 25. Different Parts Require Different Architecture ►  So far: Catalog >  Data must be available on each node >  Slight inconsistencies are OK Application >  i.e. new item added to catalog ►  Stock information should be consistent >  So customers are not disappointed Catalog >  Might use caching-like structure ►  Orders are immediately send to the back end >  No local storage at all Order ►  A lot more catalog browsing than ordering 29.06.11 25
  • 26. More load on catalog -> Less load on order -> More instances Less instances Catalog Catalog Order No local Stock Stock data Database Database All send to Cache Cache backend Updates Stock Master 29.06.11 26
  • 27. Handling Log Files ►  Business requirements >  Need to measure hits on web pages >  Need to measure hits for individual products etc. ►  Sounds like a batch >  File in, statistics out ►  But: Data is globally distributed ►  Lots of data i.e. cannot be collected at a central place ►  Data should stay where it is ►  Some nodes might be offline or not available ►  Prefer incomplete answer over no answer at all 29.06.11 27
  • 28. More Than CAP ►  CAP Theorem again ►  Consistency, Availability, Network Partitioning ►  You can only have two ►  But: We want Availability ►  …and a flexible trade off between Consistency and Network Partitioning ►  Like Casssandra C ►  I.e. CAP theorem is not the proper way to think about this P A 29.06.11 28
  • 29. Harvest and Yield ►  Yield: Probability of completing a request ►  Harvest: Fraction of data represented in the result ►  Harvest and Yield vs. CAP ►  Yield = 100% -> Availability ►  Harvest = 100% -> Consistency ►  Can be used to think about Cassandra configurations ►  Can also be used to execute some logic on all data ►  …and wait until enough harvest is there to answer a query ►  So: Send out a query to all log files ►  …and collect the results 29.06.11 29
  • 30. Map / Reduce ►  Map: Apply a function to all data >  Emit (item name, 1) for each log file line ►  Master sorts by item name ►  Reduce: Add all (item name, 1) to the total score ►  Map can be done on any node ►  Master collects data Reduce Map Map
  • 31. Another Case Study ►  Financials ►  Build a Highly Available, High Throughput System, Low Latency System on Standard Hardware! ►  Just like Google and Amazon ►  Driver: Standard infrastructure – cheap and stable ►  Driver: Even more availability, throughput, scalability and lower latency ►  You will need to consider CAP, BASE, Harvest & Yield etc. ►  Very likely in a Private Cloud 29.06.11 31
  • 32. Another Case Study ►  Random Project ►  Make deployment easier! ►  Make it easy to create test environment! ►  Driver: Business Agility and Developer Productivity ►  Will need to use automated installation + IaaS or PaaS ►  Might be in a Public or Private Cloud 29.06.11 32
  • 33. Custom Self Service Portal 29.06.11 33
  • 34. Conclusion ►  Current PaaS allow to run Enterprise applications unchanged ►  At one point you will need to change ►  CAP: Consistency, Availability, Partition Tolerance – choose two ►  Cloud: AP, no C ►  BASE: Basically Available, Soft State, Eventually Consistent ►  Can be implemented using Event Sourcing ►  …or a NoSQL persistence solution ►  Create multiple deployment artifacts to scale each part ►  Harvest / Yield: Fine grained CAP ►  Map / Reduce to run batches in the Cloud 29.06.11 34