SlideShare a Scribd company logo
1 of 23
Download to read offline
Yet 
                          Another 
                             Rails 
                           Scaling 
                      Presentation 
Ruby on Rails Meetup 
May 10, 2007 
Jared Friedman (jared@scribd.com) and 
Tikhon Bernstam (tikhon@scribd.com)
Should you bother with 
scaling? 
l  Well, it depends 

l  But if you’re launching a startup, probably 

l  The best way to launch a startup these days 
   is to get it on TechCrunch, Digg, Reddit, etc. 
l  You don’t get as much time to grow 
   organically as you used to 
l  You only get one launch – don’t want your 
   site to fall over
The Predecessors 
l  Other great places to look for info on this 
      poocs.net The Adventures of Scaling Rails 
l 
     http://poocs.net/2006/3/13/the­adventures­of­scaling­stage­1 


l  Stephen Kaes “Performance Rails” 
     http://railsexpress.de/blog/files/slides/rubyenrails2006.pdf 


l  RobotCoop blog and gems 
     http://www.robotcoop.com/articles/2006/10/10/the­software­and­hardware­that­runs­our­sites 


l  O’reilly book “High Performance MySQL” 
           It’s not rails, but it’s really useful
     l 
Big Picture 
l  This presentation will concentrate on what’s 
   different from previous writings, not a 
   comprehensive overview 
l  Available at http://www.scribd.com/blog
Who we are 
l  Scribd.com 

l  Like “YouTube for documents” 

l  Launched in March, 2007 

l  Handles ~1M requests per day
Key Points 
l  General architecture 

l  Use fragment caching! 

l  Rolling your own traffic analytics and some 
  SQL tips
Current Scribd architecture 
l  1 Web Server 

l  3 Database Servers 

l  3 Document conversion servers 

l  Test and backup machines 

l  Amazon S3
Server Hardware 
l  Dual, dual­core woodcrests at 3GHz 

l  16GB of memory 

l  4 15K SCSCI hard drives in a RAID 10 

l  We learned: disk speed is important 

l  Don't skimp; you’re not Google, and it's 
   easier to scale up than out 
l  Softlayer is a great dedicated hosting 
   company
Various software details 
l  CentOS 

l  Apache/Mongrel 

l  Memcached, RobotCoop’s memcache­client 

l  Stefan Kaes’ SQLSessionStore 
       Best way to store persistent sessions 
  l 

l  Monit, Capistrano 

l  Postfix
Fragment Caching 
    quot;We don’t use any page or fragment 
l 
   caching.quot; ­ robotcoop 
l  quot;Play with fragment caching ... no 
   improvement, changes were reverted at a 
   later time.quot; ­ poocs.net 
l  Well, maybe it's application specific 

l  Scribd uses fragment caching extensively, 
   enormous performance improvement
ScreenShot
How to Use Fragment Caching 
     Ignore all but the most frequently accessed pages 
l 
     Look for pieces of the page that don't change on 
l 
     every page view and are expensive to compute 
     Just wrap them in a 
