SlideShare a Scribd company logo
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

More Related Content

Similar to Maximum Uptime Cluster Orchestration with Ansible

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
Databricks
 
ServerTemplate Deep Dive
ServerTemplate Deep DiveServerTemplate Deep Dive
ServerTemplate Deep Dive
RightScale
 
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 ...
Amazon Web Services
 
AWS Customer Presentation - Conde Nast
AWS Customer Presentation - Conde NastAWS Customer Presentation - Conde Nast
AWS Customer Presentation - Conde Nast
Amazon Web Services
 
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
Amazon Web Services
 
SD Times - Docker v2
SD Times - Docker v2SD Times - Docker v2
SD Times - Docker v2
Alvin Richards
 
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
Amazon Web Services
 
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...
Landon Robinson
 
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
Olivier DASINI
 
Ansible.pdf
Ansible.pdfAnsible.pdf
Ansible.pdf
shaikshazil1
 
Sony MCS Cloud
Sony MCS CloudSony MCS Cloud
Sony MCS Cloud
Amazon Web Services
 
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
M Waleed Kadous
 
December 2013 HUG: InfiniDB for Hadoop
December 2013 HUG: InfiniDB for HadoopDecember 2013 HUG: InfiniDB for Hadoop
December 2013 HUG: InfiniDB for Hadoop
Yahoo Developer Network
 
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 -...
Amazon Web Services
 
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
Amazon Web Services
 
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)
Aysylu Greenberg
 
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
Aerospike, Inc.
 
ansible_rhel.pdf
ansible_rhel.pdfansible_rhel.pdf
ansible_rhel.pdf
ssuser6d347b
 
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)
Olivier DASINI
 
AI & Machine Learning Pipelines with Knative
AI & Machine Learning Pipelines with KnativeAI & Machine Learning Pipelines with Knative
AI & Machine Learning Pipelines with Knative
Animesh Singh
 

Similar to 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
 

More from ScyllaDB

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
ScyllaDB
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
ScyllaDB
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
ScyllaDB
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
ScyllaDB
 
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
ScyllaDB
 
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
ScyllaDB
 
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
ScyllaDB
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
ScyllaDB
 
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
ScyllaDB
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
ScyllaDB
 
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...
ScyllaDB
 
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...
ScyllaDB
 
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
ScyllaDB
 
Replacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDBReplacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDB
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
ScyllaDB
 
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
ScyllaDB
 
Getting the most out of ScyllaDB
Getting the most out of ScyllaDBGetting the most out of ScyllaDB
Getting the most out of ScyllaDB
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
ScyllaDB
 
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
ScyllaDB
 

More from ScyllaDB (20)

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
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
 

Recently uploaded

Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
marufrahmanstratejm
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
Data Hops
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 

Recently uploaded (20)

Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 

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