SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Trends in Enterprise Applications Architecture
An overview of upcoming changes




  1/6/2011                             Michaël Figuière
Buzzwords are around...


                          Elasticity
      NoSQL

                  Cloud
                               Distributed

   Scalability
                  Virtualization
Enterprise applications, nowadays
Enterprise applications architecture

• Huge, monolithic architectures are no longer the trends
         Service Oriented Architecture is ubiquitous


• SOA is now mature, not dead
         After extremism, pragmatism is now the trend


• Web applications are everywhere, REST is around
         Frontier between Web and Services is now blurred
Service Oriented Architecture
Service Oriented Architecture
                                 How to make it scale
                                exactly to our needs ?
The Cloud
Cloud Computing principles

• Abstraction
          SaaS, PaaS, IaaS, ... actually « (.*) as a Service »



• Automation
          Reduces manual tasks as much as possible



• Elasticity
          Scale up or down depending on the current needs
Cloud’s basic abstractions

       Owned by the Cloud Provider

       Owned by the enterprise                              Provides a
                                                            middleware


                                   SaaS


                 Application
 Client / User                                PaaS
                   Web

                 Application
                                 Middleware          IaaS
                   Web


                                                            Provides an
                                                            empty server
Cloud and automation

• Resources provided by the Cloud are exposed as services
        Makes it possible to allocate a new server, create a new
        database, or change network security with a service call

• Maintenance and deployment tasks can be easily scripted
        Reduce manual talks necessary for infrastructure changes



• The Cloud provider handles the maintenance tasks
        The customer keep focused on the application development
Cloud and elasticity

• Automation ability makes it possible to easily start and stop instances
         And subscribe / unsubscribe from load-balancer


• Elasticity makes it possible to make allocated resources stick to current load
         Pay only what you use


• Elasticity makes it possible to handle very high peak of load



• Simplifies capacity planning
Elasticity in action


                         Service
                       Instance 1
                                      Storage
                                    Instance 1
         Web             Service
      Instance 1       Instance 2
                                      Storage
                                    Instance 2
         Web             Service
      Instance 2       Instance 3
                                      Storage
                                    Instance 3
                         Service
                       Instance 4
Public Cloud players
Public Cloud vs. Private Cloud




                                 Typical server load
                                 during a whole day
Public Cloud vs. Private Cloud



                                 Public Cloud




                                 Private Cloud
Example at guardian.co.uk
But the Cloud magic comes at a price
Elasticity requires symmetric instances


                       Service
                     Instance 1
                                       Storage
                                     Instance 1
        Web            Service
     Instance 1      Instance 2
                                       Storage
                                     Instance 2
        Web            Service
     Instance 2      Instance 3
                                       Storage
                                     Instance 3
                       Service
                     Instance 4
Elasticity requires symmetric instances


                       Service
                     Instance 1
                                       Storage
                                     Instance 1
        Web            Service
     Instance 1      Instance 2
                                       Storage
                                     Instance 2
        Web            Service
     Instance 2      Instance 3
                                       Storage
                                     Instance 3
                       Service
                     Instance 4
Some solutions

• Leader election can be used to avoid symmetric issue

         Zookeeper is a cluster management framework



• Other tools can be used to make the set of instances more collaborative
         Zookeeper provides distributed locks, queues, states...



• Cloud providers solutions can be used

         Amazon RDS, SimpleDB, Google BigTable, ...
Configuration and logging
Application’ inputs and outputs


    Input                                  Output



                  Application / Service




                                           Logs /
 Configuration
                                          Monitoring
Application’ inputs and outputs


    Input                                  Output



                  Application / Service




                                           Logs /
 Configuration
                                          Monitoring
Application’ inputs and outputs


    Input               ok                 Output



                  Application / Service




                                           Logs /


                          ?
 Configuration
                                          Monitoring
Typical Configuration

• .properties or .xml files are typically used for configuration

         Large enterprises applications may have 100+ conf files...



• Puppet, CfEngine and Chef can help
         ... but isn’t it just a hack ?



• Finally, most settings aren’t used

         ... and developers may not know their meaning
Configuration options are a hope that your users, with
less knowledge of how the system works, will find the
right solution where you didn't.

                                                  Jonathan Ellis
                               Project Leader Apache Cassandra
Another way to configure

• Uses zookeeper to maintain the current application configuration

         Highly available and consistent distributed storage


• Uses your Cloud provider storage and tools
         S3 buckets, Elastic Block Store


