SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
Maximum Uptime
Cluster Orchestration
with Ansible
Ryan Ross, Senior Site Reliability Engineer
Ryan Ross
■ Senior Site Reliability Engineer at dbt Labs
■ Senior DevOps Engineer at Martin DSP/Pubmatic
■ DevOps Engineer at ConstructConnect
■ Senior Operations Engineer at Alveo Health
Your photo
goes here,
smile :)
Talk Objective:
Provide actionable tips and
patterns to build confidence
in orchestrating ScyllaDB in
Production with Ansible.
■ ScyllaDB Use Cases at a DSP
■ Define “Cluster Uptime”
■ Tips for Using Ansible with ScyllaDB
■ Demo
Presentation Agenda
ScyllaDB Use Cases
What is a Demand-Side Platform (DSP)?
A Demand-Side Platform is a system that allows buyers of
digital advertising inventory to manage multiple ad exchange
and data exchange accounts through one interface - Wikipedia
What is a Demand-Side Platform (DSP)?
A Demand-Side Platform is a system that allows buyers of
digital advertising inventory to manage multiple ad exchange
and data exchange accounts through one interface - Wikipedia
What is a Demand-Side Platform (DSP)?
A Demand-Side Platform is a system that allows buyers of
digital advertising inventory to manage multiple ad exchange
and data exchange accounts through one interface - Wikipedia
What is a Demand-Side Platform (DSP)?
A Demand-Side Platform is a system that allows buyers of
digital advertising inventory to manage multiple ad exchange
and data exchange accounts through one interface - Wikipedia
What is a Demand-Side Platform (DSP)?
A Demand-Side Platform is a system that allows buyers of
digital advertising inventory to manage multiple ad exchange
and data exchange accounts through one interface - Wikipedia
The DSP connected advertisers and agencies with audiences to
allow real-time bidding for and displaying of online-advertising.
Use Cases for ScyllaDB at a DSP
Use Cases for ScyllaDB at a DSP
Billions of requests per day
Use Cases for ScyllaDB at a DSP
Billions of requests per day
Equal read and write access patterns
Use Cases for ScyllaDB at a DSP
Billions of requests per day
Equal read and write access patterns
24 x 7 x 365 Uptime
Use Cases for ScyllaDB at a DSP
Billions of requests per day
Equal read and write access patterns
24 x 7 x 365 Uptime
Millisecond response times
Use Cases for ScyllaDB at a DSP
Billions of requests per day
Equal read and write access patterns
24 x 7 x 365 Uptime
Millisecond response times
Huge datasets
Use Cases for ScyllaDB at a DSP
Billions of requests per day
Equal read and write access patterns
24 x 7 x 365 Uptime
Millisecond response times
Huge datasets
Defining “Uptime”
Defining “Uptime”
Provide a cluster that is available for dependent applications.
Whole Cluster Uptime
Whole Cluster Uptime
Whole Cluster Uptime
Whole Cluster Uptime
Whole Cluster Uptime
Whole Cluster Uptime
Tips for Using Ansible
to Orchestrate
ScyllaDB with Whole
Cluster Maximum Uptime
* Use at your own risk. Always test in a non-customer facing environment first!
Inventory to Cluster Architecture
Structuring your Inventory will go a long
way in helping manage multiple clusters
and data centers. I saw success with:
Inventory to Cluster Architecture
Structuring your Inventory will go a long
way in helping manage multiple clusters
and data centers. I saw success with:
■ Inventory -> Cluster
Inventory to Cluster Architecture
Structuring your Inventory will go a long
way in helping manage multiple clusters
and data centers. I saw success with:
■ Inventory -> Cluster
■ Inventory Group -> Data Center
Inventory to Cluster Architecture
Ansible can have multiple Inventories
Dynamic Inventory Scripts
An underused superpower of your Cloud Provider is using them as your
asset management database. Ansible can tie into provider’s API to get
metadata information on instances with Dynamic Inventory Scripts.
Dynamic Inventory Scripts
Dynamic Inventory Scripts
Dynamic Inventory Scripts
Dynamic Inventory Scripts
Use Lineinfile Module Instead of Template
The ansible.builtin.lineinfile module should be
used instead of others such as copy or template.
Use Lineinfile Module Instead of Template
The ansible.builtin.lineinfile module should be
used instead of others such as copy or template.
■ Copy and Template assume Ansible has a valid
copy of the file
Use Lineinfile Module Instead of Template
The ansible.builtin.lineinfile module should be
used instead of others such as copy or template.
■ Copy and Template assume Ansible has a valid
copy of the file
Use Lineinfile Module Instead of Template
The ansible.builtin.lineinfile module should be
used instead of others such as copy or template.
■ Copy and Template assume Ansible has a valid
copy of the file
Use Lineinfile Module Instead of Template
The ansible.builtin.lineinfile module should be
used instead of others such as copy or template.
■ Copy and Template assume Ansible has a valid
copy of the file
■ This becomes problematic with files that are
changed by the project, such as config files
installed with the distribution’s installer
Use Lineinfile Module Instead of Template
The ansible.builtin.lineinfile module should be used instead
of others such as copy or template.
■ Copy and Template assume Ansible has a valid copy of
the file
■ This becomes problematic with files that are changed by
the project, such as config files installed with the
distribution’s installer
■ Use Lineinfile to ensure the most recent and valid file
settings are preserved and only change what’s needed.
Lineinfile Continued
Preserve project defaults and change only what
you’re sure of.
Lineinfile Continued
Preserve project defaults and change only what
you’re sure of.
Run Playbooks Serially When Needed
Run Playbooks Serially When Needed
By default, Ansible will try to run each
Task one at a time on all hosts in the
Inventory before moving onto the next
Task, like so:
Run Playbooks Serially When Needed
By default, Ansible will try to run each
Task one at a time on all hosts in the
Inventory before moving onto the next
Task, like so:
Run Playbooks Serially When Needed
Use the Serial argument at the Play to
run all Tasks on one host before
moving onto the next host in an
Inventory
Run Playbooks Serially When Needed
Use the Serial argument at the Play to
run all Tasks on one host before
moving onto the next host in an
Inventory
Run Playbooks Serially When Needed
Use the Serial argument at the Play to
run all Tasks on one host before
moving onto the next host in an
Inventory
Check Cluster Membership Before Making Changes
Cluster changes require all nodes to be Up and Normal (UN). I wrote a Role that was
prerequisite for all Plays that made cluster.
Check Cluster Membership Before Making Changes
Cluster changes require all nodes to be Up and Normal (UN). I wrote a Role that was
prerequisite for all Plays that made cluster.
Use Automation to Run Ansible
Ansible is an open source cli tool, but it should be
wrapped in another automation tool for Production
use. This has many benefits:
■ Run Playbooks on a schedule
■ Auditable output and outcomes
■ Improved security
■ Send alerts to teams
Use Automation to Run Ansible
There are lots of options when it comes to writing
automation around Ansible:
■ Your current C.I. tool
■ Jenkins
■ Github Actions
■ Ansible Automation Platform from RedHat (paid)
■ AWX (upstream F.O.S.S./Community version of Ansible
Automation Platform)
Ansible Ecosystem
Ansible has a thriving ecosystem of official and unofficial Collections to use.
Ansible Ecosystem
Ansible has a thriving ecosystem of official and unofficial Collections to use.
■ Collection Index
■ Galaxy
Ansible Ecosystem
Ansible has a thriving ecosystem of official and unofficial Collections to use.
Ansible Ecosystem
Ansible has a thriving ecosystem of official and unofficial Collections to use. To show
a few:
Demo Time
* Use at your own risk. Always test in a non-customer facing environment first!
Thank You
Stay in Touch
Ryan Ross
nazufel@protonmail.com
@nazufel
www.linkedin.com/in/rossryan1/
github.com/nazufel/scylla-summit-2023

