SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
Eberhard Wolff
adesso AG

Applications in the Cloud
About me
•    Eberhard Wolff
•    Architecture & Technology Manager at adesso
•    adesso is a leading IT consultancy in Germany
•    Speaker
•    Author (e.g. first German Spring book)
•    Blog: http://ewolff.com
•    Twitter: @ewolff
•    http://slideshare.com/ewolff
•    eberhard.wolff@adesso.de
How Is Cloud
 Different?
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?
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
 Application     •  Standard
   (Order,          Enterprise
Configuration,
  Catalog)
                    Architecture

                 •  Relational
                    database
  Database
Spring Biking: Architecture
Wait, didn’t you
  Application
    (Order,
                  •  Standard
                     Enterprise

say it should run
 Configuration,
   Catalog)
                     Architecture

                  •  Relational
in the Cloud?
   Database
                     database
How Spring Biking Deals with
         Cloud Challenges
•  No state on the web tier
   –  i.e. no session
                                              Application
   –  State stored in database
•  Easy to automatically start new              (Order,
   instances if load increases               Configuration,
•  Every PaaS should deal with elastic         Catalog)
   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
How Spring Biking Deals with
        Cloud Challenges
•  Relational database fine for now
   –  Example: Amazon RDS (Relational
      Database Service)
   –  MySQL and Oracle                            Database
   –  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
   –  Latency effects revenue
      •  Every 100ms latency costs Amazon 1% of
         revenue
   –  So add CDN to lower latency
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!
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
   –  Latency
   –  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
CAP Theorem
•  Consistency
   –  All nodes see the same data

•  Availability
   –  Node failure do not prevent survivors from operating
                                                    C
•  Partition Tolerance
   –  System continues to operate despite
      arbitrary message loss
                                             P               A
•  Can at max have two
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                                         C
  –  Shutting down nodes is no option
•  Need P – Partition Tolerance
  –  Network is not under your control   P                 A
  –  Lots of nodes -> partitioning even more likely
•  No chance for C – Consistency
  –  Because we can’t
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…
BASE in Spring Biking
    Application         Application   Application




     Database           Database      Database

      EU-West             US-East       Asia-Pacific


Changes to catalog
Eventually propagated
Network Partitioning
    Application           Application   Application




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


           Network
           Partitioning
BASE Using Event Sourcing

                                             Event            Domain
•  Do it yourself using a                                      Model
   messaging system
   –    JMS, RabbitMQ …
   –    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.
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
More Sophisticated
•  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
Different Parts Require Different
             Architecture    Application
•  So far: Catalog
  –  Data must be available on each node
                                           Catalog
  –  Slight inconsistencies are OK
  –  i.e. new item added to catalog
•  Stock information must be consistent
  –  So customers are not disappointed         Order
  –  Might use caching-like structure
•  Orders are immediately send to the back end
  –  No local storage at all
•  A lot more catalog browsing than ordering
More load on catalog ->          Less load on order ->
                More instances                   Less instances


     Catalog                         Catalog               Order


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


     Updates
                                     Stock
                                     Master
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
More Than CAP
•  CAP Theorem again
•  Consistency, Availability, Network Partitioning
•  You can only have two                     C


•  But: We want Availability
•  …and a flexible trade off between P               A
   Consistency and Network Partitioning
•  Like Casssandra
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
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                     Reduce

•  Map can be done on any node
•  Master collects data 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
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
Custom Self Service Portal
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
Wir suchen Sie als
!    Software-Architekt (m/w)
!    Projektleiter (m/w)
!    Senior Software Engineer (m/w)


!    Kommen Sie zum Stand und gewinnen Sie ein iPad 2!

 jobs@adesso.de
 www.AAAjobs.de

Mais conteúdo relacionado

Mais procurados

Big Data and Hadoop - History, Technical Deep Dive, and Industry Trends
Big Data and Hadoop - History, Technical Deep Dive, and Industry TrendsBig Data and Hadoop - History, Technical Deep Dive, and Industry Trends
Big Data and Hadoop - History, Technical Deep Dive, and Industry TrendsEsther Kundin
 