• Reduce configuration options to minimum

        There is probably too much options...


• Uses Convention over Configuration
Typical Logs

• Append-only text files, stored locally or sent to Syslog

         Can be large for especially with stacktraces, ...



• Queried with Grep, Sed, Awk, ...
         Simple but doesn’t fit for complex queries



• A Regex implicitly defines the schema of the log

         The customer keep focused on the application development
Typical Logs




               Regex acts as a non
                 negotiated schema
Logs as a dataset

• Logs made of serialized plain entities

         Log Schema updates are easier



• Centralized and combined for easy query through MapReduce
         Any query can be executed



• Some command-line tools can be provided for simple queries
Logging as a Service



                             Applications send their logs
                             to Loggly which provides
                             some added value features




    Compared to a vendor
solution, Loggly benefits
      from a shorter and
   richer feedback loops
Traditional Design vs. Design for failures
Traditional Design

• Technical errors typically redirect the user to an error page

         SQLException, IOException, unavailable backend...



• Some single points of failure, or bottlenecks
         Highly available stateful services may be expensive



• Timeouts and slow backends, are typically not handled
         One backend gets slow and the whole application slows
         down
Design for failures

• Failures will happen

         Let’s embrace them rather than avoid them



• Handle slow backends and timeout with circuit breakers
         The application may use graceful degradation



• Cloud and NoSQL brings some highly available storage
         The most critical data can then be made highly available
Summary of interests for enterprises

• Elasticity helps to reduce costs and to handle high load

         and simplifies capacity planning


• Cloud is high availability provided by experts
         Avoid expensive, custom and/or brittle solutions


• Cloud middleware can be expected to gain quality quickly

         Thanks to reduced and richer feedback loop


• But .... JEE 7 won’t come before 2013 / 2014
Questions / Answers




                       ?
                      blog.xebia.fr
                      @mfiguiere

Weitere ähnliche Inhalte

Was ist angesagt?

Top 5 AWS Services that you will want to integrate with the VMware Cloud on AWS!
Top 5 AWS Services that you will want to integrate with the VMware Cloud on AWS!Top 5 AWS Services that you will want to integrate with the VMware Cloud on AWS!
Top 5 AWS Services that you will want to integrate with the VMware Cloud on AWS!Adrian Hornsby
 
Windows Azure: Is Azure right for you?
Windows Azure: Is Azure right for you?Windows Azure: Is Azure right for you?
Windows Azure: Is Azure right for you?Intergen
 
Architecting Multi-Cloud Applications - Myth or Reality?
Architecting Multi-Cloud Applications - Myth or Reality?Architecting Multi-Cloud Applications - Myth or Reality?
Architecting Multi-Cloud Applications - Myth or Reality?aravindajju
 
High Performance Web Applications
High Performance Web ApplicationsHigh Performance Web Applications
High Performance Web ApplicationsAmazon Web Services
 
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh VariaAWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh VariaAmazon Web Services
 
Client presentation ibm private modular cloud_082013
Client presentation ibm private modular cloud_082013Client presentation ibm private modular cloud_082013
Client presentation ibm private modular cloud_082013jimmykibm
 
VMware and AWS Together - VMware Cloud on AWS
VMware and AWS Together  - VMware Cloud on AWSVMware and AWS Together  - VMware Cloud on AWS
VMware and AWS Together - VMware Cloud on AWSKristana Kane
 
VMWare Cloud for the AWS Cloud | AWS Public Sector Summit 2017
VMWare Cloud for the AWS Cloud | AWS Public Sector Summit 2017VMWare Cloud for the AWS Cloud | AWS Public Sector Summit 2017
VMWare Cloud for the AWS Cloud | AWS Public Sector Summit 2017Amazon Web Services
 
Cloud Architecture: Patterns and Best Practices
Cloud Architecture: Patterns and Best PracticesCloud Architecture: Patterns and Best Practices
Cloud Architecture: Patterns and Best PracticesSascha Möllering
 
VMware on AWS A Technical Deep Dive PPT
VMware on AWS A Technical Deep Dive PPTVMware on AWS A Technical Deep Dive PPT
VMware on AWS A Technical Deep Dive PPTAmazon Web Services
 
ENT307 VMware and AWS Together - VMware Cloud on AWS
ENT307 VMware and AWS Together - VMware Cloud on AWSENT307 VMware and AWS Together - VMware Cloud on AWS
ENT307 VMware and AWS Together - VMware Cloud on AWSAmazon Web Services
 
