SlideShare uma empresa Scribd logo
1 de 45
Azug
                    Successfully breeding rabits


Yves Goeleven
Capgemini
@YvesGoeleven
http://cloudshaper.wordpress.com
Agenda
•   Introduction
•   Rabits?
•   Cloud Power
•   The Weakest Link
•   Understanding Capacity
•   Self Everything
Rabits ?
• Rapid bits,
  – small public apps like websites & phone apps
  – They want to live outside, in the wild
  – They need to get there fast
  – Once they are there, they’ll need some space to
    multiply, scale
  – And they move on quickly
Examples
• Apps
  – Personal & work related
• Branding websites
  – Product launches, Special campaigns
• Predictable big events
  – Olympics, Elections
• Unpredictable events
  – Disasters, Terrorist attacks
  – Celebrity Death
Business context
• The world has changed over the past decade
  – Consumerization of IT
  – Technology in every day life
  – Globalization
• New and large scale business opportunities
  appear
  – 2.1 Billion internet users
  – 4.6 Billion phones
  – 1.4 Billion Households with TV’s
• Elasticity needed as demand varies wildly
Key Success Factors
                           How to prevent
   Global,                   road kill?
   Short time to market,
   Performant,
   Highly scalable,
   Highly available,
   Relatively cheap,
   Easy
Good thing rabits have cloud power
Agenda
•   Introduction
•   Rabits?
•   Cloud Power
•   The Weakest Link
•   Understanding Capacity
•   Self Everything
Fast Time To Market - Services




           Easy authorization to applications
           Caching & Workflow & …
Global - Spread your rabits all over the world
Performance - Impact of global
Performance - Impact of global


    50ms
Performance - Impact of global

           100ms

    50ms
Performance - Impact of global

           100ms

    50ms
Traffic manager to the rescue
Key Success Factors


   Global,
   Short time to market,
   Performant,
   Highly scalable,
   Highly available,
   Relatively cheap,
   Easy
Agenda
•   Introduction
•   Rabits?
•   Cloud Power
•   The Weakest Link
•   Understanding Capacity
•   Self Everything
The weakest link
• Overall scalability and availability
  – Limited by the weakest component
• If the backend can only handle
  30 users
  – It doesn’t matter that the front-
    end could handle 1.000.000
The weakest link
 • Typically the weakest link is one of the
   following:
   – Integration points
   – Data stores
   – Long processes
Remember
• Everything has limits!
• Including azure resources
  – Storage account: 5000 requests/sec
  – Storage container: 500 requests/sec
  – Bandwith depending on instance size
  – Etc...
• Luckily you can get multiple of these
But what if you can’t?
 • Keep them out of the critical path
   – Cache view model data or output
   – Queue commands
Cache
• Windows Azure Appfabric Cache
  – Distributed cache
• Reduces queries
  – To less scalable components


• Store data close to the app
  – Otherwise the whole point is moot
Queued command processing
• Avoid being swarmed by incoming
  commands
  – Use a queue to throttle
• Handle commands at a controlled speed
  – that of the least scalable component
Recommended Architecture: CQRS

  Queries
                              Cache
      Queries
                                               View Model
                                                 Updater

                                     Publish
       Input             Handler


                  Web



                                      Persistence
     Validation         Validation                           Storage


                          Rules
                                                    Worker
  Commands
Recommended Architecture: EDA
             Event generators



              Event Stream


                                Time




             Event consumers
Side effects of these architectures
• Caches need to be updated regularly
  – Time based
  – Event based
• User interface must be adapted
  – Task orientation required
  – ISO 9241-151 requires this anyway
What if things break?
• Make sure you have a backup instance!
• Fabric controller
  – At least 2 instances in seperate fault domains
• Traffic manager
  – Spread over multiple datacenters
• Azure storage
  – Automatically replicated across datacenters
• SQL Azure
  – Replicate using data sync
Multiple instances
• Don’t rely on machine dependencies
  – Avoid reliance on memory (except as cache)
  – Session state is evil
  – WCF default wsdl addressing behavior
  – Ensure encryption algorithms use service
    certificates
  – ...
Technology can help
Key Success Factors


   Global,
      Windows Azure Tech
   •Short time to market,
      – Queue
   Performant,    storage
   HighlyAppfabric Service Bus
      – scalable,
   •Highly available, Tech
      Framework
      – NServiceBus
   Relatively cheap,
   Easy
      – SignalR