Transforming Data Architecture Complexity at Sears - StampedeCon 2013
Transforming Data Architecture Complexity at Sears - StampedeCon 2013Transforming Data Architecture Complexity at Sears - StampedeCon 2013
Transforming Data Architecture Complexity at Sears - StampedeCon 2013StampedeCon
 
AWS Webcast - Introduction to RDS Low Admin High Perf DBS
AWS Webcast - Introduction to RDS Low Admin High Perf DBSAWS Webcast - Introduction to RDS Low Admin High Perf DBS
AWS Webcast - Introduction to RDS Low Admin High Perf DBSAmazon Web Services
 
AWS Storage Tiers for Enterprise Workloads - Best Practices (STG301) | AWS re...
AWS Storage Tiers for Enterprise Workloads - Best Practices (STG301) | AWS re...AWS Storage Tiers for Enterprise Workloads - Best Practices (STG301) | AWS re...
AWS Storage Tiers for Enterprise Workloads - Best Practices (STG301) | AWS re...Amazon Web Services
 
Divide and conquer in the cloud
Divide and conquer in the cloudDivide and conquer in the cloud
Divide and conquer in the cloudJustin Swanhart
 
Using Hot and Cold Data in your SAP Analytics Landscape
Using Hot and Cold Data in your SAP Analytics LandscapeUsing Hot and Cold Data in your SAP Analytics Landscape
Using Hot and Cold Data in your SAP Analytics Landscapesapbisignz
 
Bigdata workshop february 2015
Bigdata workshop  february 2015 Bigdata workshop  february 2015
Bigdata workshop february 2015 clairvoyantllc
 
Introduction to AWS Database Services
Introduction to AWS Database ServicesIntroduction to AWS Database Services
Introduction to AWS Database ServicesAmazon Web Services
 
An introduction into Spark ML plus how to go beyond when you get stuck
An introduction into Spark ML plus how to go beyond when you get stuckAn introduction into Spark ML plus how to go beyond when you get stuck
An introduction into Spark ML plus how to go beyond when you get stuckData Con LA
 
Apache Tez : Accelerating Hadoop Query Processing
Apache Tez : Accelerating Hadoop Query ProcessingApache Tez : Accelerating Hadoop Query Processing
Apache Tez : Accelerating Hadoop Query ProcessingBikas Saha
 
Deploying Apache Flume to enable low-latency analytics
Deploying Apache Flume to enable low-latency analyticsDeploying Apache Flume to enable low-latency analytics
Deploying Apache Flume to enable low-latency analyticsDataWorks Summit
 
Apache Hadoop YARN: Present and Future
Apache Hadoop YARN: Present and FutureApache Hadoop YARN: Present and Future
Apache Hadoop YARN: Present and FutureDataWorks Summit
 
Admission Control in Impala
Admission Control in ImpalaAdmission Control in Impala
Admission Control in ImpalaCloudera, Inc.
 
Operationalizing YARN based Hadoop Clusters in the Cloud
Operationalizing YARN based Hadoop Clusters in the CloudOperationalizing YARN based Hadoop Clusters in the Cloud
Operationalizing YARN based Hadoop Clusters in the CloudDataWorks Summit/Hadoop Summit
 
Tune up Yarn and Hive
Tune up Yarn and HiveTune up Yarn and Hive
Tune up Yarn and Hiverxu
 
Hadoop Backup and Disaster Recovery
Hadoop Backup and Disaster RecoveryHadoop Backup and Disaster Recovery
Hadoop Backup and Disaster RecoveryCloudera, Inc.
 
Impala Resource Management - OUTDATED
Impala Resource Management - OUTDATEDImpala Resource Management - OUTDATED
Impala Resource Management - OUTDATEDMatthew Jacobs
 
Diagnosing MySQL performance problems
Diagnosing  MySQL performance problemsDiagnosing  MySQL performance problems
Diagnosing MySQL performance problemsJustin Swanhart
 

Mais procurados (20)

Big Data and Hadoop - History, Technical Deep Dive, and Industry Trends
Big Data and Hadoop - History, Technical Deep Dive, and Industry TrendsBig Data and Hadoop - History, Technical Deep Dive, and Industry Trends
Big Data and Hadoop - History, Technical Deep Dive, and Industry Trends
 