Cloud 101 - Workshop from Gov2.0 in DC, May 2010
Cloud 101 - Workshop from Gov2.0 in DC, May 2010Cloud 101 - Workshop from Gov2.0 in DC, May 2010
Cloud 101 - Workshop from Gov2.0 in DC, May 2010Alistair Croll
 
Cost Optimisation with Amazon Web Services
 Cost Optimisation with Amazon Web Services Cost Optimisation with Amazon Web Services
Cost Optimisation with Amazon Web ServicesAmazon Web Services
 
Simplified backup for Azure and AWS
Simplified backup for Azure and AWSSimplified backup for Azure and AWS
Simplified backup for Azure and AWSChris Bullock
 
Azure vmware solutions para partners
Azure vmware solutions para partnersAzure vmware solutions para partners
Azure vmware solutions para partnersskadobayashi
 
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid CloudsBe Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid CloudsEucalyptus Systems, Inc.
 
AWS Hybrid Cloud Connectivity - VPN Solutions
AWS Hybrid Cloud Connectivity - VPN SolutionsAWS Hybrid Cloud Connectivity - VPN Solutions
AWS Hybrid Cloud Connectivity - VPN SolutionsKent Plummer
 
Hanu cloud computing expertise
Hanu cloud computing expertiseHanu cloud computing expertise
Hanu cloud computing expertiseHanu Software
 

Was ist angesagt? (20)

Top 5 AWS Services that you will want to integrate with the VMware Cloud on AWS!
Top 5 AWS Services that you will want to integrate with the VMware Cloud on AWS!Top 5 AWS Services that you will want to integrate with the VMware Cloud on AWS!
Top 5 AWS Services that you will want to integrate with the VMware Cloud on AWS!
 
Windows Azure: Is Azure right for you?
Windows Azure: Is Azure right for you?Windows Azure: Is Azure right for you?
Windows Azure: Is Azure right for you?
 
Architecting Multi-Cloud Applications - Myth or Reality?
Architecting Multi-Cloud Applications - Myth or Reality?Architecting Multi-Cloud Applications - Myth or Reality?
Architecting Multi-Cloud Applications - Myth or Reality?
 
Pmc juniper
Pmc juniperPmc juniper
Pmc juniper
 
High Performance Web Applications
High Performance Web ApplicationsHigh Performance Web Applications
High Performance Web Applications
 
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh VariaAWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
 
Client presentation ibm private modular cloud_082013
Client presentation ibm private modular cloud_082013Client presentation ibm private modular cloud_082013
Client presentation ibm private modular cloud_082013
 
VMware and AWS Together - VMware Cloud on AWS
VMware and AWS Together  - VMware Cloud on AWSVMware and AWS Together  - VMware Cloud on AWS
VMware and AWS Together - VMware Cloud on AWS
 
VMWare Cloud for the AWS Cloud | AWS Public Sector Summit 2017
VMWare Cloud for the AWS Cloud | AWS Public Sector Summit 2017VMWare Cloud for the AWS Cloud | AWS Public Sector Summit 2017
VMWare Cloud for the AWS Cloud | AWS Public Sector Summit 2017
 
Cloud Architecture: Patterns and Best Practices
Cloud Architecture: Patterns and Best PracticesCloud Architecture: Patterns and Best Practices
Cloud Architecture: Patterns and Best Practices
 
VMware on AWS A Technical Deep Dive PPT
VMware on AWS A Technical Deep Dive PPTVMware on AWS A Technical Deep Dive PPT
VMware on AWS A Technical Deep Dive PPT
 
ENT307 VMware and AWS Together - VMware Cloud on AWS
ENT307 VMware and AWS Together - VMware Cloud on AWSENT307 VMware and AWS Together - VMware Cloud on AWS
ENT307 VMware and AWS Together - VMware Cloud on AWS
 
Cloud 101 - Workshop from Gov2.0 in DC, May 2010
Cloud 101 - Workshop from Gov2.0 in DC, May 2010Cloud 101 - Workshop from Gov2.0 in DC, May 2010
Cloud 101 - Workshop from Gov2.0 in DC, May 2010
 
Cost Optimisation with Amazon Web Services
 Cost Optimisation with Amazon Web Services Cost Optimisation with Amazon Web Services
Cost Optimisation with Amazon Web Services
 
Simplified backup for Azure and AWS
Simplified backup for Azure and AWSSimplified backup for Azure and AWS
Simplified backup for Azure and AWS
 