Agenda
•   Introduction
•   Rabits?
•   Cloud Power
•   The Weakest Link
•   Understanding Capacity
•   Self Everything
Keeping it cheap
  • Understanding capacity
         – Pay for what you can ‘potentially’ use, aka the capacity
         – Instances are baskets of capacity : CPU, Memory, …
         – Ensure everything is efficiently used before scaling out

Compute                                 Instance
                CPU           Memory               I/O Performance       Cost per hour
Instance Size                           Storage

Extra Small     1.0 GHz       768 MB    20 GB      Low (5 Mbps)          $0.05

Small           1.6 GHz       1.75 GB   225 GB     Moderate (100 Mbps)   $0.12

Medium          2 x 1.6 GHz   3.5 GB    490 GB     High (200 Mbps)       $0.24

Large           4 x 1.6 GHz   7 GB      1,000 GB   High (400 Mbps)       $0.48

Extra Large     8 x 1.6 GHz   14 GB     2,040 GB   High (800 Mbps)       $0.96
Example
• 1 XS webrole instance (1 Ghz, 768 Mb, 5Mbps)
   – Dynamic home page but with relatively static content
• Limited to 50 concurrent users, yet only
   –   10% CPU used
   –   80% Memory used (by OS)
   –   Plenty of free disk space
   –   Limited by bandwidth IO
• Scaling out to 2 instances
   – Moves the tipping point
   – But wastes 90% cpu, 20% Memory
   – Twice
Demo: Hammering
                    the rabit


Yves Goeleven
Capgemini
@YvesGoeleven
http://cloudshaper.wordpress.com
Offload static content
• Better is to remove the bottle neck
     – In this case IO
• Offload static content to
     – Blob storage, CDN
• Leaves more power to handle
  dynamic workload
     – Increases number of users served
     – Better utilization of CPU & Memory
     – Relative to bandwidth

 CDN = Content Delivery network
 •   Content cache near internet edges (24 datacenters), static content close to user
 •   Great response times, > 200% performance improvement in my test
Cache, cache, cache
• The internet has multiple levels of cache
  –   Browser & proxy cache
  –   Kernel & output cache
  –   Memory
  –   Windows Azure Appfabric Cache
• Ensures low latency
  – Memory is faster than IO
  – Less time waiting for IO
  – Means more resources to handle requests
Demo: Hammering
                    the rabit again


Yves Goeleven
Capgemini
@YvesGoeleven
http://cloudshaper.wordpress.com
Balance your workloads
• Visual studio projects force you in a 1 logical role
  = 1 physical role instance mindset
   – Website = web role, Background process = Worker
     role
   – Becomes expensive and wastes a lot of capacity
• Combine different types of workload
  in same webrole instance                      Website
   – Website (Bandwith heavy)
   – Background process (Cpu heavy)
                                              Background
                                                Process

• Immediate 50% cost reduction!             Web Role Instance
Monitor your roles
• Ideally all roles operate at 80% overall capacity
  utilisation
   – Leaves room for sudden peaks
   – Still efficient use of the capacity you rented
• Monitoring your roles is key
   – Add performance counters for CPU, Memory, …
   – Store measurements in Windows Azure Storage
• On premises monitoring software
   – Polls storage for metrics
   – F.e Cerabrata Diagnostics Manager
The holy grail
• Smart auto scaling & dynamic workload
  allocation           Bandwidth




                                                         Bandwidth




                                                                                           Bandwidth
                                         Memory




                                                                           Memory
                                                                     CPU
       Memory

                Disk




                                   CPU



                                                  Disk




                                                                                    Disk
 CPU




          Role                              Role                              Role

                                   Scale out at 80%
Key Success Factors


   Global,
   Short time to market,
   Performant,
   Highly scalable,
   Highly available,
   Relatively cheap,
   Easy
Agenda
•   Introduction
•   Rabits?
•   Cloud Power
•   The Weakest Link
•   Understanding Capacity
•   Self Everything
Issues of scale
• Rabits join millions of people all over the world
• Some traditional tasks suddenly become very
  hard
• How to do?
   –   End user training
   –   Helpdesk & support
   –   User acceptance tests
   –   …
Self everything
• Self service
   – Signup, pay, use, maintain…