l 
     <% cache('keyname‘) do %> 
         … 
      <% end %> 
     Do timing test before and afterwards; backtrack 
l 
     unless significant performance gains 
     We see > 10X
l 
Expiring fragments, 1. Time based 
l  You should really use memcached for storing 
    fragments 
       Better performance 
    l 
    l  Easier to scale to multiple servers 
    l  Most important: allows time­based expiration 
l  Use plugin http://agilewebdevelopment.com/plugins/memcache_fragments_with_time_expiry 
l  Dead easy: 
     <% cache 'keyname‘, :expire => 10.minutes do %> 
           ... 
    <% end %>
Expiring fragments, 2. Manually 

l  No need to serve stale data 

l  Just use: 

  Cache.delete(quot;fragment:/partials/whateverquot;) 
l  Clear fragments whenever data changes 

l  Again, easier with memcached
Traffic Analytics 
l  Google Analytics is nice, but there are a lot of 
  reasons to roll your own traffic analytics too 
       Can be much more powerful 
  l 

       You can write SQL to answer arbitrary questions 
  l 

       Can expose to users
  l 
Scribd’s analytics 
(screenshots)
Building traffic analytics, part 1 
     create_table “page_views” do |t| 
l 

          t.column “user_id”, :integer 
          t.column “request_url”, :string, :limit => 200 
          t.column “session”, :string, :limit => 32 
          t.column “ip_address”, :string, :limit => 16 
          t.column “referer”, :string, :limit => 200 
          t.column “user_agent”, :string, :limit => 200 
          t.column “created_at”, :timestamp 
     end 
     Add a whole bunch of indexes, depending on queries
l 
Building traffic analytics, part 2 

l  Create a PageView on every request 

l  We used a hand­built SQL query to take out 
   the ActiveRecord overhead on this 
l  Might try MySQL’s “insert delayed” 

l  Analytics queries are usually hand­coded 
   SQL 
l  Use “explain select” to make sure MySQL is 
   using the indexes you expect
Building Traffic Analytics, part 3 

l  Scales pretty well 

l  BUT analytics queries expensive, can clog up 
   main DB server 
l  Our solution: 
       use two DB servers in a master/slave setup 
  l 

       move all the analytics queries to the slave
  l 
Rails with multiple databases, part 1 
     quot;At this point in time there’s no facility in Rails to talk 
l 
     to more than one database at a time.quot; ­ Alex Payne, 
     Twitter developer 
     Well that's true 
l 
     But setting things up yourself is about 10 lines of 
l 
     code. 
     There are now also two great plugins for doing this: 
l 
     Magic multi­connections 
     http://magicmodels.rubyforge.org/magic_multi_conn 
     ections/ 
     Acts as read onlyable­ 
     http://rubyforge.org/frs/?group_id=3451
Rails with multiple databases, part 2 

l  At Scribd we use this to send pre­defined 
   expensive queries to a slave 
l  This can be very important for dealing with 
   lock contention issues 
l  You could also do automatic load balancing, 
   but synchronization becomes more 
   complicated (read a SQL book, not a Rails 
   issue)
Rails with multiple databases, code 
     In database.yml 
l 
     slave1: 
     host: 18.48.43.29  # your slave’s IP 
     database: production 
     username: root 
     password: pass 
     Define a model Slave1.rb 
l 
class Slave1 < ActiveRecord::Base 
   self.abstract_class = true 
   establish_connection :slave1 
end 
     When you need to run a query on the slave, just do 
l 
     Slave1.connection.execute(quot;select * from some_tablequot;)
Shameless Self­Promotion 
l  Scribd.com: VC­backed and hiring 

l  Just 3 people so far! >10 by end of year. 

l  Awesome salary/equity combination 

l  If you’re reading this, you’re probably the 
   right kind of person 
l  Building the world's largest open document 
   library 
l  Email: hackers@scribd.com

More Related Content

Viewers also liked

Momentum Infocare Corporate Presentation
Momentum Infocare   Corporate PresentationMomentum Infocare   Corporate Presentation
Momentum Infocare Corporate Presentationeraz
 
Srx Product Introduction Power Point Presentation ©Palmetto Equipment
Srx Product Introduction Power Point Presentation ©Palmetto EquipmentSrx Product Introduction Power Point Presentation ©Palmetto Equipment
Srx Product Introduction Power Point Presentation ©Palmetto Equipmenteraz
 
Creative Commons Metrics Presentation
Creative Commons Metrics PresentationCreative Commons Metrics Presentation
Creative Commons Metrics Presentationeraz
 
Hundimiento En Senderos Petaonales
Hundimiento En Senderos PetaonalesHundimiento En Senderos Petaonales
Hundimiento En Senderos Petaonalesportalsierras
 
Top 5 Dos And Don Ts For Measuring Web 2 0
Top 5  Dos And  Don Ts For  Measuring  Web 2 0Top 5  Dos And  Don Ts For  Measuring  Web 2 0
Top 5 Dos And Don Ts For Measuring Web 2 0eraz
 
Yahoo! 2 Q 2007 Earnings Presentation
Yahoo! 2 Q 2007 Earnings PresentationYahoo! 2 Q 2007 Earnings Presentation
Yahoo! 2 Q 2007 Earnings Presentationeraz
 
Prdata
PrdataPrdata
Prdataalee
 
Pr Crisis
Pr CrisisPr Crisis
Pr Crisisalee
 
Most Unusual Haircut
Most Unusual HaircutMost Unusual Haircut
Most Unusual Haircuteraz
 
Revisedmemoryinc[1]
Revisedmemoryinc[1]Revisedmemoryinc[1]
Revisedmemoryinc[1]alee
 
Pr Crisis
Pr CrisisPr Crisis
Pr Crisisalee
 
The Heyday Of Blood
The Heyday Of BloodThe Heyday Of Blood
The Heyday Of Bloodclint33
 
Funny
FunnyFunny
Funnyeraz
 
Babson Glavin Presentation Onsite Videos 2007
Babson Glavin Presentation Onsite Videos 2007Babson Glavin Presentation Onsite Videos 2007
Babson Glavin Presentation Onsite Videos 2007eraz
 
Web20 Expo 2007 Mobile Experience
Web20 Expo 2007 Mobile ExperienceWeb20 Expo 2007 Mobile Experience
Web20 Expo 2007 Mobile Experienceeraz
 
Dot Mobi Mobile Web Developers Guide
Dot Mobi Mobile Web Developers GuideDot Mobi Mobile Web Developers Guide
Dot Mobi Mobile Web Developers Guideeraz
 
Iran Powerpoint Presentation 2
Iran Powerpoint Presentation 2Iran Powerpoint Presentation 2
Iran Powerpoint Presentation 2guest74a363
 
Iran Powerpoint Presentation 3
Iran Powerpoint Presentation 3Iran Powerpoint Presentation 3
Iran Powerpoint Presentation 3guest74a363
 
History Of Bioethanol Presentation
History Of Bioethanol   PresentationHistory Of Bioethanol   Presentation
History Of Bioethanol Presentationeraz
 

Viewers also liked (19)

Momentum Infocare Corporate Presentation
Momentum Infocare   Corporate PresentationMomentum Infocare   Corporate Presentation
Momentum Infocare Corporate Presentation
 
Srx Product Introduction Power Point Presentation ©Palmetto Equipment
Srx Product Introduction Power Point Presentation ©Palmetto EquipmentSrx Product Introduction Power Point Presentation ©Palmetto Equipment
Srx Product Introduction Power Point Presentation ©Palmetto Equipment
 
Creative Commons Metrics Presentation
Creative Commons Metrics PresentationCreative Commons Metrics Presentation
Creative Commons Metrics Presentation
 
Hundimiento En Senderos Petaonales
Hundimiento En Senderos PetaonalesHundimiento En Senderos Petaonales
Hundimiento En Senderos Petaonales
 
Top 5 Dos And Don Ts For Measuring Web 2 0
Top 5  Dos And  Don Ts For  Measuring  Web 2 0Top 5  Dos And  Don Ts For  Measuring  Web 2 0
Top 5 Dos And Don Ts For Measuring Web 2 0
 
Yahoo! 2 Q 2007 Earnings Presentation
Yahoo! 2 Q 2007 Earnings PresentationYahoo! 2 Q 2007 Earnings Presentation
Yahoo! 2 Q 2007 Earnings Presentation
 
Prdata
PrdataPrdata
Prdata
 
Pr Crisis
Pr CrisisPr Crisis
Pr Crisis
 
Most Unusual Haircut
Most Unusual HaircutMost Unusual Haircut
Most Unusual Haircut
 
Revisedmemoryinc[1]
Revisedmemoryinc[1]Revisedmemoryinc[1]
Revisedmemoryinc[1]
 
Pr Crisis
Pr CrisisPr Crisis
Pr Crisis
 
The Heyday Of Blood
The Heyday Of BloodThe Heyday Of Blood
The Heyday Of Blood
 
Funny
FunnyFunny
Funny
 
Babson Glavin Presentation Onsite Videos 2007
Babson Glavin Presentation Onsite Videos 2007Babson Glavin Presentation Onsite Videos 2007
Babson Glavin Presentation Onsite Videos 2007
 
Web20 Expo 2007 Mobile Experience
Web20 Expo 2007 Mobile ExperienceWeb20 Expo 2007 Mobile Experience
Web20 Expo 2007 Mobile Experience
 
Dot Mobi Mobile Web Developers Guide
Dot Mobi Mobile Web Developers GuideDot Mobi Mobile Web Developers Guide
Dot Mobi Mobile Web Developers Guide
 
Iran Powerpoint Presentation 2
Iran Powerpoint Presentation 2Iran Powerpoint Presentation 2
Iran Powerpoint Presentation 2
 
Iran Powerpoint Presentation 3
Iran Powerpoint Presentation 3Iran Powerpoint Presentation 3
Iran Powerpoint Presentation 3
 
History Of Bioethanol Presentation
History Of Bioethanol   PresentationHistory Of Bioethanol   Presentation
History Of Bioethanol Presentation
 

Similar to Scaling Rails Presentation

Blueprint talk at Open Hackday London 2009
Blueprint talk at Open Hackday London 2009Blueprint talk at Open Hackday London 2009
Blueprint talk at Open Hackday London 2009Ricardo Varela
 
Gmr Highload Presentation Revised
Gmr Highload Presentation RevisedGmr Highload Presentation Revised
Gmr Highload Presentation RevisedOntico
 
Gmr Highload Presentation
Gmr Highload PresentationGmr Highload Presentation
Gmr Highload PresentationOntico
 
Using Wordpress 2009 04 29
Using Wordpress 2009 04 29Using Wordpress 2009 04 29
Using Wordpress 2009 04 29Matthew Baya
 
High Performance Kick Ass Web Apps (JavaScript edition)
High Performance Kick Ass Web Apps (JavaScript edition)High Performance Kick Ass Web Apps (JavaScript edition)
High Performance Kick Ass Web Apps (JavaScript edition)Stoyan Stefanov
 
Capybara with Rspec
Capybara with RspecCapybara with Rspec
Capybara with RspecOmnia Helmi
 
Cwinters Intro To Rest And JerREST and Jersey Introductionsey
Cwinters Intro To Rest And JerREST and Jersey IntroductionseyCwinters Intro To Rest And JerREST and Jersey Introductionsey
Cwinters Intro To Rest And JerREST and Jersey Introductionseyelliando dias
 
Django The Fun Framework
Django   The Fun FrameworkDjango   The Fun Framework
Django The Fun FrameworkYekmer Simsek
 
Intro To Django
Intro To DjangoIntro To Django
Intro To DjangoUdi Bauman
 
jQuery SUG Group Introduction
jQuery SUG Group IntroductionjQuery SUG Group Introduction
jQuery SUG Group IntroductionAndrew Chalkley
 
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...John McCaffrey
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuningJohn McCaffrey
 
Single Page WebApp Architecture
Single Page WebApp ArchitectureSingle Page WebApp Architecture
Single Page WebApp ArchitectureMorgan Cheng
 
Pump up the JAM with Gatsby
Pump up the JAM with GatsbyPump up the JAM with Gatsby
Pump up the JAM with GatsbyStefan Adolf
 

Similar to Scaling Rails Presentation (20)

Blueprint talk at Open Hackday London 2009
Blueprint talk at Open Hackday London 2009Blueprint talk at Open Hackday London 2009
Blueprint talk at Open Hackday London 2009
 
Happy Coding with Ruby on Rails
Happy Coding with Ruby on RailsHappy Coding with Ruby on Rails
Happy Coding with Ruby on Rails
 
Gmr Highload Presentation Revised
Gmr Highload Presentation RevisedGmr Highload Presentation Revised
Gmr Highload Presentation Revised
 
Gmr Highload Presentation
Gmr Highload PresentationGmr Highload Presentation
Gmr Highload Presentation
 
Using Wordpress 2009 04 29
Using Wordpress 2009 04 29Using Wordpress 2009 04 29
Using Wordpress 2009 04 29
 
High Performance Kick Ass Web Apps (JavaScript edition)
High Performance Kick Ass Web Apps (JavaScript edition)High Performance Kick Ass Web Apps (JavaScript edition)
High Performance Kick Ass Web Apps (JavaScript edition)
 
Capybara with Rspec
Capybara with RspecCapybara with Rspec
Capybara with Rspec
 
JSON Viewer XPATH Workbook
JSON Viewer XPATH WorkbookJSON Viewer XPATH Workbook
JSON Viewer XPATH Workbook
 
Cwinters Intro To Rest And JerREST and Jersey Introductionsey
Cwinters Intro To Rest And JerREST and Jersey IntroductionseyCwinters Intro To Rest And JerREST and Jersey Introductionsey
Cwinters Intro To Rest And JerREST and Jersey Introductionsey
 
Django The Fun Framework
Django   The Fun FrameworkDjango   The Fun Framework
Django The Fun Framework
 
Sinatra
SinatraSinatra
Sinatra
 
Intro To Django
Intro To DjangoIntro To Django
Intro To Django
 
Oscon 20080724
Oscon 20080724Oscon 20080724
Oscon 20080724
 
jQuery SUG Group Introduction
jQuery SUG Group IntroductionjQuery SUG Group Introduction
jQuery SUG Group Introduction
 
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuning
 
Single Page WebApp Architecture
Single Page WebApp ArchitectureSingle Page WebApp Architecture
Single Page WebApp Architecture
 
Shifting Gears
Shifting GearsShifting Gears
Shifting Gears
 
Pump up the JAM with Gatsby
Pump up the JAM with GatsbyPump up the JAM with Gatsby
Pump up the JAM with Gatsby
 
Sinatra
SinatraSinatra
Sinatra
 

More from eraz

Mustaches
MustachesMustaches
Mustacheseraz
 
Cool Unusual Sculptures
Cool Unusual SculpturesCool Unusual Sculptures
Cool Unusual Sculptureseraz
 
Wal Mart Presentation Citigroup 021407
Wal  Mart  Presentation  Citigroup 021407Wal  Mart  Presentation  Citigroup 021407
Wal Mart Presentation Citigroup 021407eraz
 
Wal Mart Presentation Citigroup 021407
Wal Mart Presentation Citigroup 021407Wal Mart Presentation Citigroup 021407
Wal Mart Presentation Citigroup 021407eraz
 
Are Agile Projects Doomed To Halfbaked Design
Are Agile Projects Doomed To Halfbaked DesignAre Agile Projects Doomed To Halfbaked Design
Are Agile Projects Doomed To Halfbaked Designeraz
 
Web Applications Are Getting Interesting!
Web Applications Are Getting Interesting!Web Applications Are Getting Interesting!
Web Applications Are Getting Interesting!eraz
 
Sxsw2007 Mobile
Sxsw2007 MobileSxsw2007 Mobile
Sxsw2007 Mobileeraz
 
Form A Wall Presentation Short
Form A Wall Presentation   ShortForm A Wall Presentation   Short
Form A Wall Presentation Shorteraz
 
Mc Kinney Presentation
Mc Kinney PresentationMc Kinney Presentation
Mc Kinney Presentationeraz
 
Pitney Bowes 2006 Presentation Martin
Pitney Bowes 2006 Presentation   MartinPitney Bowes 2006 Presentation   Martin
Pitney Bowes 2006 Presentation Martineraz
 
Dot Net Tips And Tricks
Dot Net Tips And TricksDot Net Tips And Tricks
Dot Net Tips And Trickseraz
 
Clearspring Widgetsphere
Clearspring WidgetsphereClearspring Widgetsphere
Clearspring Widgetsphereeraz
 
Arksports Presentation 2004v2
Arksports Presentation 2004v2Arksports Presentation 2004v2
Arksports Presentation 2004v2eraz
 
Unfi Presentation Nov 2006
Unfi Presentation Nov 2006Unfi Presentation Nov 2006
Unfi Presentation Nov 2006eraz
 
O Racle Asm Best Practices Presentation
O Racle Asm Best Practices PresentationO Racle Asm Best Practices Presentation
O Racle Asm Best Practices Presentationeraz
 
Investment Challenge Presentation
Investment Challenge PresentationInvestment Challenge Presentation
Investment Challenge Presentationeraz
 
Malaria Cellbiology Presentation
Malaria Cellbiology PresentationMalaria Cellbiology Presentation
Malaria Cellbiology Presentationeraz
 
Hp Q3 2007 Earnings Presentation
Hp Q3 2007 Earnings PresentationHp Q3 2007 Earnings Presentation
Hp Q3 2007 Earnings Presentationeraz
 
Fowa 2007 Netvibes Remix The Web
Fowa 2007  Netvibes  Remix The WebFowa 2007  Netvibes  Remix The Web
Fowa 2007 Netvibes Remix The Weberaz
 
Flickr Architecture Presentation
Flickr Architecture PresentationFlickr Architecture Presentation
Flickr Architecture Presentationeraz
 

More from eraz (20)

Mustaches
MustachesMustaches
Mustaches
 
Cool Unusual Sculptures
Cool Unusual SculpturesCool Unusual Sculptures
Cool Unusual Sculptures
 
Wal Mart Presentation Citigroup 021407
Wal  Mart  Presentation  Citigroup 021407Wal  Mart  Presentation  Citigroup 021407
Wal Mart Presentation Citigroup 021407
 
Wal Mart Presentation Citigroup 021407
Wal Mart Presentation Citigroup 021407Wal Mart Presentation Citigroup 021407
Wal Mart Presentation Citigroup 021407
 
Are Agile Projects Doomed To Halfbaked Design
Are Agile Projects Doomed To Halfbaked DesignAre Agile Projects Doomed To Halfbaked Design
Are Agile Projects Doomed To Halfbaked Design
 
Web Applications Are Getting Interesting!
Web Applications Are Getting Interesting!Web Applications Are Getting Interesting!
Web Applications Are Getting Interesting!
 
Sxsw2007 Mobile
Sxsw2007 MobileSxsw2007 Mobile
Sxsw2007 Mobile
 
Form A Wall Presentation Short
Form A Wall Presentation   ShortForm A Wall Presentation   Short
Form A Wall Presentation Short
 
Mc Kinney Presentation
Mc Kinney PresentationMc Kinney Presentation
Mc Kinney Presentation
 
Pitney Bowes 2006 Presentation Martin
Pitney Bowes 2006 Presentation   MartinPitney Bowes 2006 Presentation   Martin
Pitney Bowes 2006 Presentation Martin
 
Dot Net Tips And Tricks
Dot Net Tips And TricksDot Net Tips And Tricks
Dot Net Tips And Tricks
 
Clearspring Widgetsphere
Clearspring WidgetsphereClearspring Widgetsphere
Clearspring Widgetsphere
 
Arksports Presentation 2004v2
Arksports Presentation 2004v2Arksports Presentation 2004v2
Arksports Presentation 2004v2
 
Unfi Presentation Nov 2006
Unfi Presentation Nov 2006Unfi Presentation Nov 2006
Unfi Presentation Nov 2006
 
O Racle Asm Best Practices Presentation
O Racle Asm Best Practices PresentationO Racle Asm Best Practices Presentation
O Racle Asm Best Practices Presentation
 
Investment Challenge Presentation
Investment Challenge PresentationInvestment Challenge Presentation
Investment Challenge Presentation
 
Malaria Cellbiology Presentation
Malaria Cellbiology PresentationMalaria Cellbiology Presentation
Malaria Cellbiology Presentation
 
Hp Q3 2007 Earnings Presentation
Hp Q3 2007 Earnings PresentationHp Q3 2007 Earnings Presentation
Hp Q3 2007 Earnings Presentation
 
Fowa 2007 Netvibes Remix The Web
Fowa 2007  Netvibes  Remix The WebFowa 2007  Netvibes  Remix The Web
Fowa 2007 Netvibes Remix The Web
 
Flickr Architecture Presentation
Flickr Architecture PresentationFlickr Architecture Presentation
Flickr Architecture Presentation
 

Recently uploaded

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 
"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
 
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
 
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
 
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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Recently uploaded (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
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
 
"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...
 
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)
 
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
 
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?
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

Scaling Rails Presentation