Weitere ähnliche Inhalte

Ähnlich wie Maximum Uptime Cluster Orchestration with Ansible

Ähnlich wie Maximum Uptime Cluster Orchestration with Ansible (20)

Headaches and Breakthroughs in Building Continuous Applications
Headaches and Breakthroughs in Building Continuous ApplicationsHeadaches and Breakthroughs in Building Continuous Applications
Headaches and Breakthroughs in Building Continuous Applications
 
ServerTemplate Deep Dive
ServerTemplate Deep DiveServerTemplate Deep Dive
ServerTemplate Deep Dive
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
 
AWS Customer Presentation - Conde Nast
AWS Customer Presentation - Conde NastAWS Customer Presentation - Conde Nast
AWS Customer Presentation - Conde Nast
 
AWS Sydney Summit 2013 - Big Data Analytics
AWS Sydney Summit 2013 - Big Data AnalyticsAWS Sydney Summit 2013 - Big Data Analytics
AWS Sydney Summit 2013 - Big Data Analytics
 
SD Times - Docker v2
SD Times - Docker v2SD Times - Docker v2
SD Times - Docker v2
 
What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017
 
Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...
Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...
Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...
 
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP ParisMySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
 
Ansible.pdf
Ansible.pdfAnsible.pdf
Ansible.pdf
 