• Self marketing
   – Use the power of social networks
• Self supporting
   – Easy to use, inductive, UI
   – Build a community for support
• Self educating, testing
   – Offer early beta’s to the public
   – Provide means for feedback
Key Success Factors


   Global,
   Short time to market,
   Performant,
   Highly scalable,
   Highly available,
   Relatively cheap,
   Easy
Questions?


Yves Goeleven
Capgemini
@YvesGoeleven
http://cloudshaper.wordpress.com

Mais conteúdo relacionado

Mais procurados

Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8AppDynamics
 
Turbocharging php applications with zend server (workshop)
Turbocharging php applications with zend server (workshop)Turbocharging php applications with zend server (workshop)
Turbocharging php applications with zend server (workshop)Eric Ritchie
 
Turbocharging php applications with zend server
Turbocharging php applications with zend serverTurbocharging php applications with zend server
Turbocharging php applications with zend serverEric Ritchie
 
VMworld 2013: Extreme Performance Series: Monster Virtual Machines
VMworld 2013: Extreme Performance Series: Monster Virtual Machines VMworld 2013: Extreme Performance Series: Monster Virtual Machines
VMworld 2013: Extreme Performance Series: Monster Virtual Machines VMworld
 
Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...
Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...
Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...Acquia
 
VMworld 2013: Big Data: Virtualized SAP HANA Performance, Scalability and Bes...
VMworld 2013: Big Data: Virtualized SAP HANA Performance, Scalability and Bes...VMworld 2013: Big Data: Virtualized SAP HANA Performance, Scalability and Bes...
VMworld 2013: Big Data: Virtualized SAP HANA Performance, Scalability and Bes...VMworld
 
Scalable Web Architectures: Common Patterns and Approaches
Scalable Web Architectures: Common Patterns and ApproachesScalable Web Architectures: Common Patterns and Approaches
Scalable Web Architectures: Common Patterns and Approachesadunne
 
2 architectural at CloudStack Developer Day
2  architectural at CloudStack Developer Day2  architectural at CloudStack Developer Day
2 architectural at CloudStack Developer DayKimihiko Kitase
 
Apache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex HuangApache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex Huangbuildacloud
 
Inside the Hadoop Machine @ VMworld
Inside the Hadoop Machine @ VMworldInside the Hadoop Machine @ VMworld
Inside the Hadoop Machine @ VMworldRichard McDougall
 
High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2ScribbleLive
 
Apache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutApache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutSander Temme
 
Apache hbase for the enterprise (Strata+Hadoop World 2012)
Apache hbase for the enterprise (Strata+Hadoop World 2012)Apache hbase for the enterprise (Strata+Hadoop World 2012)
Apache hbase for the enterprise (Strata+Hadoop World 2012)jmhsieh
 
Scaling Up and Out your Virtualized SQL Servers
Scaling Up and Out your Virtualized SQL ServersScaling Up and Out your Virtualized SQL Servers
Scaling Up and Out your Virtualized SQL Serversheraflux
 
Axceleon Presentation at Siggraph 2009
Axceleon Presentation at Siggraph 2009Axceleon Presentation at Siggraph 2009
Axceleon Presentation at Siggraph 2009Axceleon Inc
 
Cloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web AppsCloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web AppsMark Slingsby
 
Teradata Co-existing Systems Parallel Efficiency -- Calculation & Reconfigura...
Teradata Co-existing Systems Parallel Efficiency -- Calculation & Reconfigura...Teradata Co-existing Systems Parallel Efficiency -- Calculation & Reconfigura...
Teradata Co-existing Systems Parallel Efficiency -- Calculation & Reconfigura...Shaheryar Iqbal
 

Mais procurados (20)

Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8
 
Turbocharging php applications with zend server (workshop)
Turbocharging php applications with zend server (workshop)Turbocharging php applications with zend server (workshop)
Turbocharging php applications with zend server (workshop)
 
Turbocharging php applications with zend server
Turbocharging php applications with zend serverTurbocharging php applications with zend server
Turbocharging php applications with zend server
 
Hadoop on Virtual Machines
Hadoop on Virtual MachinesHadoop on Virtual Machines
Hadoop on Virtual Machines
 
Management server internals
Management server internalsManagement server internals
Management server internals
 