Azure vmware solutions para partners
Azure vmware solutions para partnersAzure vmware solutions para partners
Azure vmware solutions para partners
 
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid CloudsBe Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
 
Un-clouding the cloud
Un-clouding the cloudUn-clouding the cloud
Un-clouding the cloud
 
AWS Hybrid Cloud Connectivity - VPN Solutions
AWS Hybrid Cloud Connectivity - VPN SolutionsAWS Hybrid Cloud Connectivity - VPN Solutions
AWS Hybrid Cloud Connectivity - VPN Solutions
 
Hanu cloud computing expertise
Hanu cloud computing expertiseHanu cloud computing expertise
Hanu cloud computing expertise
 

Ähnlich wie Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Architecture

Cloud computing by amazon
Cloud computing by amazonCloud computing by amazon
Cloud computing by amazon8neutron8
 
Azure realtime-interview questions - part 7
Azure realtime-interview questions - part 7Azure realtime-interview questions - part 7
Azure realtime-interview questions - part 7Malleswar Reddy
 
Multi Tenancy In The Cloud
Multi Tenancy In The CloudMulti Tenancy In The Cloud
Multi Tenancy In The Cloudrohit_ainapure
 
Netflix0SS Services on Docker
Netflix0SS Services on DockerNetflix0SS Services on Docker
Netflix0SS Services on DockerDocker, Inc.
 
Ibm cloud nativenetflixossfinal
Ibm cloud nativenetflixossfinalIbm cloud nativenetflixossfinal
Ibm cloud nativenetflixossfinalaspyker
 
Be Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid CloudsBe Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid CloudsEucalyptus Systems, Inc.
 
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...Andrew Miller
 
Cloud Computing : Security and Forensics
Cloud Computing : Security and ForensicsCloud Computing : Security and Forensics
Cloud Computing : Security and ForensicsGovind Maheswaran
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersAmazon Web Services
 
Gluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A ChallengeGluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A ChallengeAdrian Cockcroft
 
eNovance Make Your Cloud
eNovance Make Your CloudeNovance Make Your Cloud
eNovance Make Your CloudeNovance
 
Cloud Computing 101
Cloud Computing 101Cloud Computing 101
Cloud Computing 101Kamal Arora
 
Understanding the Windows Azure platform - june
Understanding the Windows Azure platform  - juneUnderstanding the Windows Azure platform  - june
Understanding the Windows Azure platform - juneDavidGristwood
 
Architecture Best Practices on Windows Azure
Architecture Best Practices on Windows AzureArchitecture Best Practices on Windows Azure
Architecture Best Practices on Windows AzureNuno Godinho
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureBob Rhubart
 
Oracle in the Cloud
Oracle in the CloudOracle in the Cloud
Oracle in the Cloudzain1425
 
Neev cloud services with AWS
Neev cloud services with AWSNeev cloud services with AWS
Neev cloud services with AWSNeev Technologies
 
High Availability in the Cloud - Architectural Best Practices
High Availability in the Cloud - Architectural Best PracticesHigh Availability in the Cloud - Architectural Best Practices
High Availability in the Cloud - Architectural Best PracticesRightScale
 

Ähnlich wie Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Architecture (20)

Cloud computing by amazon
Cloud computing by amazonCloud computing by amazon
Cloud computing by amazon
 
Azure realtime-interview questions - part 7
Azure realtime-interview questions - part 7Azure realtime-interview questions - part 7
Azure realtime-interview questions - part 7
 
Multi Tenancy In The Cloud
Multi Tenancy In The CloudMulti Tenancy In The Cloud
Multi Tenancy In The Cloud
 
Micro services
Micro servicesMicro services
Micro services
 
Netflix0SS Services on Docker
Netflix0SS Services on DockerNetflix0SS Services on Docker
Netflix0SS Services on Docker
 
Ibm cloud nativenetflixossfinal
Ibm cloud nativenetflixossfinalIbm cloud nativenetflixossfinal
Ibm cloud nativenetflixossfinal
 
Be Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid CloudsBe Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid Clouds
 
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
 
Cloud Computing : Security and Forensics
Cloud Computing : Security and ForensicsCloud Computing : Security and Forensics
Cloud Computing : Security and Forensics
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to Containers
 
Gluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A ChallengeGluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A Challenge
 
eNovance Make Your Cloud
eNovance Make Your CloudeNovance Make Your Cloud
eNovance Make Your Cloud
 