Sony MCS Cloud
Sony MCS CloudSony MCS Cloud
Sony MCS Cloud
 
Use Case Patterns for LLM Applications (1).pdf
Use Case Patterns for LLM Applications (1).pdfUse Case Patterns for LLM Applications (1).pdf
Use Case Patterns for LLM Applications (1).pdf
 
December 2013 HUG: InfiniDB for Hadoop
December 2013 HUG: InfiniDB for HadoopDecember 2013 HUG: InfiniDB for Hadoop
December 2013 HUG: InfiniDB for Hadoop
 
Building Serverless Real-Time Data Processing (Now with Unicorns!) - SRV332 -...
Building Serverless Real-Time Data Processing (Now with Unicorns!) - SRV332 -...Building Serverless Real-Time Data Processing (Now with Unicorns!) - SRV332 -...
Building Serverless Real-Time Data Processing (Now with Unicorns!) - SRV332 -...
 
SRV332_Building Serverless Real-Time Data Processing (Now with Unicorns!).pdf
SRV332_Building Serverless Real-Time Data Processing (Now with Unicorns!).pdfSRV332_Building Serverless Real-Time Data Processing (Now with Unicorns!).pdf
SRV332_Building Serverless Real-Time Data Processing (Now with Unicorns!).pdf
 
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Building A Distributed Build System at Google Scale (StrangeLoop 2016)Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
 
Using Databases and Containers From Development to Deployment
Using Databases and Containers  From Development to DeploymentUsing Databases and Containers  From Development to Deployment
Using Databases and Containers From Development to Deployment
 
ansible_rhel.pdf
ansible_rhel.pdfansible_rhel.pdf
ansible_rhel.pdf
 
MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)
 
AI & Machine Learning Pipelines with Knative
AI & Machine Learning Pipelines with KnativeAI & Machine Learning Pipelines with Knative
AI & Machine Learning Pipelines with Knative
 

Mehr von ScyllaDB