VMworld 2013: Extreme Performance Series: Monster Virtual Machines
VMworld 2013: Extreme Performance Series: Monster Virtual Machines VMworld 2013: Extreme Performance Series: Monster Virtual Machines
VMworld 2013: Extreme Performance Series: Monster Virtual Machines
 
Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...
Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...
Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...
 
VMworld 2013: Big Data: Virtualized SAP HANA Performance, Scalability and Bes...
VMworld 2013: Big Data: Virtualized SAP HANA Performance, Scalability and Bes...VMworld 2013: Big Data: Virtualized SAP HANA Performance, Scalability and Bes...
VMworld 2013: Big Data: Virtualized SAP HANA Performance, Scalability and Bes...
 
Scalable Web Architectures: Common Patterns and Approaches
Scalable Web Architectures: Common Patterns and ApproachesScalable Web Architectures: Common Patterns and Approaches
Scalable Web Architectures: Common Patterns and Approaches
 
2 architectural at CloudStack Developer Day
2  architectural at CloudStack Developer Day2  architectural at CloudStack Developer Day
2 architectural at CloudStack Developer Day
 
Apache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex HuangApache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex Huang
 
Inside the Hadoop Machine @ VMworld
Inside the Hadoop Machine @ VMworldInside the Hadoop Machine @ VMworld
Inside the Hadoop Machine @ VMworld
 
High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2
 
Apache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutApache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling Out
 
Apache hbase for the enterprise (Strata+Hadoop World 2012)
Apache hbase for the enterprise (Strata+Hadoop World 2012)Apache hbase for the enterprise (Strata+Hadoop World 2012)
Apache hbase for the enterprise (Strata+Hadoop World 2012)
 
Scaling Up and Out your Virtualized SQL Servers
Scaling Up and Out your Virtualized SQL ServersScaling Up and Out your Virtualized SQL Servers
Scaling Up and Out your Virtualized SQL Servers
 
Axceleon Presentation at Siggraph 2009
Axceleon Presentation at Siggraph 2009Axceleon Presentation at Siggraph 2009
Axceleon Presentation at Siggraph 2009
 
Hyper-V Dynamic Memory in Depth
Hyper-V Dynamic Memory in Depth Hyper-V Dynamic Memory in Depth
Hyper-V Dynamic Memory in Depth
 
Cloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web AppsCloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web Apps
 
Teradata Co-existing Systems Parallel Efficiency -- Calculation & Reconfigura...
Teradata Co-existing Systems Parallel Efficiency -- Calculation & Reconfigura...Teradata Co-existing Systems Parallel Efficiency -- Calculation & Reconfigura...
Teradata Co-existing Systems Parallel Efficiency -- Calculation & Reconfigura...
 

Semelhante a Azug - successfully breeding rabits

Right-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual MachineRight-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual Machineheraflux
 
Capacity Planning
Capacity PlanningCapacity Planning
Capacity PlanningMongoDB
 
Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community
 
Sql Start! 2020 - SQL Server Lift & Shift su Azure
Sql Start! 2020 - SQL Server Lift & Shift su AzureSql Start! 2020 - SQL Server Lift & Shift su Azure
Sql Start! 2020 - SQL Server Lift & Shift su AzureMarco Obinu
 
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
 
The Wix Microservice Stack
The Wix Microservice StackThe Wix Microservice Stack
The Wix Microservice StackTomer Gabel
 
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowOpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowEd Balduf
 
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at UberWSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at UberWSO2
 
Development of concurrent services using In-Memory Data Grids
Development of concurrent services using In-Memory Data GridsDevelopment of concurrent services using In-Memory Data Grids
Development of concurrent services using In-Memory Data Gridsjlorenzocima
 
Machine Learning for Smarter Apps - Jacksonville Meetup
Machine Learning for Smarter Apps - Jacksonville MeetupMachine Learning for Smarter Apps - Jacksonville Meetup
Machine Learning for Smarter Apps - Jacksonville MeetupSri Ambati
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld
 
A scalable server environment for your applications
A scalable server environment for your applicationsA scalable server environment for your applications
A scalable server environment for your applicationsGigaSpaces
 
MongoDB Capacity Planning
MongoDB Capacity PlanningMongoDB Capacity Planning
MongoDB Capacity PlanningNorberto Leite
 