Cloud Computing 101
Cloud Computing 101Cloud Computing 101
Cloud Computing 101
 
AWS Business Essentials Day
AWS Business Essentials DayAWS Business Essentials Day
AWS Business Essentials Day
 
Understanding the Windows Azure platform - june
Understanding the Windows Azure platform  - juneUnderstanding the Windows Azure platform  - june
Understanding the Windows Azure platform - june
 
Architecture Best Practices on Windows Azure
Architecture Best Practices on Windows AzureArchitecture Best Practices on Windows Azure
Architecture Best Practices on Windows Azure
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference Architecture
 
Oracle in the Cloud
Oracle in the CloudOracle in the Cloud
Oracle in the Cloud
 
Neev cloud services with AWS
Neev cloud services with AWSNeev cloud services with AWS
Neev cloud services with AWS
 
High Availability in the Cloud - Architectural Best Practices
High Availability in the Cloud - Architectural Best PracticesHigh Availability in the Cloud - Architectural Best Practices
High Availability in the Cloud - Architectural Best Practices
 

Mehr von Michaël Figuière

EclipseCon - Building an IDE for Apache Cassandra
EclipseCon - Building an IDE for Apache CassandraEclipseCon - Building an IDE for Apache Cassandra
EclipseCon - Building an IDE for Apache CassandraMichaël Figuière
 
Paris Cassandra Meetup - Cassandra for Developers
Paris Cassandra Meetup - Cassandra for DevelopersParis Cassandra Meetup - Cassandra for Developers
Paris Cassandra Meetup - Cassandra for DevelopersMichaël Figuière
 
YaJug - Cassandra for Java Developers
YaJug - Cassandra for Java DevelopersYaJug - Cassandra for Java Developers
YaJug - Cassandra for Java DevelopersMichaël Figuière
 
Geneva JUG - Cassandra for Java Developers
Geneva JUG - Cassandra for Java DevelopersGeneva JUG - Cassandra for Java Developers
Geneva JUG - Cassandra for Java DevelopersMichaël Figuière
 
Cassandra summit 2013 - DataStax Java Driver Unleashed!
Cassandra summit 2013 - DataStax Java Driver Unleashed!Cassandra summit 2013 - DataStax Java Driver Unleashed!
Cassandra summit 2013 - DataStax Java Driver Unleashed!Michaël Figuière
 
NYC* Tech Day - New Cassandra Drivers in Depth
NYC* Tech Day - New Cassandra Drivers in DepthNYC* Tech Day - New Cassandra Drivers in Depth
NYC* Tech Day - New Cassandra Drivers in DepthMichaël Figuière
 
Paris Cassandra Meetup - Overview of New Cassandra Drivers
Paris Cassandra Meetup - Overview of New Cassandra DriversParis Cassandra Meetup - Overview of New Cassandra Drivers
Paris Cassandra Meetup - Overview of New Cassandra DriversMichaël Figuière
 
ApacheCon Europe 2012 - Real Time Big Data in practice with Cassandra
ApacheCon Europe 2012 - Real Time Big Data in practice with CassandraApacheCon Europe 2012 - Real Time Big Data in practice with Cassandra
ApacheCon Europe 2012 - Real Time Big Data in practice with CassandraMichaël Figuière
 
NoSQL Matters 2012 - Real Time Big Data in practice with Cassandra
NoSQL Matters 2012 - Real Time Big Data in practice with CassandraNoSQL Matters 2012 - Real Time Big Data in practice with Cassandra
NoSQL Matters 2012 - Real Time Big Data in practice with CassandraMichaël Figuière
 
GTUG Nantes (Dec 2011) - BigTable et NoSQL
GTUG Nantes (Dec 2011) - BigTable et NoSQLGTUG Nantes (Dec 2011) - BigTable et NoSQL
GTUG Nantes (Dec 2011) - BigTable et NoSQLMichaël Figuière
 
Duchess France (Nov 2011) - Atelier Apache Mahout
Duchess France (Nov 2011) - Atelier Apache MahoutDuchess France (Nov 2011) - Atelier Apache Mahout
Duchess France (Nov 2011) - Atelier Apache MahoutMichaël Figuière
 
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...Michaël Figuière
 
BreizhCamp (Jun 2011) - Haute disponibilité et élasticité avec Cassandra
BreizhCamp (Jun 2011) - Haute disponibilité et élasticité avec CassandraBreizhCamp (Jun 2011) - Haute disponibilité et élasticité avec Cassandra
BreizhCamp (Jun 2011) - Haute disponibilité et élasticité avec CassandraMichaël Figuière
 