Transforming Data Architecture Complexity at Sears - StampedeCon 2013
Transforming Data Architecture Complexity at Sears - StampedeCon 2013Transforming Data Architecture Complexity at Sears - StampedeCon 2013
Transforming Data Architecture Complexity at Sears - StampedeCon 2013
 
AWS Webcast - Introduction to RDS Low Admin High Perf DBS
AWS Webcast - Introduction to RDS Low Admin High Perf DBSAWS Webcast - Introduction to RDS Low Admin High Perf DBS
AWS Webcast - Introduction to RDS Low Admin High Perf DBS
 
AWS Storage Tiers for Enterprise Workloads - Best Practices (STG301) | AWS re...
AWS Storage Tiers for Enterprise Workloads - Best Practices (STG301) | AWS re...AWS Storage Tiers for Enterprise Workloads - Best Practices (STG301) | AWS re...
AWS Storage Tiers for Enterprise Workloads - Best Practices (STG301) | AWS re...
 
Divide and conquer in the cloud
Divide and conquer in the cloudDivide and conquer in the cloud
Divide and conquer in the cloud
 
Using Hot and Cold Data in your SAP Analytics Landscape
Using Hot and Cold Data in your SAP Analytics LandscapeUsing Hot and Cold Data in your SAP Analytics Landscape
Using Hot and Cold Data in your SAP Analytics Landscape
 
Bigdata workshop february 2015
Bigdata workshop  february 2015 Bigdata workshop  february 2015
Bigdata workshop february 2015
 
Introduction to AWS Database Services
Introduction to AWS Database ServicesIntroduction to AWS Database Services
Introduction to AWS Database Services
 
An introduction into Spark ML plus how to go beyond when you get stuck
An introduction into Spark ML plus how to go beyond when you get stuckAn introduction into Spark ML plus how to go beyond when you get stuck
An introduction into Spark ML plus how to go beyond when you get stuck
 
Apache Tez : Accelerating Hadoop Query Processing
Apache Tez : Accelerating Hadoop Query ProcessingApache Tez : Accelerating Hadoop Query Processing
Apache Tez : Accelerating Hadoop Query Processing
 
Deploying Apache Flume to enable low-latency analytics
Deploying Apache Flume to enable low-latency analyticsDeploying Apache Flume to enable low-latency analytics
Deploying Apache Flume to enable low-latency analytics
 
Apache Hadoop YARN: Present and Future
Apache Hadoop YARN: Present and FutureApache Hadoop YARN: Present and Future
Apache Hadoop YARN: Present and Future
 
Admission Control in Impala
Admission Control in ImpalaAdmission Control in Impala
Admission Control in Impala
 
Operationalizing YARN based Hadoop Clusters in the Cloud
Operationalizing YARN based Hadoop Clusters in the CloudOperationalizing YARN based Hadoop Clusters in the Cloud
Operationalizing YARN based Hadoop Clusters in the Cloud
 
Tune up Yarn and Hive
Tune up Yarn and HiveTune up Yarn and Hive
Tune up Yarn and Hive
 
Hadoop Backup and Disaster Recovery
Hadoop Backup and Disaster RecoveryHadoop Backup and Disaster Recovery
Hadoop Backup and Disaster Recovery
 
The Impala Cookbook
The Impala CookbookThe Impala Cookbook
The Impala Cookbook
 
Cloudera Impala
Cloudera ImpalaCloudera Impala
Cloudera Impala
 
Impala Resource Management - OUTDATED
Impala Resource Management - OUTDATEDImpala Resource Management - OUTDATED
Impala Resource Management - OUTDATED
 
Diagnosing MySQL performance problems
Diagnosing  MySQL performance problemsDiagnosing  MySQL performance problems
Diagnosing MySQL performance problems
 

Destaque

Solucion 2
Solucion 2Solucion 2
Solucion 2roampa
 
Google Dart Pecha Kucha from OOP 2012
Google Dart Pecha Kucha from OOP 2012Google Dart Pecha Kucha from OOP 2012
Google Dart Pecha Kucha from OOP 2012Eberhard Wolff
 