Performance architecture for cloud connect
Performance architecture for cloud connectPerformance architecture for cloud connect
Performance architecture for cloud connectAdrian Cockcroft
 
Scaling habits of ASP.NET
Scaling habits of ASP.NETScaling habits of ASP.NET
Scaling habits of ASP.NETDavid Giard
 
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...NetApp
 
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...Amazon Web Services
 

Semelhante a Azug - successfully breeding rabits (20)

Drupal performance
Drupal performanceDrupal performance
Drupal performance
 
Right-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual MachineRight-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual Machine
 
Capacity Planning
Capacity PlanningCapacity Planning
Capacity Planning
 
Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph
 
Sql Start! 2020 - SQL Server Lift & Shift su Azure
Sql Start! 2020 - SQL Server Lift & Shift su AzureSql Start! 2020 - SQL Server Lift & Shift su Azure
Sql Start! 2020 - SQL Server Lift & Shift su Azure
 
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...
 
The Wix Microservice Stack
The Wix Microservice StackThe Wix Microservice Stack
The Wix Microservice Stack
 
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowOpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
 
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at UberWSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
 
Development of concurrent services using In-Memory Data Grids
Development of concurrent services using In-Memory Data GridsDevelopment of concurrent services using In-Memory Data Grids
Development of concurrent services using In-Memory Data Grids
 
Machine Learning for Smarter Apps - Jacksonville Meetup
Machine Learning for Smarter Apps - Jacksonville MeetupMachine Learning for Smarter Apps - Jacksonville Meetup
Machine Learning for Smarter Apps - Jacksonville Meetup
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right
 
Java on the Mainframe
Java on the MainframeJava on the Mainframe
Java on the Mainframe
 
A scalable server environment for your applications
A scalable server environment for your applicationsA scalable server environment for your applications
A scalable server environment for your applications
 
Performance stack
Performance stackPerformance stack
Performance stack
 
MongoDB Capacity Planning
MongoDB Capacity PlanningMongoDB Capacity Planning
MongoDB Capacity Planning
 
Performance architecture for cloud connect
Performance architecture for cloud connectPerformance architecture for cloud connect
Performance architecture for cloud connect
 
Scaling habits of ASP.NET
Scaling habits of ASP.NETScaling habits of ASP.NET
Scaling habits of ASP.NET
 
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...
 
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
 

Mais de Yves Goeleven

Back to the 90s' - Revenge of the static website
Back to the 90s' - Revenge of the static websiteBack to the 90s' - Revenge of the static website
Back to the 90s' - Revenge of the static websiteYves Goeleven
 
Azure storage deep dive
Azure storage deep diveAzure storage deep dive
Azure storage deep diveYves Goeleven
 
Io t privacy and security considerations
Io t   privacy and security considerationsIo t   privacy and security considerations
Io t privacy and security considerationsYves Goeleven
 
Connecting your app to the real world
Connecting your app to the real worldConnecting your app to the real world
Connecting your app to the real worldYves Goeleven
 
Madn - connecting things with people
Madn - connecting things with peopleMadn - connecting things with people
Madn - connecting things with peopleYves Goeleven
 
Message handler customer deck
Message handler customer deckMessage handler customer deck
Message handler customer deckYves Goeleven
 
Cloudbrew - Internet Of Things
Cloudbrew - Internet Of ThingsCloudbrew - Internet Of Things
Cloudbrew - Internet Of ThingsYves Goeleven
 
Windows azure storage services
Windows azure storage servicesWindows azure storage services
Windows azure storage servicesYves Goeleven
 
Eda on the azure services platform
Eda on the azure services platformEda on the azure services platform
Eda on the azure services platformYves Goeleven
 

Mais de Yves Goeleven (10)

Back to the 90s' - Revenge of the static website
Back to the 90s' - Revenge of the static websiteBack to the 90s' - Revenge of the static website
Back to the 90s' - Revenge of the static website
 
Azure storage deep dive
Azure storage deep diveAzure storage deep dive
Azure storage deep dive
 
Io t privacy and security considerations
Io t   privacy and security considerationsIo t   privacy and security considerations
Io t privacy and security considerations
 
Connecting your app to the real world
Connecting your app to the real worldConnecting your app to the real world
Connecting your app to the real world
 
Madn - connecting things with people
Madn - connecting things with peopleMadn - connecting things with people
Madn - connecting things with people
 