Mix-IT (Apr 2011) - Intelligence Collective avec Apache Mahout
Mix-IT (Apr 2011) - Intelligence Collective avec Apache MahoutMix-IT (Apr 2011) - Intelligence Collective avec Apache Mahout
Mix-IT (Apr 2011) - Intelligence Collective avec Apache MahoutMichaël Figuière
 
Xebia Knowledge Exchange (mars 2011) - Machine Learning with Apache Mahout
Xebia Knowledge Exchange (mars 2011) - Machine Learning with Apache MahoutXebia Knowledge Exchange (mars 2011) - Machine Learning with Apache Mahout
Xebia Knowledge Exchange (mars 2011) - Machine Learning with Apache MahoutMichaël Figuière
 
Breizh JUG (mar 2011) - NoSQL : Des Grands du Web aux Entreprises
Breizh JUG (mar 2011) - NoSQL : Des Grands du Web aux EntreprisesBreizh JUG (mar 2011) - NoSQL : Des Grands du Web aux Entreprises
Breizh JUG (mar 2011) - NoSQL : Des Grands du Web aux EntreprisesMichaël Figuière
 
FOSDEM (feb 2011) - A real-time search engine with Lucene and S4
FOSDEM (feb 2011) -  A real-time search engine with Lucene and S4FOSDEM (feb 2011) -  A real-time search engine with Lucene and S4
FOSDEM (feb 2011) - A real-time search engine with Lucene and S4Michaël Figuière
 
Xebia Knowledge Exchange (feb 2011) - Large Scale Web Development
Xebia Knowledge Exchange (feb 2011) - Large Scale Web DevelopmentXebia Knowledge Exchange (feb 2011) - Large Scale Web Development
Xebia Knowledge Exchange (feb 2011) - Large Scale Web DevelopmentMichaël Figuière
 
Lorraine JUG (dec 2010) - NoSQL, des grands du Web aux entreprises
Lorraine JUG (dec 2010) - NoSQL, des grands du Web aux entreprisesLorraine JUG (dec 2010) - NoSQL, des grands du Web aux entreprises
Lorraine JUG (dec 2010) - NoSQL, des grands du Web aux entreprisesMichaël Figuière
 

Mehr von Michaël Figuière (20)

EclipseCon - Building an IDE for Apache Cassandra
EclipseCon - Building an IDE for Apache CassandraEclipseCon - Building an IDE for Apache Cassandra
EclipseCon - Building an IDE for Apache Cassandra
 
Paris Cassandra Meetup - Cassandra for Developers
Paris Cassandra Meetup - Cassandra for DevelopersParis Cassandra Meetup - Cassandra for Developers
Paris Cassandra Meetup - Cassandra for Developers
 
YaJug - Cassandra for Java Developers
YaJug - Cassandra for Java DevelopersYaJug - Cassandra for Java Developers
YaJug - Cassandra for Java Developers
 
Geneva JUG - Cassandra for Java Developers
Geneva JUG - Cassandra for Java DevelopersGeneva JUG - Cassandra for Java Developers
Geneva JUG - Cassandra for Java Developers
 
ChtiJUG - Cassandra 2.0
ChtiJUG - Cassandra 2.0ChtiJUG - Cassandra 2.0
ChtiJUG - Cassandra 2.0
 
Cassandra summit 2013 - DataStax Java Driver Unleashed!
Cassandra summit 2013 - DataStax Java Driver Unleashed!Cassandra summit 2013 - DataStax Java Driver Unleashed!
Cassandra summit 2013 - DataStax Java Driver Unleashed!
 
NYC* Tech Day - New Cassandra Drivers in Depth
NYC* Tech Day - New Cassandra Drivers in DepthNYC* Tech Day - New Cassandra Drivers in Depth
NYC* Tech Day - New Cassandra Drivers in Depth
 
Paris Cassandra Meetup - Overview of New Cassandra Drivers
Paris Cassandra Meetup - Overview of New Cassandra DriversParis Cassandra Meetup - Overview of New Cassandra Drivers
Paris Cassandra Meetup - Overview of New Cassandra Drivers
 
ApacheCon Europe 2012 - Real Time Big Data in practice with Cassandra
ApacheCon Europe 2012 - Real Time Big Data in practice with CassandraApacheCon Europe 2012 - Real Time Big Data in practice with Cassandra
ApacheCon Europe 2012 - Real Time Big Data in practice with Cassandra
 