C:\Documents And Settings\Administrador\Escritorio\Administrador De Dispositivos
C:\Documents And Settings\Administrador\Escritorio\Administrador De DispositivosC:\Documents And Settings\Administrador\Escritorio\Administrador De Dispositivos
C:\Documents And Settings\Administrador\Escritorio\Administrador De Dispositivosroampa
 
Ten Advices for Architects
Ten Advices for ArchitectsTen Advices for Architects
Ten Advices for ArchitectsEberhard Wolff
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryEberhard Wolff
 
Java Application Servers Are Dead!
Java Application Servers Are Dead!Java Application Servers Are Dead!
Java Application Servers Are Dead!Eberhard Wolff
 

Destaque (7)

Solucion 2
Solucion 2Solucion 2
Solucion 2
 
Google Dart Pecha Kucha from OOP 2012
Google Dart Pecha Kucha from OOP 2012Google Dart Pecha Kucha from OOP 2012
Google Dart Pecha Kucha from OOP 2012
 
C:\Documents And Settings\Administrador\Escritorio\Administrador De Dispositivos
C:\Documents And Settings\Administrador\Escritorio\Administrador De DispositivosC:\Documents And Settings\Administrador\Escritorio\Administrador De Dispositivos
C:\Documents And Settings\Administrador\Escritorio\Administrador De Dispositivos
 
Future of Java
Future of JavaFuture of Java
Future of Java
 
Ten Advices for Architects
Ten Advices for ArchitectsTen Advices for Architects
Ten Advices for Architects
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous Delivery
 
Java Application Servers Are Dead!
Java Application Servers Are Dead!Java Application Servers Are Dead!
Java Application Servers Are Dead!
 

Semelhante a Eberhard Wolff of adesso AG Discusses Cloud Architectures for Global Applications

Building Your Data Warehouse with Amazon Redshift
Building Your Data Warehouse with Amazon RedshiftBuilding Your Data Warehouse with Amazon Redshift
Building Your Data Warehouse with Amazon RedshiftAmazon Web Services
 
FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...
FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...
FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...Mohamed Sayed
 
Storage Systems For Scalable systems
Storage Systems For Scalable systemsStorage Systems For Scalable systems
Storage Systems For Scalable systemselliando dias
 
Data at Scale - Michael Peacock, Cloud Connect 2012
Data at Scale - Michael Peacock, Cloud Connect 2012Data at Scale - Michael Peacock, Cloud Connect 2012
Data at Scale - Michael Peacock, Cloud Connect 2012Michael Peacock
 
No sql databases
No sql databases No sql databases
No sql databases Ankit Dubey
 
Yes sql08 inmemorydb
Yes sql08 inmemorydbYes sql08 inmemorydb
Yes sql08 inmemorydbDaniel Austin
 
Ceate a Scalable Cloud Architecture
Ceate a Scalable Cloud ArchitectureCeate a Scalable Cloud Architecture
Ceate a Scalable Cloud ArchitectureAmazon Web Services
 
AWS re:Invent 2013 Recap
AWS re:Invent 2013 RecapAWS re:Invent 2013 Recap
AWS re:Invent 2013 RecapBarry Jones
 
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedInJay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedInLinkedIn
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWSTom Laszewski
 
Petabyte scale on commodity infrastructure
Petabyte scale on commodity infrastructurePetabyte scale on commodity infrastructure
Petabyte scale on commodity infrastructureelliando dias
 
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and InfrastrctureRevolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and Infrastrcturesabnees
 
AWS Webcast - Managing Big Data in the AWS Cloud_20140924
AWS Webcast - Managing Big Data in the AWS Cloud_20140924AWS Webcast - Managing Big Data in the AWS Cloud_20140924
AWS Webcast - Managing Big Data in the AWS Cloud_20140924Amazon Web Services
 
High Performance Computing - Cloud Point of View
High Performance Computing - Cloud Point of ViewHigh Performance Computing - Cloud Point of View
High Performance Computing - Cloud Point of Viewaragozin
 
M6d cassandrapresentation
M6d cassandrapresentationM6d cassandrapresentation
M6d cassandrapresentationEdward Capriolo
 