Message handler customer deck
Message handler customer deckMessage handler customer deck
Message handler customer deck
 
Cloudbrew - Internet Of Things
Cloudbrew - Internet Of ThingsCloudbrew - Internet Of Things
Cloudbrew - Internet Of Things
 
Windows azure storage services
Windows azure storage servicesWindows azure storage services
Windows azure storage services
 
Eda on the azure services platform
Eda on the azure services platformEda on the azure services platform
Eda on the azure services platform
 
Sql Azure
Sql AzureSql Azure
Sql Azure
 

Último

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
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
 
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
 

Último (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"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...
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
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
 
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...
 

Azug - successfully breeding rabits

  • 1. Azug Successfully breeding rabits Yves Goeleven Capgemini @YvesGoeleven http://cloudshaper.wordpress.com
  • 2. Agenda • Introduction • Rabits? • Cloud Power • The Weakest Link • Understanding Capacity • Self Everything
  • 3. Rabits ? • Rapid bits, – small public apps like websites & phone apps – They want to live outside, in the wild – They need to get there fast – Once they are there, they’ll need some space to multiply, scale – And they move on quickly
  • 4. Examples • Apps – Personal & work related • Branding websites – Product launches, Special campaigns • Predictable big events – Olympics, Elections • Unpredictable events – Disasters, Terrorist attacks – Celebrity Death
  • 5. Business context • The world has changed over the past decade – Consumerization of IT – Technology in every day life – Globalization • New and large scale business opportunities appear – 2.1 Billion internet users – 4.6 Billion phones – 1.4 Billion Households with TV’s • Elasticity needed as demand varies wildly
  • 6. Key Success Factors How to prevent Global, road kill? Short time to market, Performant, Highly scalable, Highly available, Relatively cheap, Easy
  • 7. Good thing rabits have cloud power
  • 8. Agenda • Introduction • Rabits? • Cloud Power • The Weakest Link • Understanding Capacity • Self Everything
  • 9. Fast Time To Market - Services Easy authorization to applications Caching & Workflow & …
  • 10. Global - Spread your rabits all over the world
  • 11. Performance - Impact of global
  • 12. Performance - Impact of global 50ms
  • 13. Performance - Impact of global 100ms 50ms
  • 14. Performance - Impact of global 100ms 50ms
  • 15. Traffic manager to the rescue
  • 16. Key Success Factors Global, Short time to market, Performant, Highly scalable, Highly available, Relatively cheap, Easy
  • 17. Agenda • Introduction • Rabits? • Cloud Power • The Weakest Link • Understanding Capacity • Self Everything
  • 18. The weakest link • Overall scalability and availability – Limited by the weakest component • If the backend can only handle 30 users – It doesn’t matter that the front- end could handle 1.000.000
  • 19. The weakest link • Typically the weakest link is one of the following: – Integration points – Data stores – Long processes
  • 20. Remember • Everything has limits! • Including azure resources – Storage account: 5000 requests/sec – Storage container: 500 requests/sec – Bandwith depending on instance size – Etc... • Luckily you can get multiple of these
  • 21. But what if you can’t? • Keep them out of the critical path – Cache view model data or output – Queue commands
  • 22. Cache • Windows Azure Appfabric Cache – Distributed cache • Reduces queries – To less scalable components • Store data close to the app – Otherwise the whole point is moot
  • 23. Queued command processing • Avoid being swarmed by incoming commands – Use a queue to throttle • Handle commands at a controlled speed – that of the least scalable component
  • 24. Recommended Architecture: CQRS Queries Cache Queries View Model Updater Publish Input Handler Web Persistence Validation Validation Storage Rules Worker Commands
  • 25. Recommended Architecture: EDA Event generators Event Stream Time Event consumers
  • 26. Side effects of these architectures • Caches need to be updated regularly – Time based – Event based • User interface must be adapted – Task orientation required – ISO 9241-151 requires this anyway
  • 27. What if things break? • Make sure you have a backup instance! • Fabric controller – At least 2 instances in seperate fault domains • Traffic manager – Spread over multiple datacenters • Azure storage – Automatically replicated across datacenters • SQL Azure – Replicate using data sync
  • 28. Multiple instances • Don’t rely on machine dependencies – Avoid reliance on memory (except as cache) – Session state is evil – WCF default wsdl addressing behavior – Ensure encryption algorithms use service certificates – ...
  • 29. Technology can help Key Success Factors Global, Windows Azure Tech •Short time to market, – Queue Performant, storage HighlyAppfabric Service Bus – scalable, •Highly available, Tech Framework – NServiceBus Relatively cheap, Easy – SignalR
  • 30. Agenda • Introduction • Rabits? • Cloud Power • The Weakest Link • Understanding Capacity • Self Everything
  • 31. Keeping it cheap • Understanding capacity – Pay for what you can ‘potentially’ use, aka the capacity – Instances are baskets of capacity : CPU, Memory, … – Ensure everything is efficiently used before scaling out Compute Instance CPU Memory I/O Performance Cost per hour Instance Size Storage Extra Small 1.0 GHz 768 MB 20 GB Low (5 Mbps) $0.05 Small 1.6 GHz 1.75 GB 225 GB Moderate (100 Mbps) $0.12 Medium 2 x 1.6 GHz 3.5 GB 490 GB High (200 Mbps) $0.24 Large 4 x 1.6 GHz 7 GB 1,000 GB High (400 Mbps) $0.48 Extra Large 8 x 1.6 GHz 14 GB 2,040 GB High (800 Mbps) $0.96
  • 32. Example • 1 XS webrole instance (1 Ghz, 768 Mb, 5Mbps) – Dynamic home page but with relatively static content • Limited to 50 concurrent users, yet only – 10% CPU used – 80% Memory used (by OS) – Plenty of free disk space – Limited by bandwidth IO • Scaling out to 2 instances – Moves the tipping point – But wastes 90% cpu, 20% Memory – Twice
  • 33. Demo: Hammering the rabit Yves Goeleven Capgemini @YvesGoeleven http://cloudshaper.wordpress.com
  • 34. Offload static content • Better is to remove the bottle neck – In this case IO • Offload static content to – Blob storage, CDN • Leaves more power to handle dynamic workload – Increases number of users served – Better utilization of CPU & Memory – Relative to bandwidth CDN = Content Delivery network • Content cache near internet edges (24 datacenters), static content close to user • Great response times, > 200% performance improvement in my test
  • 35. Cache, cache, cache • The internet has multiple levels of cache – Browser & proxy cache – Kernel & output cache – Memory – Windows Azure Appfabric Cache • Ensures low latency – Memory is faster than IO – Less time waiting for IO – Means more resources to handle requests
  • 36. Demo: Hammering the rabit again Yves Goeleven Capgemini @YvesGoeleven http://cloudshaper.wordpress.com
  • 37. Balance your workloads • Visual studio projects force you in a 1 logical role = 1 physical role instance mindset – Website = web role, Background process = Worker role – Becomes expensive and wastes a lot of capacity • Combine different types of workload in same webrole instance Website – Website (Bandwith heavy) – Background process (Cpu heavy) Background Process • Immediate 50% cost reduction! Web Role Instance
  • 38. Monitor your roles • Ideally all roles operate at 80% overall capacity utilisation – Leaves room for sudden peaks – Still efficient use of the capacity you rented • Monitoring your roles is key – Add performance counters for CPU, Memory, … – Store measurements in Windows Azure Storage • On premises monitoring software – Polls storage for metrics – F.e Cerabrata Diagnostics Manager
  • 39. The holy grail • Smart auto scaling & dynamic workload allocation Bandwidth Bandwidth Bandwidth Memory Memory CPU Memory Disk CPU Disk Disk CPU Role Role Role Scale out at 80%
  • 40. Key Success Factors Global, Short time to market, Performant, Highly scalable, Highly available, Relatively cheap, Easy
  • 41. Agenda • Introduction • Rabits? • Cloud Power • The Weakest Link • Understanding Capacity • Self Everything
  • 42. Issues of scale • Rabits join millions of people all over the world • Some traditional tasks suddenly become very hard • How to do? – End user training – Helpdesk & support – User acceptance tests – …
  • 43. Self everything • Self service – Signup, pay, use, maintain… • Self marketing – Use the power of social networks • Self supporting – Easy to use, inductive, UI – Build a community for support • Self educating, testing – Offer early beta’s to the public – Provide means for feedback
  • 44. Key Success Factors Global, Short time to market, Performant, Highly scalable, Highly available, Relatively cheap, Easy