Mehr von ScyllaDB (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What Developers Need to Unlearn for High Performance NoSQL
What Developers Need to Unlearn for High Performance NoSQLWhat Developers Need to Unlearn for High Performance NoSQL
What Developers Need to Unlearn for High Performance NoSQL
 
Low Latency at Extreme Scale: Proven Practices & Pitfalls
Low Latency at Extreme Scale: Proven Practices & PitfallsLow Latency at Extreme Scale: Proven Practices & Pitfalls
Low Latency at Extreme Scale: Proven Practices & Pitfalls
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
 
Beyond Linear Scaling: A New Path for Performance with ScyllaDB
Beyond Linear Scaling: A New Path for Performance with ScyllaDBBeyond Linear Scaling: A New Path for Performance with ScyllaDB
Beyond Linear Scaling: A New Path for Performance with ScyllaDB
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
 
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
 
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
 
Database Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
Database Performance at Scale Masterclass: Driver Strategies by Piotr SarnaDatabase Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
Database Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
 
Replacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDBReplacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDB
 
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear ScalabilityPowering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
 
7 Reasons Not to Put an External Cache in Front of Your Database.pptx
7 Reasons Not to Put an External Cache in Front of Your Database.pptx7 Reasons Not to Put an External Cache in Front of Your Database.pptx
7 Reasons Not to Put an External Cache in Front of Your Database.pptx
 
Getting the most out of ScyllaDB
Getting the most out of ScyllaDBGetting the most out of ScyllaDB
Getting the most out of ScyllaDB
 
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a MigrationNoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
 
NoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration LogisticsNoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration Logistics
 
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and ChallengesNoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
 
ScyllaDB Virtual Workshop
ScyllaDB Virtual WorkshopScyllaDB Virtual Workshop
ScyllaDB Virtual Workshop
 
DBaaS in the Real World: Risks, Rewards & Tradeoffs
DBaaS in the Real World: Risks, Rewards & TradeoffsDBaaS in the Real World: Risks, Rewards & Tradeoffs
DBaaS in the Real World: Risks, Rewards & Tradeoffs
 
Build Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBBuild Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDB
 
NoSQL Data Modeling 101
NoSQL Data Modeling 101NoSQL Data Modeling 101
NoSQL Data Modeling 101
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Maximum Uptime Cluster Orchestration with Ansible

  • 1. Maximum Uptime Cluster Orchestration with Ansible Ryan Ross, Senior Site Reliability Engineer
  • 2. Ryan Ross ■ Senior Site Reliability Engineer at dbt Labs ■ Senior DevOps Engineer at Martin DSP/Pubmatic ■ DevOps Engineer at ConstructConnect ■ Senior Operations Engineer at Alveo Health Your photo goes here, smile :)
  • 3. Talk Objective: Provide actionable tips and patterns to build confidence in orchestrating ScyllaDB in Production with Ansible.
  • 4. ■ ScyllaDB Use Cases at a DSP ■ Define “Cluster Uptime” ■ Tips for Using Ansible with ScyllaDB ■ Demo Presentation Agenda
  • 6. What is a Demand-Side Platform (DSP)? A Demand-Side Platform is a system that allows buyers of digital advertising inventory to manage multiple ad exchange and data exchange accounts through one interface - Wikipedia
  • 7. What is a Demand-Side Platform (DSP)? A Demand-Side Platform is a system that allows buyers of digital advertising inventory to manage multiple ad exchange and data exchange accounts through one interface - Wikipedia
  • 8. What is a Demand-Side Platform (DSP)? A Demand-Side Platform is a system that allows buyers of digital advertising inventory to manage multiple ad exchange and data exchange accounts through one interface - Wikipedia
  • 9. What is a Demand-Side Platform (DSP)? A Demand-Side Platform is a system that allows buyers of digital advertising inventory to manage multiple ad exchange and data exchange accounts through one interface - Wikipedia
  • 10. What is a Demand-Side Platform (DSP)? A Demand-Side Platform is a system that allows buyers of digital advertising inventory to manage multiple ad exchange and data exchange accounts through one interface - Wikipedia The DSP connected advertisers and agencies with audiences to allow real-time bidding for and displaying of online-advertising.
  • 11. Use Cases for ScyllaDB at a DSP
  • 12. Use Cases for ScyllaDB at a DSP Billions of requests per day
  • 13. Use Cases for ScyllaDB at a DSP Billions of requests per day Equal read and write access patterns
  • 14. Use Cases for ScyllaDB at a DSP Billions of requests per day Equal read and write access patterns 24 x 7 x 365 Uptime
  • 15. Use Cases for ScyllaDB at a DSP Billions of requests per day Equal read and write access patterns 24 x 7 x 365 Uptime Millisecond response times
  • 16. Use Cases for ScyllaDB at a DSP Billions of requests per day Equal read and write access patterns 24 x 7 x 365 Uptime Millisecond response times Huge datasets
  • 17. Use Cases for ScyllaDB at a DSP Billions of requests per day Equal read and write access patterns 24 x 7 x 365 Uptime Millisecond response times Huge datasets
  • 19. Defining “Uptime” Provide a cluster that is available for dependent applications.
  • 26. Tips for Using Ansible to Orchestrate ScyllaDB with Whole Cluster Maximum Uptime * Use at your own risk. Always test in a non-customer facing environment first!
  • 27. Inventory to Cluster Architecture Structuring your Inventory will go a long way in helping manage multiple clusters and data centers. I saw success with:
  • 28. Inventory to Cluster Architecture Structuring your Inventory will go a long way in helping manage multiple clusters and data centers. I saw success with: ■ Inventory -> Cluster
  • 29. Inventory to Cluster Architecture Structuring your Inventory will go a long way in helping manage multiple clusters and data centers. I saw success with: ■ Inventory -> Cluster ■ Inventory Group -> Data Center
  • 30. Inventory to Cluster Architecture Ansible can have multiple Inventories
  • 31. Dynamic Inventory Scripts An underused superpower of your Cloud Provider is using them as your asset management database. Ansible can tie into provider’s API to get metadata information on instances with Dynamic Inventory Scripts.
  • 36. Use Lineinfile Module Instead of Template The ansible.builtin.lineinfile module should be used instead of others such as copy or template.
  • 37. Use Lineinfile Module Instead of Template The ansible.builtin.lineinfile module should be used instead of others such as copy or template. ■ Copy and Template assume Ansible has a valid copy of the file
  • 38. Use Lineinfile Module Instead of Template The ansible.builtin.lineinfile module should be used instead of others such as copy or template. ■ Copy and Template assume Ansible has a valid copy of the file
  • 39. Use Lineinfile Module Instead of Template The ansible.builtin.lineinfile module should be used instead of others such as copy or template. ■ Copy and Template assume Ansible has a valid copy of the file
  • 40. Use Lineinfile Module Instead of Template The ansible.builtin.lineinfile module should be used instead of others such as copy or template. ■ Copy and Template assume Ansible has a valid copy of the file ■ This becomes problematic with files that are changed by the project, such as config files installed with the distribution’s installer
  • 41. Use Lineinfile Module Instead of Template The ansible.builtin.lineinfile module should be used instead of others such as copy or template. ■ Copy and Template assume Ansible has a valid copy of the file ■ This becomes problematic with files that are changed by the project, such as config files installed with the distribution’s installer ■ Use Lineinfile to ensure the most recent and valid file settings are preserved and only change what’s needed.
  • 42. Lineinfile Continued Preserve project defaults and change only what you’re sure of.
  • 43. Lineinfile Continued Preserve project defaults and change only what you’re sure of.
  • 44. Run Playbooks Serially When Needed
  • 45. Run Playbooks Serially When Needed By default, Ansible will try to run each Task one at a time on all hosts in the Inventory before moving onto the next Task, like so:
  • 46. Run Playbooks Serially When Needed By default, Ansible will try to run each Task one at a time on all hosts in the Inventory before moving onto the next Task, like so:
  • 47. Run Playbooks Serially When Needed Use the Serial argument at the Play to run all Tasks on one host before moving onto the next host in an Inventory
  • 48. Run Playbooks Serially When Needed Use the Serial argument at the Play to run all Tasks on one host before moving onto the next host in an Inventory
  • 49. Run Playbooks Serially When Needed Use the Serial argument at the Play to run all Tasks on one host before moving onto the next host in an Inventory
  • 50. Check Cluster Membership Before Making Changes Cluster changes require all nodes to be Up and Normal (UN). I wrote a Role that was prerequisite for all Plays that made cluster.
  • 51. Check Cluster Membership Before Making Changes Cluster changes require all nodes to be Up and Normal (UN). I wrote a Role that was prerequisite for all Plays that made cluster.
  • 52. Use Automation to Run Ansible Ansible is an open source cli tool, but it should be wrapped in another automation tool for Production use. This has many benefits: ■ Run Playbooks on a schedule ■ Auditable output and outcomes ■ Improved security ■ Send alerts to teams
  • 53. Use Automation to Run Ansible There are lots of options when it comes to writing automation around Ansible: ■ Your current C.I. tool ■ Jenkins ■ Github Actions ■ Ansible Automation Platform from RedHat (paid) ■ AWX (upstream F.O.S.S./Community version of Ansible Automation Platform)
  • 54. Ansible Ecosystem Ansible has a thriving ecosystem of official and unofficial Collections to use.
  • 55. Ansible Ecosystem Ansible has a thriving ecosystem of official and unofficial Collections to use. ■ Collection Index ■ Galaxy
  • 56. Ansible Ecosystem Ansible has a thriving ecosystem of official and unofficial Collections to use.
  • 57. Ansible Ecosystem Ansible has a thriving ecosystem of official and unofficial Collections to use. To show a few:
  • 58. Demo Time * Use at your own risk. Always test in a non-customer facing environment first!
  • 59. Thank You Stay in Touch Ryan Ross nazufel@protonmail.com @nazufel www.linkedin.com/in/rossryan1/ github.com/nazufel/scylla-summit-2023