NoSQL Matters 2012 - Real Time Big Data in practice with Cassandra
NoSQL Matters 2012 - Real Time Big Data in practice with CassandraNoSQL Matters 2012 - Real Time Big Data in practice with Cassandra
NoSQL Matters 2012 - Real Time Big Data in practice with Cassandra
 
GTUG Nantes (Dec 2011) - BigTable et NoSQL
GTUG Nantes (Dec 2011) - BigTable et NoSQLGTUG Nantes (Dec 2011) - BigTable et NoSQL
GTUG Nantes (Dec 2011) - BigTable et NoSQL
 
Duchess France (Nov 2011) - Atelier Apache Mahout
Duchess France (Nov 2011) - Atelier Apache MahoutDuchess France (Nov 2011) - Atelier Apache Mahout
Duchess France (Nov 2011) - Atelier Apache Mahout
 
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...
 
BreizhCamp (Jun 2011) - Haute disponibilité et élasticité avec Cassandra
BreizhCamp (Jun 2011) - Haute disponibilité et élasticité avec CassandraBreizhCamp (Jun 2011) - Haute disponibilité et élasticité avec Cassandra
BreizhCamp (Jun 2011) - Haute disponibilité et élasticité avec Cassandra
 
Mix-IT (Apr 2011) - Intelligence Collective avec Apache Mahout
Mix-IT (Apr 2011) - Intelligence Collective avec Apache MahoutMix-IT (Apr 2011) - Intelligence Collective avec Apache Mahout
Mix-IT (Apr 2011) - Intelligence Collective avec Apache Mahout
 
Xebia Knowledge Exchange (mars 2011) - Machine Learning with Apache Mahout
Xebia Knowledge Exchange (mars 2011) - Machine Learning with Apache MahoutXebia Knowledge Exchange (mars 2011) - Machine Learning with Apache Mahout
Xebia Knowledge Exchange (mars 2011) - Machine Learning with Apache Mahout
 
Breizh JUG (mar 2011) - NoSQL : Des Grands du Web aux Entreprises
Breizh JUG (mar 2011) - NoSQL : Des Grands du Web aux EntreprisesBreizh JUG (mar 2011) - NoSQL : Des Grands du Web aux Entreprises
Breizh JUG (mar 2011) - NoSQL : Des Grands du Web aux Entreprises
 
FOSDEM (feb 2011) - A real-time search engine with Lucene and S4
FOSDEM (feb 2011) -  A real-time search engine with Lucene and S4FOSDEM (feb 2011) -  A real-time search engine with Lucene and S4
FOSDEM (feb 2011) - A real-time search engine with Lucene and S4
 
Xebia Knowledge Exchange (feb 2011) - Large Scale Web Development
Xebia Knowledge Exchange (feb 2011) - Large Scale Web DevelopmentXebia Knowledge Exchange (feb 2011) - Large Scale Web Development
Xebia Knowledge Exchange (feb 2011) - Large Scale Web Development
 
Lorraine JUG (dec 2010) - NoSQL, des grands du Web aux entreprises
Lorraine JUG (dec 2010) - NoSQL, des grands du Web aux entreprisesLorraine JUG (dec 2010) - NoSQL, des grands du Web aux entreprises
Lorraine JUG (dec 2010) - NoSQL, des grands du Web aux entreprises
 

