This document discusses optimizing performance for Ruby on Rails applications in the cloud. It begins with introductions and an agenda for the event. It then discusses why Rails development is faster and how its conventions allow developers to focus on the application. It explains how cloud infrastructure provides instant, programmable resources on demand and only charges for what is used. It outlines how performance impacts user satisfaction, engagement, organic search rankings and competitive advantage. It then gets more concrete by discussing performance thresholds and load times for 100 Rails sites. Finally, it discusses the top five sources of high performance and how to optimize page construction, application code, software architecture, component selection and infrastructure capacity.
1) Cloud native applications are built to take advantage of cloud computing resources like dynamically provisioned micro-services and distributed ephemeral components.
2) Netflix has transitioned to being a cloud native application built on an open source platform using AWS for scalable infrastructure, but also uses other providers for services not fully supported by AWS like content delivery and DNS.
3) What has changed is developers are freed from being the bottleneck through decentralization and automation of operations, allowing for greater agility, innovation, and business competitiveness in the cloud native model.
[Full slides now also available at http://www.slideshare.net/adrianco/netflix-on-cloud-combined-slides-for-dev-and-ops]
Short summary of why Netflix is running on the Amazon cloud, what is running there, what we have learned and where this is taking us.
This is the introduction section to a series of public presentations that will go into much more detail. The Silicon Valley Cloud Computing Meetup was on Oct 14th, QCon San Francisco November 3rd.
This document discusses strategies for optimizing cloud costs and achieving cost efficiency when deploying applications on Microsoft Azure. It defines cloud cost efficiency and explains why it is important. It then provides recommendations around avoiding waste, architecting for cost efficiency by following users and reducing resource consumption, choosing appropriate Azure services, enabling deployment automation, and measuring cost efficiency through testing and analysis. The goal is to deliver the same quality of service but at a lower overall cost through various optimization techniques.
(SPOT302) Availability: The New Kind of Innovator’s DilemmaAmazon Web Services
Successful companies, while focusing on their current customers' needs, often fail to embrace disruptive technologies and business models. This phenomenon, known as the "Innovator's Dilemma," eventually leads to many companies' downfall and is especially relevant in the fast-paced world of online services. In order to protect its leading position and grow its share of the highly competitive global digital streaming market, Netflix has to continuously increase the pace of innovation by constantly refining recommendation algorithms and adding new product features, while maintaining a high level of service uptime. The Netflix streaming platform consists of hundreds of microservices that are constantly evolving, and even the smallest production change may cause a cascading failure that can bring the entire service down. We face a new kind of Innovator's Dilemma, where product changes may not only disrupt the business model but also cause production outages that deny customers service access. This talk will describe various architectural, operational and organizational changes adopted by Netflix in order to reconcile rapid innovation with service availability.
Zero Downtime with OSGi - Chicago Coder Conference 05-15-2015 Mariano Gonzalez
Mariano Gonzalez and Rob Mills presented on achieving zero downtime with OSGi and microservices architectures. They discussed how OSGi bundles can be deployed as microservices and how OSGi implementations like Apache Karaf support dynamic updating. However, OSGi alone does not provide high availability features. They demonstrated how Cellar clustering adds redundancy to Karaf and how using Kafka as an asynchronous messaging middleware between microservices allows services to remain available even if the Karaf instance or Kafka broker goes down. Topics included OSGi lifecycles, microservice patterns, high availability concepts, the Cellar demo, and integrating Kafka for asynchronous communication between redundant microservices.
Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...Acquia
Visit this page to view a recording of this webinar - http://www.acquia.com/resources/acquia-tv/conference/acquia-managed-cloud-highly-available-architecture-highly
Site reliability in the Serverless age - Serverless Boston 2019Erik Peterson
Is SRE, DevOps and serverless a match made in heaven or is something missing? What about cost when building reliable Serverless systems? To answer this, lets explore SRE and Serverless principals, a new concept called FinDevOps, and along the way make a few predictions about our serverless future
This document discusses various ways to optimize costs when using AWS services including using elastic capacity to only pay for resources when they are turned on, choosing the appropriate EC2 instance types, leveraging reserved instances for consistent usage, taking advantage of lower priced spot instances, and using complementary services like SQS that have very low per usage costs. The strategies provided give examples of how to save 25-75% on costs through these optimization techniques.
DevOps is much more than tooling and technical details, it’s first and foremost a cultural and operational shift. This deck was given at www.devopscon.com, and covers some of the principles and best practices preached for by devops thought leaders such as John Allspaw, Jesse Robbins, Adrian Cockroft, Jez Humble and others.
A collection of information taken from previous presentations that was used as drill down for supporting discussion of specific topics during the tutorial.
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...Continuent
Cloud-Based Active/Active Tungsten MySQL Clusters @ Vonage
Vonage, the global SaaS provider with Cloud Contact Center solution (formerly NewVoiceMedia), is the leading Salesforce telephony solution. They immediately deliver up-to-date routing data to clients for thousands of simultaneous VoIP calls and other communication channels.
When there is a significant write load on geographically distributed applications, active/active MySQL clustering is needed. These applications require fast response times for both reads and writes, and they also need to share data on a global scale.
Join this webinar with Eero Teerikorpi, CEO at Continuent, for a walk-through of how the Continuent Team helped Vonage build a multi-region active/active MySQL Tungsten Cluster in AWS Cloud serving a global high-volume Cloud Contact Center.
AGENDA
- Continuent Introduction
- How to build a global, multi-region active/active MySQL Tungsten Cluster in AWS Cloud for Cloud Contact Center
- Continuent Tungsten Solutions and Benefits
- Key Benefit Highlight: Global MySQL Availability
- Q&A
PRESENTER
Eero Teerikorpi - Founder and CEO, Continuent - is a 7-time serial entrepreneur who has more than 30 years of high-tech management and enterprise software experience. Eero has been in the MySQL marketplace virtually since day one, from the early 2000s. Eero has held top management positions at various cross-Atlantic entities (CEO at Alcom Corporation, President at Capslock, Executive Board Member at Esker S.A.) Eero started his career as a Product Manager at Apple Computer in Finland in the mid-80s. Eero also owns and manages a boutique NOET Vineyards producing high-quality dry-farmed Cabernet Sauvignon.
Eero is a former Navy officer and still an avid sailor on San Francisco Bay and around the world. Eero is a very active sportsman: a 4+ tennis player, a rookie golfer, a very careful mountain biker, and an experienced (40+ years) skier, both slalom and cross-country.
The last few years have seen a huge demand for distributed applications that has led to a proliferation of data-driven apps in the data centers. A strategy to have big enough servers that can address peak workloads has led to a large number of underutilized bare metal servers scattered all around the data center. Today’s data centers need an effective consolidation strategy that lets multiple data applications share the same set of hardware resources.
But concerns of performance predictability still looms large. How do I address noisy neighbor situations? How do I guarantee performance SLAs for my most data intensive applications?
Are you cloud ready..
• Comparative cloud design; traditional infrastructure vs. cloud.
• Avoiding cloud design pitfalls.
• Next generation cloud. What does the future hold.
• Where is cloud a fit for your business.
• Where should cloud be avoided.
• Cloud cost modelling.
• TCO calculations.
• Having a cloud back out plan.
Delivered talk on Performance Testing : Cloud Deployments by Shreyas Chaudhari and Manish Hemnani at ThoughtWorks, Pune on 16th March, 2019 in VodQA Pune 2019.
The Cloud provides a transparent cost model, with options from on-demand provisioning, to reserved capacity to low cost, spot pricing. This session outlines how to use these pricing models in concert to optimise the running cost of your application on the AWS Cloud. We'll outline new utilisation based reserved instances and bidding strategies when running on spot instances, to cost prediction.
Hugh Brien of AppDynamics shares his Top 10 application issues he sees on a daily basis.
The list covers:
- Application Performance Monitoring
- Database Monitoring
- Java, .NET, Node.js, PHP, and Python Monitoring
- I/O
- And much more
SV Forum Platform Architecture SIG - Netflix Open Source PlatformAdrian Cockcroft
Architecture overview of Netflix Cloud Architecture with a focus on the Open Source components that Netflix has put and is planning to release on http://netflix.github.com
The document discusses front-end web performance analysis. It introduces several popular tools for front-end performance analysis such as Fiddler, IBM Page Detailer, FireBug, YSlow, and AOL PageTest. It then discusses Yahoo's 14 rules and 20 new best practices for high performance web pages. Finally, it discusses techniques for extending front-end analysis tools and principles of optimization.
This document discusses performance-oriented design and what metrics should be measured. It emphasizes that performance is important and organizations should care about it. Key metrics that should be measured include arrival rate, service time, throughput, queues, method counts, response times, and other application and system-level metrics. References for further reading on performance engineering and capacity planning are also provided.
The document provides an agenda for a presentation on Java topics including Java syntax, Swing, garbage collection, multi-threading, databases, web development, frameworks, and web services. It also discusses Spring Integration, patterns, messaging, scripting, and includes several code snippets and diagrams. The presentation aims to help attendees build their skills and knowledge of Java and related technologies.
Expecto Performa! The Magic and Reality of Performance TuningAtlassian
In the enterprise there are rarely simple solutions to highly nuanced problems that satisfy all needs. Several customers might each ask "How do I make Jira/Confluence faster?" and each require a different answer. Using this example, this talk will pick apart the inputs, outputs, concerns, and realities of answering a short question with a long answer. We'll then discuss real-world examples from our own internal instances, to give you a taste of the process we've gone through to solve our own performance problems, and to show why there is no simple playbook; "it depends" on a lot! The key takeaways are:
* The importance of having a shared definition of performance
* The importance of having agreed-upon priorities, including what isn't important
* The importance of measuring (allthethings) and understanding them
* The thing you think is the problem might not be the problem, and vice versa.
* The real world and the ideal world tend to look nothing alike!
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Andreas Grabner
Do it like the "DevOps Unicorns" Etsy, Facebook and Co: Deploy more frequently. But how and why? Challenges?
Deploying Software Faster without Failing Faster is possible through Metrics driven Engineering. Identify problems early on using a "Shift-Left in Quality". This requires a Level-Up of Dev, Test, Ops, Biz
See some of the metrics that I think you need to look at and how to upgrade your engineering team to produce better quality right from the start
10 things ever architect should know about the Windows Azure Platform - ericnelEric Nelson
This document discusses 10 key things that every architect needs to know when working with the Windows Azure platform. It notes that code runs on hosted services made up of roles that can have multiple instances running the same code and configuration. Data is typically stored either in Windows Azure storage or SQL Azure. The dynamic environment means roles have limited control and instances can stop without warning, so architects must account for this volatility and handle state preservation. Overall, the document provides an overview of fundamental concepts an architect needs to understand when designing applications for the Windows Azure platform.
The document discusses improving web performance and optimization. It provides an overview of key performance metrics such as time to first byte, time to first impression, onLoad time and fully loaded time. It also discusses tools for measuring performance like Yahoo! YSlow and Google PageSpeed which provide guidelines and scores on items that impact performance. Overall page speed, number of requests, YSlow and PageSpeed scores are important metrics to consider.
Node.js (Node) , the brain child of Ryan Dahl, was released in 2009 when he worked for Joyent, Inc. Node is one of the most hyped technologies to arrive on the web development scene, though it is also one of the most misunderstood.
So what is Node? Is it a programming language like Python, Java, or C++? Is it an application framework like Django, Rails, or Symphony? Is it maybe some type of middleware that can be plugged into existing web stacks like Memcached or RabbitMQ? Actually, it is none of the above. Node is simply a set of JavaScript language bindings to Google's powerful V8 engine. This begs the question: "what is a language binding and what is V8?"
This presentation introduces Node from an architectural perspective by discussing its implementation followed by a practical demonstration of how to build an application using it through a real-world example. Michael Filbin of Aspenware explains how Ryan liberated JavaScript from the browser and brought the power of event-driven, non-blocked programming to every developer by using the world's most popular programming language.
The document discusses various techniques for optimizing web performance and React applications. It covers topics like loading time, rendering time, dev tools, React tools, the latest features in React 17 and 18 like the new root API and startTransition API. It also discusses best practices for performance optimization in React like using pure components, React.memo, lazy loading, throttling events, debouncing events, and virtualization. Code snippets are provided as examples for some of these techniques.
Getting started with Office 365 SharePoint 2010 online developmentJeremy Thake
This document discusses getting started with application development for SharePoint 2010 Online. It covers the application development platform, sandboxed solutions, application lifecycle management, and migrating applications. The key points are that development should occur in a sandboxed environment using Visual Studio, source control is important, and third party tools can help migrate applications between environments.
Metrics, metrics everywhere (but where the heck do you start?)Tammy Everts
You want a single, unicorn metric that magically sums up the user experience, business value, and numbers that DevOps cares about, but so far, you're just not getting it. So where do you start? In this talk at the 2015 Velocity conference in Santa Clara, Cliff Crocker and I walked through various metrics that answer performance questions from multiple perspectives -- from designer and DevOps to CRO and CEO.
Metrics, Metrics Everywhere (but where the heck do you start?)SOASTA
Not surprisingly, there’s no one-size-fits-all performance metric (though life would be simpler if there were). Different metrics will give you different critical insights into whether or not your pages are delivering the results you want — both from your end user’s perspective and ultimately from your organization’s perspective. Join Tammy Everts, and walk through various metrics that answer performance questions from multiple perspectives. You’ll walk away with a better understanding of your options, as well as a clear understanding of how to choose the right metric for the right audience.
Metrics, Metrics Everywhere (but where the heck do you start?)SOASTA
Not surprisingly, there’s no one-size-fits-all performance metric (though life would be simpler if there were). Different metrics will give you different critical insights into whether or not your pages are delivering the results you want — both from your end user’s perspective and ultimately from your organization’s perspective. Join Tammy Everts, and walk through various metrics that answer performance questions from multiple perspectives. You’ll walk away with a better understanding of your options, as well as a clear understanding of how to choose the right metric for the right audience.
Make Drupal Run Fast - increase page load speedPromet Source
What does it mean when someone says “My Site is slow now”? What is page speed? How do you measure it? How can you make it faster? We’ll try to answer these questions, provide you with a set of tools to use and explain how this relates to your server load.
We will cover:
- What is page load speed? – Tools used to measure performance of your pages and site – Six Key Improvements to make Drupal “run fast”
++ Performance Module settings and how they work
++ Caching – biggest gainer and how to implement Boost
++ Other quick hits: off loading search, tweaking settings & why running crons is important
++ Ask your host about APC and how to make sure its set up correctly
++ Dare we look at the database? Easy changes that will help a lot!
- Monitoring Best practices – what to set up to make sure you know what is going on with your server – What if you get slashdoted? Recommendation on how to quickly take cover from a rhino.
MeasureWorks - Why people hate to wait for your website to load (and how to f...MeasureWorks
My slides from DrupalJam 2014... About why users abandon your website and best practices to align content and speed to create a fast user experience, and continue to keep it aligned for every release
This document summarizes a keynote speech given by John Adams, an early Twitter engineer, about scaling Twitter operations from 2008-2009. Some key points:
1) Twitter saw exponential growth rates from 2008-2009, processing over 55 million tweets per day and 600 million searches per day.
2) Operations focused on improving performance, reducing errors and outages, and using metrics to identify weaknesses and bottlenecks like network latency and database delays.
3) Technologies like Unicorn, memcached, Flock, Cassandra, and daemons were implemented to improve scalability beyond a traditional RDBMS and handle Twitter's data volumes and real-time needs.
4) Caching,
This document discusses Lattice, an open source Platform as a Service (PaaS) that was born from CloudFoundry. Lattice aims to make deploying and running containerized workloads easy through features like easy installation, clustering, scheduling, self-healing, load balancing, and log aggregation. The document provides an overview of Lattice's architecture and components like Diego for scheduling and X-Ray for visualization. It also demonstrates how to deploy Docker images and buildpacks, submit custom workloads, configure routing, and view logs using Lattice.
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
YOUR RELIABLE WEB DESIGN & DEVELOPMENT TEAM — FOR LASTING SUCCESS
WPRiders is a web development company specialized in WordPress and WooCommerce websites and plugins for customers around the world. The company is headquartered in Bucharest, Romania, but our team members are located all over the world. Our customers are primarily from the US and Western Europe, but we have clients from Australia, Canada and other areas as well.
Some facts about WPRiders and why we are one of the best firms around:
More than 700 five-star reviews! You can check them here.
1500 WordPress projects delivered.
We respond 80% faster than other firms! Data provided by Freshdesk.
We’ve been in business since 2015.
We are located in 7 countries and have 22 team members.
With so many projects delivered, our team knows what works and what doesn’t when it comes to WordPress and WooCommerce.
Our team members are:
- highly experienced developers (employees & contractors with 5 -10+ years of experience),
- great designers with an eye for UX/UI with 10+ years of experience
- project managers with development background who speak both tech and non-tech
- QA specialists
- Conversion Rate Optimisation - CRO experts
They are all working together to provide you with the best possible service. We are passionate about WordPress, and we love creating custom solutions that help our clients achieve their goals.
At WPRiders, we are committed to building long-term relationships with our clients. We believe in accountability, in doing the right thing, as well as in transparency and open communication. You can read more about WPRiders on the About us page.
Choose our Linux Web Hosting for a seamless and successful online presencerajancomputerfbd
Our Linux Web Hosting plans offer unbeatable performance, security, and scalability, ensuring your website runs smoothly and efficiently.
Visit- https://onliveserver.com/linux-web-hosting/
Coordinate Systems in FME 101 - Webinar SlidesSafe Software
If you’ve ever had to analyze a map or GPS data, chances are you’ve encountered and even worked with coordinate systems. As historical data continually updates through GPS, understanding coordinate systems is increasingly crucial. However, not everyone knows why they exist or how to effectively use them for data-driven insights.
During this webinar, you’ll learn exactly what coordinate systems are and how you can use FME to maintain and transform your data’s coordinate systems in an easy-to-digest way, accurately representing the geographical space that it exists within. During this webinar, you will have the chance to:
- Enhance Your Understanding: Gain a clear overview of what coordinate systems are and their value
- Learn Practical Applications: Why we need datams and projections, plus units between coordinate systems
- Maximize with FME: Understand how FME handles coordinate systems, including a brief summary of the 3 main reprojectors
- Custom Coordinate Systems: Learn how to work with FME and coordinate systems beyond what is natively supported
- Look Ahead: Gain insights into where FME is headed with coordinate systems in the future
Don’t miss the opportunity to improve the value you receive from your coordinate system data, ultimately allowing you to streamline your data analysis and maximize your time. See you there!
Best Practices for Effectively Running dbt in Airflow.pdfTatiana Al-Chueyr
As a popular open-source library for analytics engineering, dbt is often used in combination with Airflow. Orchestrating and executing dbt models as DAGs ensures an additional layer of control over tasks, observability, and provides a reliable, scalable environment to run dbt models.
This webinar will cover a step-by-step guide to Cosmos, an open source package from Astronomer that helps you easily run your dbt Core projects as Airflow DAGs and Task Groups, all with just a few lines of code. We’ll walk through:
- Standard ways of running dbt (and when to utilize other methods)
- How Cosmos can be used to run and visualize your dbt projects in Airflow
- Common challenges and how to address them, including performance, dependency conflicts, and more
- How running dbt projects in Airflow helps with cost optimization
Webinar given on 9 July 2024
An invited talk given by Mark Billinghurst on Research Directions for Cross Reality Interfaces. This was given on July 2nd 2024 as part of the 2024 Summer School on Cross Reality in Hagenberg, Austria (July 1st - 7th)
Mitigating the Impact of State Management in Cloud Stream Processing SystemsScyllaDB
Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states.
In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing.
Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc
Six months into 2024, and it is clear the privacy ecosystem takes no days off!! Regulators continue to implement and enforce new regulations, businesses strive to meet requirements, and technology advances like AI have privacy professionals scratching their heads about managing risk.
What can we learn about the first six months of data privacy trends and events in 2024? How should this inform your privacy program management for the rest of the year?
Join TrustArc, Goodwin, and Snyk privacy experts as they discuss the changes we’ve seen in the first half of 2024 and gain insight into the concrete, actionable steps you can take to up-level your privacy program in the second half of the year.
This webinar will review:
- Key changes to privacy regulations in 2024
- Key themes in privacy and data governance in 2024
- How to maximize your privacy program in the second half of 2024
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionBert Blevins
Cybersecurity is a major concern in today's connected digital world. Threats to organizations are constantly evolving and have the potential to compromise sensitive information, disrupt operations, and lead to significant financial losses. Traditional cybersecurity techniques often fall short against modern attackers. Therefore, advanced techniques for cyber security analysis and anomaly detection are essential for protecting digital assets. This blog explores these cutting-edge methods, providing a comprehensive overview of their application and importance.
How Social Media Hackers Help You to See Your Wife's Message.pdfHackersList
In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.
Best Programming Language for Civil EngineersAwais Yaseen
The integration of programming into civil engineering is transforming the industry. We can design complex infrastructure projects and analyse large datasets. Imagine revolutionizing the way we build our cities and infrastructure, all by the power of coding. Programming skills are no longer just a bonus—they’re a game changer in this era.
Technology is revolutionizing civil engineering by integrating advanced tools and techniques. Programming allows for the automation of repetitive tasks, enhancing the accuracy of designs, simulations, and analyses. With the advent of artificial intelligence and machine learning, engineers can now predict structural behaviors under various conditions, optimize material usage, and improve project planning.
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfjackson110191
These fighter aircraft have uses outside of traditional combat situations. They are essential in defending India's territorial integrity, averting dangers, and delivering aid to those in need during natural calamities. Additionally, the IAF improves its interoperability and fortifies international military alliances by working together and conducting joint exercises with other air forces.
Measuring the Impact of Network Latency at TwitterScyllaDB
Widya Salim and Victor Ma will outline the causal impact analysis, framework, and key learnings used to quantify the impact of reducing Twitter's network latency.
The Rise of Supernetwork Data Intensive ComputingLarry Smarr
Invited Remote Lecture to SC21
The International Conference for High Performance Computing, Networking, Storage, and Analysis
St. Louis, Missouri
November 18, 2021
Comparison Table of DiskWarrior Alternatives.pdfAndrey Yasko
To help you choose the best DiskWarrior alternative, we've compiled a comparison table summarizing the features, pros, cons, and pricing of six alternatives.
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Erasmo Purificato
Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)
2. About Me
Tom Mornini
• Co-founder and CTO of
Engine Yard
• Ruby on Rails advocate
2
3. Agenda
Time Topic
8:45 am – 9:10 am Introductions
9:10 am – 9:40 am Amazon Web Services
9:40 am – 10:10 am New Relic
10:10 am – 10:15 am Break
10:15 am – 10:55 am Engine Yard Cloud
10:55 am – 11:25 am CVSDude
11:25 am – 11:55 am CloudTest by Soasta
11:55 am – 12:00 pm Wrap Up
3
10. Instant Programmable Infrastructure
# get a list of buckets
s3.get_service
# create a bucket
s3.put_bucket('bucketname')
# get the contents of that
bucket
s3.get_bucket('bucketname')
# delete that bucket
s3.delete_bucket('bucketname')
10
17. Wikia: Exit Rate vs. Page Load Time
30%
23%
• Wikia Source Data
15%
8%
0%
0.0 1.0 2.0 3.0 4.0 5.0
Seconds
Source: Velocity 2009
17
18. Google Search Latency Experiment
• Measure result of artificially
induced latency
• Search volume per user
decreased by 0.8% with an
artificial 400ms delay
• Effect cumulative over time
and persisted after
experiment’s timeframe
Source: http://code.google.com/speed/files/delayexp.pdf
18
19. High Performance = AdWord Ranking
http://adwords.google.com/support/aw/bin/answer.py?hl=en&answer=93112
19
20. High Performance = Organic Search Benefit?
• Certainty: very slow pages are skipped by indexer
• Possibility: slower pages = higher bounce rate = lower
organic search score
20
25. The Four Stages of Performance
Delight
Satisfaction
(<1s)
Frustration
(1-4s)
Abandonment
(4-8s)
(8s+)
25
26. Conventional Wisdom: Performance Thresholds
Delight (<1s)
Satisfaction (1-4s)
Frustration (4-8s)
3.4s
Average Web
Load Time
Abandonment (8-20s)
Source: Apdex, http://blog.gomez.com/2009/08/a-look-at-the-browser-wars/
26
27. Page Load Performance: 100 Rails Sites
25
20 Google Analytics, Ads
DoubleClick FBConnect, CDNs…
15
10 3.1s Median Load Time
5
0
US average web-site load time 3.4s
Sources: Engine Yard Rails Site Survey, using Yahoo! YSlow
27
34. The Rules for Optimized Page Construction
1. Minimize HTTP Requests
12. Remove Duplicate Scripts
2. Use a Content Delivery Network
13. Configure ETags
3. Expires or Cache-Control Headers
14. Make AJAX Cacheable
4. Gzip Components
15. Use GET for AJAX Requests
5. Put StyleSheets at the Top
16. Reduce the Number of DOM Elements
6. Put Scripts at the Bottom
17. No 404s
7. Avoid CSS Expressions
18. Reduce Cookie Size
8. Make JavaScript and CSS External
19. Use Cookie-Free Domains
9. Reduce DNS Lookups
20. Avoid Filters
10. Minify JavaScript and CSS
21. Do Not Scale Images in HTML
11. Avoid Redirects
22. Make favicon.ico Small and Cacheable
Source: ySlow Performance Checks
34
35. Engine Yard and Rails to the Rescue
1. Minimize HTTP Requests
12. Remove Duplicate Scripts
2. Use a Content Delivery Network
13. Configure ETags
3. Expires or Cache-Control Headers
14. Make AJAX Cacheable
4. Gzip Components
15. Use GET for AJAX Requests
5. Put StyleSheets at the Top
16. Reduce the Number of DOM Elements
6. Put Scripts at the Bottom
17. No 404s
7. Avoid CSS Expressions
18. Reduce Cookie Size
8. Make JavaScript and CSS External
19. Use Cookie-Free Domains
9. Reduce DNS Lookups
20. Avoid Filters
10. Minify JavaScript and CSS
21. Do Not Scale Images in HTML
11. Avoid Redirects
22. Make favicon.ico Small and Cacheable
Rails 3 Bringing Even More: CSS Sprite Support and Lazy JavaScript
35
36. Engine Yard Rails Site Survey Findings
• # of HTTP requests and JavaScript payload size were
the statistically significant contributors to load time
• Each http request adds 0.04s to page download time
• Each 100Kb of JavaScript = 0.74s added to load time
• Many pages constructed with blocking JavaScript loads
• 25% of payload is now JavaScript
36
37. 2. Patterns of Fast Rails Application Code
• Eager loading of associations
• Do as little as possible during the http request cycle
• Gem due diligence
37
39. Foundation: Patterns of Performance At Scale
Non
Difficulty of Implementation
ACID
Datastores
Sharded
Data
Task
Partitioned
Asynch
Data
Processing
Caches
Scale
39