Scaling out a web application involves adding redundancy, separating application tiers across multiple servers, implementing load balancing, caching content, and monitoring performance. Key aspects include mirroring disks for redundancy, moving services to separate application servers, using load balancing schemes like DNS round-robin or load balancers, solving session state issues through sticky routing or database storage, and caching dynamic content to improve performance. Monitoring the environment is also important to detect failures or bottlenecks as the infrastructure scales out.
CloudStack is an open source cloud management platform that allows users to provision virtual machines and cloud infrastructure resources. It supports multiple hypervisors and public/private cloud deployments. CloudStack provides a self-service user portal, resource monitoring, and APIs to automate administration tasks. It uses a multi-tier architecture with zones, pods, clusters, and hosts to scale horizontally.
Introduction to Apache CloudStack by David Nalleybuildacloud
Apache CloudStack is a mature, easy to deploy IaaS platform. That doesn't mean that it can be done without thought or preparation. Learn how CloudStack can be most efficiently deployed, and the problems to avoid in the process.
About David Nalley
David is a recovering sysadmin with a decade of experience. He’s a committer on the Apache CloudStack (incubating) project, a contributor to the Fedora Project and the Vice President of Infrastructure at the Apache Software Foundation.
CloudStack is an open-source cloud computing platform that provides infrastructure as a service. It allows users to provision resources such as virtual machines, networking, and storage capacity in a self-service, automated manner through a web-based portal or API. CloudStack supports multiple hypervisors, is massively scalable, and provides high availability features. It organizes infrastructure into logical components like hosts, clusters, pods, and zones to allow flexible deployment and physical isolation.
Getting started with MariaDB? Whether it is on your laptop or server, containers are great ephemeral vessels for your applications. But what about the data that drives your business? It must survive containers coming and going, maintain its availability and reliability, and grow when you need it.
Intro to Apache Kafka I gave at the Big Data Meetup in Geneva in June 2016. Covers the basics and gets into some more advanced topics. Includes demo and source code to write clients and unit tests in Java (GitHub repo on the last slides).
XenServer Virtualization In Cloud EnvironmentsTim Mackey
= As presented at the CloudStack Silicon Valley Meetup in September 2015. =
XenServer is a virtualization platform which has been deployed in a variety of industries and to support a multitude of workloads. In this session we discuss some of the components which make it valuable not just for traditional server and desktop virtualization, but also within "the cloud". This includes discussion of VM density, network scalability, containers (such as Docker) and GPU virtualization. We end with coverage of how XenServer templates are represented within Apache CloudStack.
CloudStack Day Japan 2015 - Hypervisor Selection in CloudStack 4.5Tim Mackey
Tim Mackey presented on selecting the correct hypervisor for a cloud. Key factors to consider include service offerings, tenancy requirements, virtualization infrastructure options like XenServer, vSphere, KVM and Hyper-V, defining the network, storage options, and CloudStack features supported. The best hypervisor depends on use cases like private enterprise clouds, Linux workloads or high tenant density. Planning should include success criteria, topology, storage and supported configurations before selecting a preferred hypervisor or hypervisors.
This document summarizes a presentation about the open source CloudStack cloud computing platform. CloudStack provides tools for provisioning and managing virtual infrastructure as a service, including APIs for self-service provisioning, distributed management of compute, storage and networking resources, and high availability features. The presentation outlines CloudStack's history and goals of multi-tenancy, broad hardware support, orchestration of resources behind firewalls, and scalability. It describes key CloudStack components and features such as the management server, domains and users, hypervisor and storage support, resource allocation policies, and networking functionality.
The speaker Jaskey(RocketMQ Committer) shared core features of RocketMQ, including domain model, order message, transactional message, batch message, message filter by SQL92 and so on.
This document discusses techniques for scaling out Apache web servers to improve performance and reliability. It covers adding redundancy with hardware components like RAID disk mirroring and redundant power supplies. It also discusses scaling out the application tier vertically by moving services to separate hosts, and horizontally by load balancing traffic across multiple servers. Load balancing can be done with techniques like DNS round robin, network load balancers, and load balancing appliances. The document also addresses session state management across servers and caching static content to improve performance.
This document discusses techniques for scaling out Apache web servers to improve performance and reliability. It covers adding redundancy with hardware components like RAID disk mirroring and redundant power supplies. It also discusses scaling out the application tier vertically by moving services to separate hosts, and horizontally by load balancing traffic across multiple servers. Load balancing can be done with techniques like DNS round robin, network load balancers, and load balancing appliances. The document also addresses session state management across servers and caching static content to improve performance.
This document discusses techniques for scaling out Apache web servers to improve performance and reliability. It covers adding redundancy with hardware components like RAID disk mirroring and redundant power supplies. It also discusses scaling out the application tier vertically by moving services to separate hosts, and horizontally by load balancing traffic across multiple servers. Load balancing can be done with techniques like DNS round robin, network load balancers, and load balancing appliances. The document also addresses session state management across servers and caching static content to improve performance.
This document discusses techniques for scaling out Apache web servers to improve performance and reliability. It covers adding redundancy with hardware components like RAID disk mirroring and redundant power supplies. It also discusses scaling out the application tier vertically by moving services to separate hosts, and horizontally by load balancing traffic across multiple servers. Load balancing can be done with techniques like DNS round robin, network load balancers, and load balancing appliances. The document also addresses session state management across servers and caching static content to improve performance.
This document discusses techniques for scaling out Apache web servers to improve performance and reliability. It covers adding redundancy with hardware components like RAID disk mirroring and redundant power supplies. It also discusses scaling out the application tier vertically by moving services to separate hosts, and horizontally by load balancing traffic across multiple servers. Load balancing can be done with techniques like DNS round robin, network load balancers, and load balancing appliances. The document also addresses session state management across servers and caching static content to improve performance.
This document discusses techniques for scaling out Apache web servers to improve performance and reliability. It covers adding redundancy with hardware components like RAID disk mirroring and redundant power supplies. It also discusses scaling out the application tier vertically by moving services to separate hosts, and horizontally by load balancing traffic across multiple servers. Load balancing can be done with techniques like DNS round robin, network load balancers, and load balancing appliances. The document also addresses session state management across servers and caching static content to improve performance.
This document discusses techniques for scaling out Apache web servers to improve performance and reliability. It covers adding redundancy with hardware components like RAID disk mirroring and redundant power supplies. It also discusses scaling out the application tier vertically by moving services to separate hosts, and horizontally by load balancing traffic across multiple servers. Load balancing can be done with techniques like DNS round robin, network load balancers, and load balancing appliances. The document also addresses session state management across servers and caching static content to improve performance.
This document discusses techniques for scaling out Apache web servers to improve performance and reliability. It covers adding redundancy with hardware components like RAID disk mirroring and redundant power supplies. It also discusses scaling out the application tier vertically by moving services to separate hosts, and horizontally by load balancing traffic across multiple servers. Load balancing can be done with techniques like DNS round robin, network load balancers, and load balancing appliances. The document also addresses session state management across servers and caching static content to improve performance.
This document discusses techniques for scaling out Apache web servers to improve performance and reliability. It covers adding redundancy with hardware components like RAID disk mirroring and redundant power supplies. It also discusses scaling out the application tier vertically by moving services to separate hosts, and horizontally by load balancing traffic across multiple servers. Load balancing can be done with techniques like DNS round robin, network load balancers, and load balancing appliances. The document also addresses session state management across servers and caching static content to improve performance.
This document discusses techniques for scaling out Apache web servers to improve performance and reliability. It covers adding redundancy with hardware components like RAID disk mirroring and redundant power supplies. It also discusses scaling out the application tier vertically by moving services to separate hosts, and horizontally by load balancing traffic across multiple servers. Load balancing can be done with techniques like DNS round robin, network load balancers, and load balancing appliances. The document also addresses session state management across servers and caching static content to improve performance.
This document discusses techniques for scaling out Apache web servers to improve performance and reliability. It covers adding redundancy with hardware components like RAID disk mirroring and redundant power supplies. It also discusses scaling out the application tier vertically by moving services to separate hosts, and horizontally by load balancing traffic across multiple servers. Load balancing can be done with techniques like DNS round robin, network load balancers, and load balancing appliances. The document also addresses session state management across servers and caching static content to improve performance.
This document discusses techniques for scaling out Apache web servers to improve performance and reliability. It covers adding redundancy with hardware components like RAID disk mirroring and redundant power supplies. It also discusses scaling out the application tier vertically by moving services to separate hosts, and horizontally by load balancing traffic across multiple servers. Load balancing can be done with techniques like DNS round robin, network load balancers, and load balancing appliances. The document also addresses session state management across servers and caching static content to improve performance.
This document discusses scaling out an Apache web server to improve performance and reliability. It recommends adding redundancy with mirrored disks and redundant power supplies. It describes scaling out vertically by moving services to separate hosts, and scaling out horizontally by using multiple servers per tier with load balancing. Load balancing can be done with DNS tricks, peer server pools, or a load balancing appliance. Caching static content and storing session state in a database or shared memory can improve performance when scaling out. Monitoring the infrastructure is important to detect failures and bottlenecks.
This document discusses various techniques for optimizing Drupal performance, including:
- Defining goals such as faster page loads or handling more traffic
- Applying patches and rearchitecting content to optimize at a code level
- Using tools like Apache Benchmark and MySQL tuning to analyze performance bottlenecks
- Implementing solutions like caching, memcached, and reverse proxies to improve scalability
Building & Testing Scalable Rails Applicationsevilmike
This document discusses building scalable Rails applications. It covers using multiple Rails processes and servers to handle concurrent requests. It recommends optimizing database queries, caching, offloading long tasks, and serving static assets externally. It also provides tips for load testing including using realistic data and environments, considering location and caching effects, and paying attention to request headers.
Where to start? - the first 2 hours of performance troubleshooting
• The performance cheat sheet: cover all the basics before you start
• Data collections and mining the logs
• Common techniques to improve performance
DrupalCampLA 2014 - Drupal backend performance and scalabilitycherryhillco
This document discusses various techniques for optimizing Drupal backend performance and scalability. It covers diagnosing issues through tools like Apache Benchmark and Munin, optimizing hardware, web and database servers like using Nginx, Varnish, MySQL tuning, and alternative databases like MongoDB. It also discusses PHP optimizations like opcode caching and HHVM. The goal is to provide strategies to handle more traffic, improve page response times, and minimize downtime through infrastructure improvements and code optimizations.
A study and practice of OpenStack release Kilo HA deployment. The Kilo document has some errors, and it's hardly find a detailed document to describe how to deploy a HA cloud based on Kilo release. Hope this slides can provide some clues.
10th International Conference on Networks, Mobile Communications and Telema...ijp2p
10th International Conference on Networks, Mobile Communications and
Telematics (NMOCT 2024)
Scope
10th International Conference on Networks, Mobile Communications and Telematics (NMOCT 2024) is a forum for presenting new advances and research results in the fields of Network, Mobile communications, and Telematics. The aim of the conference is to provide a platform to the researchers and practitioners from both academia as well as industry to meet and share cutting-edge development in the field.
Authors are solicited to contribute to the conference by submitting articles that illustrate research results, projects, surveying works, and industrial experiences that describe significant advances in the following areas but are not limited to.
Topics of interest include, but are not limited to, the following:
Mobile Communications and Telematics Mobile Network Management and Service Infrastructure Mobile Computing Integrated Mobile Marketing Communications Efficacy of Mobile Communications Mobile Communication Applications Critical Success Factors for Mobile Communication Diffusion Metric Mobile Business Enterprise Mobile Communication Security Issues and Requirements Mobile and Handheld Devices in the Education Telematics Tele-Learning Privacy and Security in Mobile Computing and Wireless Systems Cross-Cultural Mobile Communication Issues Integration and Interworking of Wired and Wireless Networks Location Management for Mobile Communications Distributed Systems Aspects of Mobile Computing Next Generation Internet Next Generation Web Architectures Network Operations and Management Adhoc and Sensor Networks Internet and Web Applications Ubiquitous Networks Wireless Multimedia Systems Wireless Communications
Heterogeneous Wireless Networks Operating System and Middleware Support for Mobile Computing Interaction and Integration in Mobile Communications Business Models for Mobile Communications E-Commerce & E-Governance
Nomadic and Portable Communication Wireless Information Assurance Mobile Multimedia Architecture and Network Management Mobile Multimedia Network Traffic Engineering & Optimization Mobile Multimedia Infrastructure Developments Mobile Multimedia Markets & Business Models Personalization, Privacy and Security in Mobile Multimedia Mobile Computing Software Architectures Network & Communications Network Protocols & Wireless Networks Network Architectures High Speed Networks Routing, Switching and Addressing Techniques Measurement and Performance Analysis Peer To Peer and Overlay Networks QOS and Resource Management Network-Based Applications Network Security Self-organizing networks and Networked Systems Mobile & Broadband Wireless Internet Recent Trends & Developments in Computer Networks
Paper Submission
Authors are invited to submit papers through the conference Submission System by July 06, 2024. Submissions must be original and
2. Agenda
• Introduction
• Redundancy in Hardware
• Building Out: Separate Tiers
• Building Out: Load Balancing
• Caching Content
• Conclusion
3. Introduction
• Why do This?
– Scalability (Oh my gosh, I’m so popular!)
– Reliability (We need five nines!)
• Why NOT do This?
– It costs money
4. Redundancy in Hardware
• Moving Parts Break
– Hard Disks
– Power Supplies
– Hard Disks
– Fans
– Hard Disks
• Buy High Quality Disks
– Refurbished, OEM, Brand Name
– Which has longer warranty?
– Which is more reliable?
5. Server Configuration
• Mirror those Disks
– Install the RAID utility
– Have it warn you
– RAID is no good if you don’t learn of
failures!
• Redundant Power Supplies
– On different circuits
10. Load Balancing Schemes
• DNS Tricks
• Peer Server Pools
– Network Load Balancing (Win2k3)
– Wackamole
• Load Balancing Appliance
– Box from F5, Juniper, Cisco, Foundry, …
– Linux Virtual Server
11. DNS Round-Robin
• Easy!
• Multiple A Records in DNS Zone File
• Not Smart:
– DNS Lookups are cached
– Load on Server
– Server Outage
12. Example Zone File
scalingout.org. 86400 IN SOA ns.scalingout.org. sctemme.scalingout.org. (
2006051401 ; Serial
86400 ; refresh (1 day)
7200 ; retry (2 hours)
8640000 ; expire (10 days)
86400 ) ; minimum (1 day)
scalingout.org. IN NS bagheera.scalingout.org.
gw IN A 10.11.0.1
bagheera IN A 10.11.0.2
; ...
mail IN CNAME bagheera
ns IN CNAME bagheera
www IN A 10.11.0.113
IN A 10.11.0.114
IN A 10.11.0.115
13. Peer-based: NLB
• Windows 2000 Server Enterprise Ed.,
Windows Server 2003
• Up to 32 hosts in cluster
• All hosts assume cluster IP, MAC
• NLB makes LB decision
– Only one host gets to answer TCP
handshake
• Should be application independent
14. Peer-based: Wackamole
• High Availability Solution
• When Host Fails
– Other hosts take over its IP addresses
– Distribute IP addresses among cluster
– Every IP address reliably available
• No Load Balancing!
– Use with RR DNS (or something)
http://www.backhand.org/wackamole/
16. Load Balancing
• One Load Balancer
• Many Web Servers
• Choice of Balancing Schemes
– Round-robin, Least Used, …
• Reliability
– Heartbeats, unavailable servers don’t
receive requests
• Feature War
17. Linux Virtual Server
• Free, Open Source, etc.
• IP Virtual Server module in kernel
• Lots of auxiliary modules
– Like a box of Legos
– May come with Your Distribution
• Do It Yourself
http://www.linuxvirtualserver.org/
18. Example: mod_proxy_balancer
• New in Apache HTTP Server 2.2
• Part of mod_proxy
• Two Load Balancing Methods
– By number of requests
– By number of bytes
• Detects failed backends
22. Tomcat Configuration
• Put same content on all Tomcats
• Edit conf/server.xml:
• jvmRoute must match jk worker
name!
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tc1">
23. Problem: Session State
• HTTP is Stateless
• Apps use Sessions
– Cookies
– URL Encoding
• Session created on single server
– Broken by Load Balancing
– PHP: sessions stored on disk
24. Solutions: Session State
• “Sticky” routing on Load Balancer
• Store State in DB
• Put benign State in Cookie
– But don’t trust the client too much
• Replicate Sessions on Back-end
25. Tomcat Session Replication
• Share HttpSession objects across
instances
• One instance dies, session lives on
• Apache will route requests to other
instance
• Uses IP Multicast
26. Session Replication Config
• Uncomment <Cluster> element in
server.xml
• Put empty <distributable /> element in
<web-app> element in web.xml
27. Caching Content
• Dynamic Content is Expensive
• Static Content Relatively Cheap
• Several Approaches:
– Dynamic caching
– Pre-rendering popular pages
(index.rss…)
27
28. mod_cache Configuration
28
<IfModule mod_cache.c>
<IfModule mod_disk_cache.c>
CacheRoot /raid1/cacheroot
CacheEnable disk /
# A page modified 100 min. ago will expire in 10 min.
CacheLastModifiedFactor .1
# Always check again after 6 hours
CacheMaxExpire 21600
</IfModule>
</IfModule>
29. Make Popular Pages Static
• RSS Feeds
• Popular catalog queries
• … (Check your access log)
29
30. Static Page Substitution
30
<Directory "/home/sctemme/inst/blog/httpd/htdocs">
Options +Indexes
Order allow,deny
Allow from all
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /cgi-bin/blosxom.cgi/$1 [L,QSA]
</Directory>
31. Tuning the Database Tier
• Not my area (sorry)
• Give Money to Oracle Consultants
– (or MySQL) (or …)
• Tip: Separate Read and Write
Operations
– Replicate from Write db to Read db
– Read db data slightly stale
• Does it matter?
32. Putting it All Together
Client
Internet
Read-only
Write-only
33. Monitoring the Farm
• Monitor for outages
– More boxes, more failure
– HA can mask failures
• Monitor for performance
– Utilization
– Trends
34. Monitoring Solutions
• Nagios
– Check services, hosts for outage
– Highly configurable, extendable
– Worth your time investment
• Ganglia
– Monitor for performance
– See Brad Nicholes’s session
35. Monitoring Caveats
• Takes Time, Effort
– Highly flexible products
• You can’t fix it
– If you don’t know it’s broken
• You can’t tune it
– If you don’t know the bottlenecks
36. Conference Roadmap
• Monitoring 2.0 - Zenoss, the next level of IT
management (Training)
• Apache Performance Tuning Part 1:
Scaling Up
• Load-balancing with Apache HTTPD 2.2
and later
• Scaling the download infrastructure with
your success
• Break My Site