AWS Innovation at Scale – Rodney Haywood
AWS Innovation at Scale – Rodney HaywoodAWS Innovation at Scale – Rodney Haywood
AWS Innovation at Scale – Rodney HaywoodAmazon Web Services
 

Semelhante a Eberhard Wolff of adesso AG Discusses Cloud Architectures for Global Applications (20)

Building Your Data Warehouse with Amazon Redshift
Building Your Data Warehouse with Amazon RedshiftBuilding Your Data Warehouse with Amazon Redshift
Building Your Data Warehouse with Amazon Redshift
 
FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...
FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...
FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...
 
Storage Systems For Scalable systems
Storage Systems For Scalable systemsStorage Systems For Scalable systems
Storage Systems For Scalable systems
 
Data at Scale - Michael Peacock, Cloud Connect 2012
Data at Scale - Michael Peacock, Cloud Connect 2012Data at Scale - Michael Peacock, Cloud Connect 2012
Data at Scale - Michael Peacock, Cloud Connect 2012
 
NoSQL_Night
NoSQL_NightNoSQL_Night
NoSQL_Night
 
No sql databases
No sql databases No sql databases
No sql databases
 
Yes sql08 inmemorydb
Yes sql08 inmemorydbYes sql08 inmemorydb
Yes sql08 inmemorydb
 
Create cloud service on AWS
Create cloud service on AWSCreate cloud service on AWS
Create cloud service on AWS
 
Ceate a Scalable Cloud Architecture
Ceate a Scalable Cloud ArchitectureCeate a Scalable Cloud Architecture
Ceate a Scalable Cloud Architecture
 
AWS re:Invent 2013 Recap
AWS re:Invent 2013 RecapAWS re:Invent 2013 Recap
AWS re:Invent 2013 Recap
 
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedInJay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
 
Petabyte scale on commodity infrastructure
Petabyte scale on commodity infrastructurePetabyte scale on commodity infrastructure
Petabyte scale on commodity infrastructure
 
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and InfrastrctureRevolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
 
AWS Webcast - Managing Big Data in the AWS Cloud_20140924
AWS Webcast - Managing Big Data in the AWS Cloud_20140924AWS Webcast - Managing Big Data in the AWS Cloud_20140924
AWS Webcast - Managing Big Data in the AWS Cloud_20140924
 
High Performance Computing - Cloud Point of View
High Performance Computing - Cloud Point of ViewHigh Performance Computing - Cloud Point of View
High Performance Computing - Cloud Point of View
 
AWS Innovation at Scale
AWS Innovation at ScaleAWS Innovation at Scale
AWS Innovation at Scale
 
M6d cassandrapresentation
M6d cassandrapresentationM6d cassandrapresentation
M6d cassandrapresentation
 
Spring in the Cloud
Spring in the CloudSpring in the Cloud
Spring in the Cloud
 
AWS Innovation at Scale – Rodney Haywood
AWS Innovation at Scale – Rodney HaywoodAWS Innovation at Scale – Rodney Haywood
AWS Innovation at Scale – Rodney Haywood
 

Mais de Eberhard Wolff

Architectures and Alternatives
Architectures and AlternativesArchitectures and Alternatives
Architectures and AlternativesEberhard Wolff
 
The Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryThe Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryEberhard Wolff
 
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, AsyncEberhard Wolff
 
Microservices - not just with Java
Microservices - not just with JavaMicroservices - not just with Java
Microservices - not just with JavaEberhard Wolff
 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!Eberhard Wolff
 
Data Architecture not Just for Microservices
Data Architecture not Just for MicroservicesData Architecture not Just for Microservices
Data Architecture not Just for MicroservicesEberhard Wolff
 
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 MicroservicesEberhard Wolff
 
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 AgileEberhard Wolff
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?Eberhard Wolff
 
Data Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesData Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesEberhard Wolff
 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityEberhard Wolff
 
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 MicroservicesEberhard Wolff
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology StackEberhard Wolff
 
Software Architecture for Innovation
Software Architecture for InnovationSoftware Architecture for Innovation
Software Architecture for InnovationEberhard Wolff
 
Nanoservices and Microservices with Java
Nanoservices and Microservices with JavaNanoservices and Microservices with Java
Nanoservices and Microservices with JavaEberhard Wolff
 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support AgileEberhard Wolff
 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale AgileEberhard Wolff
 
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 BuzzwordsEberhard Wolff
 
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?Eberhard Wolff
 