Kürzlich hochgeladen

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Kürzlich hochgeladen (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
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...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Architecture

  • 1. Trends in Enterprise Applications Architecture An overview of upcoming changes 1/6/2011 Michaël Figuière
  • 2. Buzzwords are around... Elasticity NoSQL Cloud Distributed Scalability Virtualization
  • 4. Enterprise applications architecture • Huge, monolithic architectures are no longer the trends Service Oriented Architecture is ubiquitous • SOA is now mature, not dead After extremism, pragmatism is now the trend • Web applications are everywhere, REST is around Frontier between Web and Services is now blurred
  • 6. Service Oriented Architecture How to make it scale exactly to our needs ?
  • 8. Cloud Computing principles • Abstraction SaaS, PaaS, IaaS, ... actually « (.*) as a Service » • Automation Reduces manual tasks as much as possible • Elasticity Scale up or down depending on the current needs
  • 9. Cloud’s basic abstractions Owned by the Cloud Provider Owned by the enterprise Provides a middleware SaaS Application Client / User PaaS Web Application Middleware IaaS Web Provides an empty server
  • 10. Cloud and automation • Resources provided by the Cloud are exposed as services Makes it possible to allocate a new server, create a new database, or change network security with a service call • Maintenance and deployment tasks can be easily scripted Reduce manual talks necessary for infrastructure changes • The Cloud provider handles the maintenance tasks The customer keep focused on the application development
  • 11. Cloud and elasticity • Automation ability makes it possible to easily start and stop instances And subscribe / unsubscribe from load-balancer • Elasticity makes it possible to make allocated resources stick to current load Pay only what you use • Elasticity makes it possible to handle very high peak of load • Simplifies capacity planning
  • 12. Elasticity in action Service Instance 1 Storage Instance 1 Web Service Instance 1 Instance 2 Storage Instance 2 Web Service Instance 2 Instance 3 Storage Instance 3 Service Instance 4
  • 14. Public Cloud vs. Private Cloud Typical server load during a whole day
  • 15. Public Cloud vs. Private Cloud Public Cloud Private Cloud
  • 17. But the Cloud magic comes at a price
  • 18. Elasticity requires symmetric instances Service Instance 1 Storage Instance 1 Web Service Instance 1 Instance 2 Storage Instance 2 Web Service Instance 2 Instance 3 Storage Instance 3 Service Instance 4
  • 19. Elasticity requires symmetric instances Service Instance 1 Storage Instance 1 Web Service Instance 1 Instance 2 Storage Instance 2 Web Service Instance 2 Instance 3 Storage Instance 3 Service Instance 4
  • 20. Some solutions • Leader election can be used to avoid symmetric issue Zookeeper is a cluster management framework • Other tools can be used to make the set of instances more collaborative Zookeeper provides distributed locks, queues, states... • Cloud providers solutions can be used Amazon RDS, SimpleDB, Google BigTable, ...
  • 22. Application’ inputs and outputs Input Output Application / Service Logs / Configuration Monitoring
  • 23. Application’ inputs and outputs Input Output Application / Service Logs / Configuration Monitoring
  • 24. Application’ inputs and outputs Input ok Output Application / Service Logs / ? Configuration Monitoring
  • 25. Typical Configuration • .properties or .xml files are typically used for configuration Large enterprises applications may have 100+ conf files... • Puppet, CfEngine and Chef can help ... but isn’t it just a hack ? • Finally, most settings aren’t used ... and developers may not know their meaning
  • 26. Configuration options are a hope that your users, with less knowledge of how the system works, will find the right solution where you didn't. Jonathan Ellis Project Leader Apache Cassandra
  • 27. Another way to configure • Uses zookeeper to maintain the current application configuration Highly available and consistent distributed storage • Uses your Cloud provider storage and tools S3 buckets, Elastic Block Store • Reduce configuration options to minimum There is probably too much options... • Uses Convention over Configuration
  • 28. Typical Logs • Append-only text files, stored locally or sent to Syslog Can be large for especially with stacktraces, ... • Queried with Grep, Sed, Awk, ... Simple but doesn’t fit for complex queries • A Regex implicitly defines the schema of the log The customer keep focused on the application development
  • 29. Typical Logs Regex acts as a non negotiated schema
  • 30. Logs as a dataset • Logs made of serialized plain entities Log Schema updates are easier • Centralized and combined for easy query through MapReduce Any query can be executed • Some command-line tools can be provided for simple queries
  • 31. Logging as a Service Applications send their logs to Loggly which provides some added value features Compared to a vendor solution, Loggly benefits from a shorter and richer feedback loops
  • 32. Traditional Design vs. Design for failures
  • 33. Traditional Design • Technical errors typically redirect the user to an error page SQLException, IOException, unavailable backend... • Some single points of failure, or bottlenecks Highly available stateful services may be expensive • Timeouts and slow backends, are typically not handled One backend gets slow and the whole application slows down
  • 34. Design for failures • Failures will happen Let’s embrace them rather than avoid them • Handle slow backends and timeout with circuit breakers The application may use graceful degradation • Cloud and NoSQL brings some highly available storage The most critical data can then be made highly available
  • 35. Summary of interests for enterprises • Elasticity helps to reduce costs and to handle high load and simplifies capacity planning • Cloud is high availability provided by experts Avoid expensive, custom and/or brittle solutions • Cloud middleware can be expected to gain quality quickly Thanks to reduced and richer feedback loop • But .... JEE 7 won’t come before 2013 / 2014
  • 36. Questions / Answers ? blog.xebia.fr @mfiguiere