Mais de 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
 
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
 
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
 

Último

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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 WorkerThousandEyes
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Último (20)

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Eberhard Wolff of adesso AG Discusses Cloud Architectures for Global Applications

  • 2. About me •  Eberhard Wolff •  Architecture & Technology Manager at adesso •  adesso is a leading IT consultancy in Germany •  Speaker •  Author (e.g. first German Spring book) •  Blog: http://ewolff.com •  Twitter: @ewolff •  http://slideshare.com/ewolff •  eberhard.wolff@adesso.de
  • 3. How Is Cloud Different?
  • 4. How Is Cloud Different?
  • 5.
  • 6. •  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?
  • 7. 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
  • 8. Spring Biking: Architecture Application •  Standard (Order, Enterprise Configuration, Catalog) Architecture •  Relational database Database
  • 9. Spring Biking: Architecture Wait, didn’t you Application (Order, •  Standard Enterprise say it should run Configuration, Catalog) Architecture •  Relational in the Cloud? Database database
  • 10. How Spring Biking Deals with Cloud Challenges •  No state on the web tier –  i.e. no session Application –  State stored in database •  Easy to automatically start new (Order, instances if load increases Configuration, •  Every PaaS should deal with elastic Catalog) 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
  • 11. How Spring Biking Deals with Cloud Challenges •  Relational database fine for now –  Example: Amazon RDS (Relational Database Service) –  MySQL and Oracle Database –  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 –  Latency effects revenue •  Every 100ms latency costs Amazon 1% of revenue –  So add CDN to lower latency
  • 12. 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!
  • 13. 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 –  Latency –  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
  • 14. CAP Theorem •  Consistency –  All nodes see the same data •  Availability –  Node failure do not prevent survivors from operating C •  Partition Tolerance –  System continues to operate despite arbitrary message loss P A •  Can at max have two
  • 15. CAP Theorem Consistency RDBMS Quorum 2 Phase Commit Partition Tolerance Replication DNS Availability
  • 16. CAP Theorem in the Cloud •  Need A – Availability –  A system that is not available is usually the worst thing C –  Shutting down nodes is no option •  Need P – Partition Tolerance –  Network is not under your control P A –  Lots of nodes -> partitioning even more likely •  No chance for C – Consistency –  Because we can’t
  • 17. 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…
  • 18. BASE in Spring Biking Application Application Application Database Database Database EU-West US-East Asia-Pacific Changes to catalog Eventually propagated
  • 19. Network Partitioning Application Application Application Database Database Database Eventually Inconsistent data is EU-West US-East Asia-Pacific consistent Network Partitioning
  • 20. BASE Using Event Sourcing Event Domain •  Do it yourself using a Model messaging system –  JMS, RabbitMQ … –  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.
  • 21. 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
  • 22. More Sophisticated •  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
  • 23. Different Parts Require Different Architecture Application •  So far: Catalog –  Data must be available on each node Catalog –  Slight inconsistencies are OK –  i.e. new item added to catalog •  Stock information must be consistent –  So customers are not disappointed Order –  Might use caching-like structure •  Orders are immediately send to the back end –  No local storage at all •  A lot more catalog browsing than ordering
  • 24. More load on catalog -> Less load on order -> More instances Less instances Catalog Catalog Order No local Stock Stock data Database Database All send Cache Cache to backend Updates Stock Master
  • 25. 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
  • 26. More Than CAP •  CAP Theorem again •  Consistency, Availability, Network Partitioning •  You can only have two C •  But: We want Availability •  …and a flexible trade off between P A Consistency and Network Partitioning •  Like Casssandra
  • 27. 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
  • 28. 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 Reduce •  Map can be done on any node •  Master collects data Map Map
  • 29. 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
  • 30. 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
  • 32. 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
  • 33. Wir suchen Sie als !  Software-Architekt (m/w) !  Projektleiter (m/w) !  Senior Software Engineer (m/w) !  Kommen Sie zum Stand und gewinnen Sie ein iPad 2! jobs@adesso.de www.AAAjobs.de