SlideShare a Scribd company logo
© 2023 Altinity, Inc.
Own your ClickHouse data with
Altinity.Cloud®
Anywhere
Robert Hodges and Alexander Zaitsev
1
Version 2023-01 - © 2023 Altinity, Inc.
© 2023 Altinity, Inc.
Let’s make some introductions
ClickHouse support and services including Altinity.Cloud®
Authors of Altinity Kubernetes Operator for ClickHouse
and other open source projects
Us
Database geeks with decades
of experience in DBMS and
applications
You
App developers looking to
build real-time analytics to
solve business problems*
2
* You also like Kubernetes ;)
© 2023 Altinity, Inc.
© 2023 Altinity, Inc.
What’s
Altinity.Cloud
Anywhere?
3
© 2023 Altinity, Inc.
Understands SQL
Runs on bare metal to cloud
Shared nothing architecture
Stores data in columns
Parallel and vectorized execution
Scales to many petabytes
Is Open source (Apache 2.0)
ClickHouse is a real-time analytic database
It’s the core engine for
low-latency analytics
ClickHouse
Event
Streams
ELT
Object
Storage
Interactive
Graphics
Dashboards
APIs
4
© 2023 Altinity, Inc. 5
Altinity.Cloud is a zero-maintenance SaaS for
ClickHouse
Complete automation
of operations with
baked in DBA support
Run in any AWS/GCP
region or your own
Kubernetes clusters
Supports all versions and
features of ClickHouse
(also experimental ones!)
Cost and performance
optimized for real-time
analytics
© 2023 Altinity, Inc. 6
Pure SaaS is convenient, but many users need
more choices to meet business requirements
Run in your own
VPCs for security
compliance
Keep analytics
close to on-prem
data sources
Use 100% open
source to avoid
vendor lock-in
Use your own
infrastructure to
control costs
© 2023 Altinity, Inc. 7
DEMO TIME!
© 2023 Altinity, Inc.
Altinity.Cloud Manager (“ACM”)
Altinity.Cloud runs ClickHouse in Kubernetes “environments”
Google GKE
CH
CH
CH
CH
Tenant A Environment
CH
CH
CH
CH
Tenant B Environment
Altinity
VPC
Altinity
Kubernetes
© 2023 Altinity, Inc.
Altinity.Cloud Manager (“ACM”)
Altinity.Cloud Anywhere can run in your Kubernetes
9
Google GKE
CH
CH
CH
CH
Tenant A Environment
CH
CH
CH
CH
Anywhere Environment
CH
CH
CH
CH
Tenant B Environment
User
Kubernetes
Altinity
VPC
Altinity
Kubernetes
User
VPC
Altinity Connector
© 2023 Altinity, Inc.
Getting up and running with Altinity.Cloud Anywhere
10
1
Prepare
Kubernetes
2
Connect to
Altinity.Cloud
3
Start your
clusters!
© 2023 Altinity, Inc.
© 2023 Altinity, Inc.
Preparing your
Kubernetes
11
© 2023 Altinity, Inc.
Choosing a Kubernetes distribution
Currently certified distributions
12
Pending certifications
*
* Used for demo/test only
© 2023 Altinity, Inc.
Your Kubernetes setup needs to get a few things right
13
Master Node Worker Node
Worker Node
Pod
Pod
Pod
Pod
ClickHouse Pod ClickHouse Pod
Provision a cluster
Add/remove nodes as
needed (auto-scaling)
Manage cloud block
storage for data
© 2023 Altinity, Inc.
Setup to provision EKS Cluster using eksctl
1. Bring up jump VM in AWS
2. Install AWS CLI
3. Install eksctl
4. Install kubectl (1.24 or greater)
5. Install aws-iam-authenticator
6. Add AWS IAM permissions to VM to create EKS clusters
14
Setup
Provision
Autoscaling
Add CSI
Test
© 2023 Altinity, Inc.
Provision Kubernetes cluster on EKS
eksctl create cluster -f - << EOF
---
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: ${CLUSTER_NAME}
region: ${AWS_DEFAULT_REGION}
version: "1.23"
tags:
karpenter.sh/discovery: ${CLUSTER_NAME}
managedNodeGroups:
- instanceType: m5.large
amiFamily: AmazonLinux2
name: ${CLUSTER_NAME}-ng
desiredCapacity: 2
minSize: 1
maxSize: 10
iam:
withOIDC: true
EOF
15
Setup
Provision
Autoscaling
Add CSI
Test
© 2023 Altinity, Inc.
Add CSI driver to managed storage (Kubernetes 1.23+)
eksctl create iamserviceaccount 
--name ebs-csi-controller-sa 
--namespace kube-system 
--cluster ubuntu-altinity-cloud-anywhere-demo 
--attach-policy-arn
arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy 
--approve 
--role-only 
--role-name AmazonEKS_EBS_CSI_DriverRole
eksctl create addon --name aws-ebs-csi-driver 
--cluster ${CLUSTER_NAME} 
--service-account-role-arn
arn:aws:iam::${AWS_ACCOUNT_ID}:role/AmazonEKS_EBS_CSI_DriverRole 
--force
16
Setup
Provision
Autoscaling
Add CSI
Test
© 2023 Altinity, Inc.
Add matching storage class(es) for CSI driver
kubectl apply -f - <<EOF
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: gp2
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: ebs.csi.aws.com
parameters:
fsType: ext4
type: gp2
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
EOF
17
Setup
Provision
Autoscaling
Add CSI
Test
© 2023 Altinity, Inc.
Add Karpenter to allocate/deallocate VMs automatically
1. Install Helm
2. Install Karpenter using getting started with eksctl
instructions
a. Create Karpenter infra and IAM roles
b. Create IAM identity mapping so new VMs can join cluster
c. Create IAM role for KarpenterController so it can launch VMs
d. Install Karpenter Helm Chart
e. Create a Karpenter provisioner to manage VMs
18
Setup
Provision
Autoscaling
Add CSI
Test
© 2023 Altinity, Inc.
Here’s what a Karpenter provisioner looks like
cat <<EOF | kubectl apply -f -
apiVersion: karpenter.sh/v1alpha5
kind: Provisioner
metadata:
name: default
spec:
limits:
resources:
cpu: 1000
providerRef:
name: default
ttlSecondsAfterEmpty: 30
---
apiVersion: karpenter.k8s.aws/v1alpha1
kind: AWSNodeTemplate
metadata:
name: default
spec:
subnetSelector:
karpenter.sh/discovery: ${CLUSTER_NAME}
securityGroupSelector:
karpenter.sh/discovery: ${CLUSTER_NAME}
EOF
19
Setup
Provision
Autoscaling
Add CSI
Test
© 2023 Altinity, Inc.
Try it out!
Make sure your Kubernetes cluster can provision nodes and
allocate storage!
Try installing a simple application like nginx and prove that
1. Karpenter can allocate a VM for it.
2. Storage allocation on block storage works.
Common problems:
● You missed IAM privileges somewhere
● CSI driver and matching storageclass missing/invalid
● Karpenter provisioner not correctly defined
20
Setup
Provision
Autoscaling
Add CSI
Test
© 2023 Altinity, Inc.
Seems complicated! Isn’t there a better way?
Yes!!
Starting in Q1 2023, Altinity.Cloud will offer full provisioning of EKS from
soup-to-nuts.
All you need to supply is an IAM role and a VPC.
21
© 2023 Altinity, Inc.
© 2023 Altinity, Inc.
Connecting to
Altinity.Cloud
22
© 2023 Altinity, Inc.
Get an Altinity.Cloud account (if you don’t have one)
23
https://altinity.com/altinity-cloud-anywhere
© 2023 Altinity, Inc.
Sign into Altinity.Cloud and find your environment
24
https://acm.altinity.cloud
© 2023 Altinity, Inc.
Install Altinity Connector and set up connection
# Download altinitycloud-connect.
curl -sSL
https://github.com/altinity/altinitycloud-connect/releases/download/v0.9.3/al
tinitycloud-connect-0.9.3-linux-amd64 -o altinitycloud-connect 
&& chmod a+x altinitycloud-connect 
&& sudo mv altinitycloud-connect /usr/local/bin/
# Login to Altinity.Cloud.
altinitycloud-connect login --token=<registration token>
# Pipe setup commands to deploy connector to your Kubernetes cluster.
altinitycloud-connect kubernetes | kubectl apply -f -
25
© 2023 Altinity, Inc.
Fill out resource configuration
26
Node pool
AZs and
machine types
Block
storage
types
Services that
will use the
node pool
© 2023 Altinity, Inc.
Review and Press FINISH to initiate setup
27
© 2023 Altinity, Inc.
Altinity.Cloud Anywhere environment dashboard
28
Current
nodes
Allocated RAM
and storage
Environment
statistics
© 2023 Altinity, Inc.
© 2023 Altinity, Inc.
Working with
Clusters in
Anywhere
29
© 2023 Altinity, Inc.
Cluster view is the same as Altinity.Cloud
30
Create a
new cluster
An active
cluster
© 2023 Altinity, Inc.
So is the cluster dashboard
31
© 2023 Altinity, Inc.
Rescaling is limited by your resources
32
Vertical scaling
Horizontal scaling
© 2023 Altinity, Inc.
Add new node types from the Environment Dashboard
33
© 2023 Altinity, Inc.
Configure backups in Environment->Edit->Backups
34
Enable backups
Backup schedule
S3 bucket details
© 2023 Altinity, Inc.
You can backup and restore Kubernetes data
35
© 2023 Altinity, Inc.
What else is there?
● Setting up private connectivity from Kubernetes to other VPCs
○ ClickHouse.Cloud supports VPC Endpoints
● Running other applications alongside managed ClickHouse
● Disaster recovery
36
Contact support for help on any of these!
© 2023 Altinity, Inc.
© 2023 Altinity, Inc.
Advanced
Topics
37
© 2023 Altinity, Inc.
Altinity.Cloud Manager (“ACM”)
How does Altinity.Cloud Anywhere work internally?
38
Altinity Operator
Secure outbound HTTPS
Apps
Object Storage
AWS
NLB
Altinity Connector
System services ClickHouse + ZooKeeper
Edge
Proxy
Cloud Block
Storage
Altinity VPC
Your VPC
© 2023 Altinity, Inc.
What’s going on under the covers in a ClickHouse cluster?
39
Altinity Operator
Cluster
Endpoint
Node
Endpoint
Node
Endpoint
ClickHouse
Node (=VM)
Volume
Claims
Volume
Claims
Availability Zone
ClickHouse
Node (=VM)
Volume
Claims
Volume
Claims
Availability Zone
Block
Storage
Connection to
Cluster DNS
© 2023 Altinity, Inc.
Restricting access to data is a standard feature
40
© 2023 Altinity, Inc.
© 2023 Altinity, Inc.
How
Altinity.Cloud
Anywhere
support works
41
© 2023 Altinity, Inc.
Altinity.Cloud has enterprise support for all environments
● Schema design
● Performance optimization
● Troubleshooting
● Upgrades
● Capacity planning
● Integrations (Kafka, BI, librarise.)
● And random questions
Ways to access support
● Slack - shared slack channel
● Zendesk - email to support at altinity dot com
42
We also answer
questions about
Kubernetes!
© 2023 Altinity, Inc.
How to get the most out of Altinity.Cloud support
● Log production issues in Zendesk, not Slack
○ Makes it easier to track progress
● Contact us in advance prior to:
○ ClickHouse version upgrades
○ Scale-out operations that may require us to raise AWS or GCP quotas
● Don’t wait for problems. We can help you with migration, design and
capacity planning and many other topics
○ Just ask if you have questions!
○ We also can do regular check-in calls to help you make progress
43
© 2023 Altinity, Inc.
Wrap-up
44
Start a free two-week trial today!
https://altinity.com/altinity-cloud-anywhere/
● Altinity.Cloud Anywhere gives you convenience of cloud with the control of
installed software
● Pricing is based on compute only. We don’t charge for data
● Run ClickHouse anywhere that Kubernetes runs
● Don’t want to bother with Kubernetes? We can install that, too!
© 2023 Altinity, Inc.
Thank you!
Questions?
Website: https://altinity.com
Email: info@altinity.com
Slack: altinitydbworkspace.slack.com
45
Altinity.Cloud
Altinity Support
Altinity Stable
Builds
Free 2 week trials

More Related Content

PDF
Cloud Native ClickHouse at Scale--Using the Altinity Kubernetes Operator-2022...
PDF
Altinity Webinar: Introduction to Altinity.Cloud-Platform for Real-Time Data.pdf
PDF
Cloud Native Data Warehouses - Intro to ClickHouse on Kubernetes-2021-07.pdf
PDF
Altinity Cluster Manager: ClickHouse Management for Kubernetes and Cloud
PDF
Data Warehouses in Kubernetes Visualized: the ClickHouse Kubernetes Operator UI
PDF
ClickHouse on Kubernetes! By Robert Hodges, Altinity CEO
PDF
ClickHouse on Kubernetes, by Alexander Zaitsev, Altinity CTO
PDF
Data warehouse on Kubernetes - gentle intro to Clickhouse Operator, by Robert...
Cloud Native ClickHouse at Scale--Using the Altinity Kubernetes Operator-2022...
Altinity Webinar: Introduction to Altinity.Cloud-Platform for Real-Time Data.pdf
Cloud Native Data Warehouses - Intro to ClickHouse on Kubernetes-2021-07.pdf
Altinity Cluster Manager: ClickHouse Management for Kubernetes and Cloud
Data Warehouses in Kubernetes Visualized: the ClickHouse Kubernetes Operator UI
ClickHouse on Kubernetes! By Robert Hodges, Altinity CEO
ClickHouse on Kubernetes, by Alexander Zaitsev, Altinity CTO
Data warehouse on Kubernetes - gentle intro to Clickhouse Operator, by Robert...

Similar to Own your ClickHouse data with Altinity.Cloud Anywhere-2023-01-17.pdf (20)

PDF
Is It Safe? Security Hardening for Databases Using Kubernetes Operators
PDF
Data Con LA 2019 - Data warehouse and Kubernetes: Lessons from ClickHouse Ope...
PDF
Data Warehouse on Kubernetes: lessons from Clickhouse Operator
PDF
Growing up fast: Kubernetes and Real-Time Analytic Applications
PDF
Evolve or Fall Behind: Driving Transformation with Containers - Sai Vennam - ...
PDF
Introduction to EKS (AWS User Group Slovakia)
PDF
Bdc from bare metal to k8s
PDF
Altinity Quickstart for ClickHouse-2202-09-15.pdf
PPTX
Data weekender deploying prod grade sql 2019 big data clusters
PDF
Building High Performance Apps with Altinity Stable Builds for ClickHouse | A...
PPTX
Kube journey 2017-04-19
PPTX
Container Conf 2017: Rancher Kubernetes
PDF
Rancher Labs - Your own PaaS in action
PDF
Rancher Labs - Your own PaaS in action
PPT
Developing and Deploying Microservices to IBM Cloud Private
PDF
Deploying kubernetes at scale on OpenStack
PDF
Engage 2020 - Kubernetes for HCL Connections Component Pack - Build or Buy?
PDF
Kubernetes for HCL Connections Component Pack - Build or Buy?
PDF
vSphere with Kubernetes Virtual Event- June 16, 2020
PPTX
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Is It Safe? Security Hardening for Databases Using Kubernetes Operators
Data Con LA 2019 - Data warehouse and Kubernetes: Lessons from ClickHouse Ope...
Data Warehouse on Kubernetes: lessons from Clickhouse Operator
Growing up fast: Kubernetes and Real-Time Analytic Applications
Evolve or Fall Behind: Driving Transformation with Containers - Sai Vennam - ...
Introduction to EKS (AWS User Group Slovakia)
Bdc from bare metal to k8s
Altinity Quickstart for ClickHouse-2202-09-15.pdf
Data weekender deploying prod grade sql 2019 big data clusters
Building High Performance Apps with Altinity Stable Builds for ClickHouse | A...
Kube journey 2017-04-19
Container Conf 2017: Rancher Kubernetes
Rancher Labs - Your own PaaS in action
Rancher Labs - Your own PaaS in action
Developing and Deploying Microservices to IBM Cloud Private
Deploying kubernetes at scale on OpenStack
Engage 2020 - Kubernetes for HCL Connections Component Pack - Build or Buy?
Kubernetes for HCL Connections Component Pack - Build or Buy?
vSphere with Kubernetes Virtual Event- June 16, 2020
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Ad

More from Altinity Ltd (20)

PPTX
Building an Analytic Extension to MySQL with ClickHouse and Open Source.pptx
PPTX
Building an Analytic Extension to MySQL with ClickHouse and Open Source
PDF
Fun with ClickHouse Window Functions-2021-08-19.pdf
PDF
Application Monitoring using Open Source - VictoriaMetrics & Altinity ClickHo...
PDF
ClickHouse ReplacingMergeTree in Telecom Apps
PDF
Adventures with the ClickHouse ReplacingMergeTree Engine
PDF
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
PDF
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
PDF
OSA Con 2022 - Welcome to OSA CON Version 2022 - Robert Hodges - Altinity.pdf
PDF
OSA Con 2022 - Using ClickHouse Database to Power Analytics and Customer Enga...
PDF
OSA Con 2022 - Tips and Tricks to Keep Your Queries under 100ms with ClickHou...
PDF
OSA Con 2022 - The Open Source Analytic Universe, Version 2022 - Robert Hodge...
PDF
OSA Con 2022 - Switching Jaeger Distributed Tracing to ClickHouse to Enable A...
PDF
OSA Con 2022 - Streaming Data Made Easy - Tim Spann & David Kjerrumgaard - St...
PDF
OSA Con 2022 - State of Open Source Databases - Peter Zaitsev - Percona.pdf
PDF
OSA Con 2022 - Specifics of data analysis in Time Series Databases - Roman Kh...
PDF
OSA Con 2022 - Signal Correlation, the Ho11y Grail - Michael Hausenblas - AWS...
PDF
OSA Con 2022 - Scaling your Pandas Analytics with Modin - Doris Lee - Ponder.pdf
PDF
OSA Con 2022 - Quick Reflexes_ Building Real-Time Data Analytics with Redpand...
PDF
OSA Con 2022 - Extract, Transform, and Learn about your developers - Brian Le...
Building an Analytic Extension to MySQL with ClickHouse and Open Source.pptx
Building an Analytic Extension to MySQL with ClickHouse and Open Source
Fun with ClickHouse Window Functions-2021-08-19.pdf
Application Monitoring using Open Source - VictoriaMetrics & Altinity ClickHo...
ClickHouse ReplacingMergeTree in Telecom Apps
Adventures with the ClickHouse ReplacingMergeTree Engine
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
OSA Con 2022 - Welcome to OSA CON Version 2022 - Robert Hodges - Altinity.pdf
OSA Con 2022 - Using ClickHouse Database to Power Analytics and Customer Enga...
OSA Con 2022 - Tips and Tricks to Keep Your Queries under 100ms with ClickHou...
OSA Con 2022 - The Open Source Analytic Universe, Version 2022 - Robert Hodge...
OSA Con 2022 - Switching Jaeger Distributed Tracing to ClickHouse to Enable A...
OSA Con 2022 - Streaming Data Made Easy - Tim Spann & David Kjerrumgaard - St...
OSA Con 2022 - State of Open Source Databases - Peter Zaitsev - Percona.pdf
OSA Con 2022 - Specifics of data analysis in Time Series Databases - Roman Kh...
OSA Con 2022 - Signal Correlation, the Ho11y Grail - Michael Hausenblas - AWS...
OSA Con 2022 - Scaling your Pandas Analytics with Modin - Doris Lee - Ponder.pdf
OSA Con 2022 - Quick Reflexes_ Building Real-Time Data Analytics with Redpand...
OSA Con 2022 - Extract, Transform, and Learn about your developers - Brian Le...
Ad

Recently uploaded (20)

PPTX
STUDY DESIGN details- Lt Col Maksud (21).pptx
PPT
ISS -ESG Data flows What is ESG and HowHow
PPTX
Database Infoormation System (DBIS).pptx
PPTX
DISORDERS OF THE LIVER, GALLBLADDER AND PANCREASE (1).pptx
PPTX
Introduction to Knowledge Engineering Part 1
PDF
Mega Projects Data Mega Projects Data
PPTX
Introduction-to-Cloud-ComputingFinal.pptx
PPTX
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
PPTX
climate analysis of Dhaka ,Banglades.pptx
PPT
Reliability_Chapter_ presentation 1221.5784
PPTX
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
PDF
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
PDF
Fluorescence-microscope_Botany_detailed content
PPTX
IBA_Chapter_11_Slides_Final_Accessible.pptx
PPTX
Computer network topology notes for revision
PDF
Foundation of Data Science unit number two notes
PPTX
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
PDF
Galatica Smart Energy Infrastructure Startup Pitch Deck
PDF
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
STUDY DESIGN details- Lt Col Maksud (21).pptx
ISS -ESG Data flows What is ESG and HowHow
Database Infoormation System (DBIS).pptx
DISORDERS OF THE LIVER, GALLBLADDER AND PANCREASE (1).pptx
Introduction to Knowledge Engineering Part 1
Mega Projects Data Mega Projects Data
Introduction-to-Cloud-ComputingFinal.pptx
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
climate analysis of Dhaka ,Banglades.pptx
Reliability_Chapter_ presentation 1221.5784
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
Fluorescence-microscope_Botany_detailed content
IBA_Chapter_11_Slides_Final_Accessible.pptx
Computer network topology notes for revision
Foundation of Data Science unit number two notes
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
Galatica Smart Energy Infrastructure Startup Pitch Deck
Recruitment and Placement PPT.pdfbjfibjdfbjfobj

Own your ClickHouse data with Altinity.Cloud Anywhere-2023-01-17.pdf

  • 1. © 2023 Altinity, Inc. Own your ClickHouse data with Altinity.Cloud® Anywhere Robert Hodges and Alexander Zaitsev 1 Version 2023-01 - © 2023 Altinity, Inc.
  • 2. © 2023 Altinity, Inc. Let’s make some introductions ClickHouse support and services including Altinity.Cloud® Authors of Altinity Kubernetes Operator for ClickHouse and other open source projects Us Database geeks with decades of experience in DBMS and applications You App developers looking to build real-time analytics to solve business problems* 2 * You also like Kubernetes ;)
  • 3. © 2023 Altinity, Inc. © 2023 Altinity, Inc. What’s Altinity.Cloud Anywhere? 3
  • 4. © 2023 Altinity, Inc. Understands SQL Runs on bare metal to cloud Shared nothing architecture Stores data in columns Parallel and vectorized execution Scales to many petabytes Is Open source (Apache 2.0) ClickHouse is a real-time analytic database It’s the core engine for low-latency analytics ClickHouse Event Streams ELT Object Storage Interactive Graphics Dashboards APIs 4
  • 5. © 2023 Altinity, Inc. 5 Altinity.Cloud is a zero-maintenance SaaS for ClickHouse Complete automation of operations with baked in DBA support Run in any AWS/GCP region or your own Kubernetes clusters Supports all versions and features of ClickHouse (also experimental ones!) Cost and performance optimized for real-time analytics
  • 6. © 2023 Altinity, Inc. 6 Pure SaaS is convenient, but many users need more choices to meet business requirements Run in your own VPCs for security compliance Keep analytics close to on-prem data sources Use 100% open source to avoid vendor lock-in Use your own infrastructure to control costs
  • 7. © 2023 Altinity, Inc. 7 DEMO TIME!
  • 8. © 2023 Altinity, Inc. Altinity.Cloud Manager (“ACM”) Altinity.Cloud runs ClickHouse in Kubernetes “environments” Google GKE CH CH CH CH Tenant A Environment CH CH CH CH Tenant B Environment Altinity VPC Altinity Kubernetes
  • 9. © 2023 Altinity, Inc. Altinity.Cloud Manager (“ACM”) Altinity.Cloud Anywhere can run in your Kubernetes 9 Google GKE CH CH CH CH Tenant A Environment CH CH CH CH Anywhere Environment CH CH CH CH Tenant B Environment User Kubernetes Altinity VPC Altinity Kubernetes User VPC Altinity Connector
  • 10. © 2023 Altinity, Inc. Getting up and running with Altinity.Cloud Anywhere 10 1 Prepare Kubernetes 2 Connect to Altinity.Cloud 3 Start your clusters!
  • 11. © 2023 Altinity, Inc. © 2023 Altinity, Inc. Preparing your Kubernetes 11
  • 12. © 2023 Altinity, Inc. Choosing a Kubernetes distribution Currently certified distributions 12 Pending certifications * * Used for demo/test only
  • 13. © 2023 Altinity, Inc. Your Kubernetes setup needs to get a few things right 13 Master Node Worker Node Worker Node Pod Pod Pod Pod ClickHouse Pod ClickHouse Pod Provision a cluster Add/remove nodes as needed (auto-scaling) Manage cloud block storage for data
  • 14. © 2023 Altinity, Inc. Setup to provision EKS Cluster using eksctl 1. Bring up jump VM in AWS 2. Install AWS CLI 3. Install eksctl 4. Install kubectl (1.24 or greater) 5. Install aws-iam-authenticator 6. Add AWS IAM permissions to VM to create EKS clusters 14 Setup Provision Autoscaling Add CSI Test
  • 15. © 2023 Altinity, Inc. Provision Kubernetes cluster on EKS eksctl create cluster -f - << EOF --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: ${CLUSTER_NAME} region: ${AWS_DEFAULT_REGION} version: "1.23" tags: karpenter.sh/discovery: ${CLUSTER_NAME} managedNodeGroups: - instanceType: m5.large amiFamily: AmazonLinux2 name: ${CLUSTER_NAME}-ng desiredCapacity: 2 minSize: 1 maxSize: 10 iam: withOIDC: true EOF 15 Setup Provision Autoscaling Add CSI Test
  • 16. © 2023 Altinity, Inc. Add CSI driver to managed storage (Kubernetes 1.23+) eksctl create iamserviceaccount --name ebs-csi-controller-sa --namespace kube-system --cluster ubuntu-altinity-cloud-anywhere-demo --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy --approve --role-only --role-name AmazonEKS_EBS_CSI_DriverRole eksctl create addon --name aws-ebs-csi-driver --cluster ${CLUSTER_NAME} --service-account-role-arn arn:aws:iam::${AWS_ACCOUNT_ID}:role/AmazonEKS_EBS_CSI_DriverRole --force 16 Setup Provision Autoscaling Add CSI Test
  • 17. © 2023 Altinity, Inc. Add matching storage class(es) for CSI driver kubectl apply -f - <<EOF kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: gp2 annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: ebs.csi.aws.com parameters: fsType: ext4 type: gp2 reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true EOF 17 Setup Provision Autoscaling Add CSI Test
  • 18. © 2023 Altinity, Inc. Add Karpenter to allocate/deallocate VMs automatically 1. Install Helm 2. Install Karpenter using getting started with eksctl instructions a. Create Karpenter infra and IAM roles b. Create IAM identity mapping so new VMs can join cluster c. Create IAM role for KarpenterController so it can launch VMs d. Install Karpenter Helm Chart e. Create a Karpenter provisioner to manage VMs 18 Setup Provision Autoscaling Add CSI Test
  • 19. © 2023 Altinity, Inc. Here’s what a Karpenter provisioner looks like cat <<EOF | kubectl apply -f - apiVersion: karpenter.sh/v1alpha5 kind: Provisioner metadata: name: default spec: limits: resources: cpu: 1000 providerRef: name: default ttlSecondsAfterEmpty: 30 --- apiVersion: karpenter.k8s.aws/v1alpha1 kind: AWSNodeTemplate metadata: name: default spec: subnetSelector: karpenter.sh/discovery: ${CLUSTER_NAME} securityGroupSelector: karpenter.sh/discovery: ${CLUSTER_NAME} EOF 19 Setup Provision Autoscaling Add CSI Test
  • 20. © 2023 Altinity, Inc. Try it out! Make sure your Kubernetes cluster can provision nodes and allocate storage! Try installing a simple application like nginx and prove that 1. Karpenter can allocate a VM for it. 2. Storage allocation on block storage works. Common problems: ● You missed IAM privileges somewhere ● CSI driver and matching storageclass missing/invalid ● Karpenter provisioner not correctly defined 20 Setup Provision Autoscaling Add CSI Test
  • 21. © 2023 Altinity, Inc. Seems complicated! Isn’t there a better way? Yes!! Starting in Q1 2023, Altinity.Cloud will offer full provisioning of EKS from soup-to-nuts. All you need to supply is an IAM role and a VPC. 21
  • 22. © 2023 Altinity, Inc. © 2023 Altinity, Inc. Connecting to Altinity.Cloud 22
  • 23. © 2023 Altinity, Inc. Get an Altinity.Cloud account (if you don’t have one) 23 https://altinity.com/altinity-cloud-anywhere
  • 24. © 2023 Altinity, Inc. Sign into Altinity.Cloud and find your environment 24 https://acm.altinity.cloud
  • 25. © 2023 Altinity, Inc. Install Altinity Connector and set up connection # Download altinitycloud-connect. curl -sSL https://github.com/altinity/altinitycloud-connect/releases/download/v0.9.3/al tinitycloud-connect-0.9.3-linux-amd64 -o altinitycloud-connect && chmod a+x altinitycloud-connect && sudo mv altinitycloud-connect /usr/local/bin/ # Login to Altinity.Cloud. altinitycloud-connect login --token=<registration token> # Pipe setup commands to deploy connector to your Kubernetes cluster. altinitycloud-connect kubernetes | kubectl apply -f - 25
  • 26. © 2023 Altinity, Inc. Fill out resource configuration 26 Node pool AZs and machine types Block storage types Services that will use the node pool
  • 27. © 2023 Altinity, Inc. Review and Press FINISH to initiate setup 27
  • 28. © 2023 Altinity, Inc. Altinity.Cloud Anywhere environment dashboard 28 Current nodes Allocated RAM and storage Environment statistics
  • 29. © 2023 Altinity, Inc. © 2023 Altinity, Inc. Working with Clusters in Anywhere 29
  • 30. © 2023 Altinity, Inc. Cluster view is the same as Altinity.Cloud 30 Create a new cluster An active cluster
  • 31. © 2023 Altinity, Inc. So is the cluster dashboard 31
  • 32. © 2023 Altinity, Inc. Rescaling is limited by your resources 32 Vertical scaling Horizontal scaling
  • 33. © 2023 Altinity, Inc. Add new node types from the Environment Dashboard 33
  • 34. © 2023 Altinity, Inc. Configure backups in Environment->Edit->Backups 34 Enable backups Backup schedule S3 bucket details
  • 35. © 2023 Altinity, Inc. You can backup and restore Kubernetes data 35
  • 36. © 2023 Altinity, Inc. What else is there? ● Setting up private connectivity from Kubernetes to other VPCs ○ ClickHouse.Cloud supports VPC Endpoints ● Running other applications alongside managed ClickHouse ● Disaster recovery 36 Contact support for help on any of these!
  • 37. © 2023 Altinity, Inc. © 2023 Altinity, Inc. Advanced Topics 37
  • 38. © 2023 Altinity, Inc. Altinity.Cloud Manager (“ACM”) How does Altinity.Cloud Anywhere work internally? 38 Altinity Operator Secure outbound HTTPS Apps Object Storage AWS NLB Altinity Connector System services ClickHouse + ZooKeeper Edge Proxy Cloud Block Storage Altinity VPC Your VPC
  • 39. © 2023 Altinity, Inc. What’s going on under the covers in a ClickHouse cluster? 39 Altinity Operator Cluster Endpoint Node Endpoint Node Endpoint ClickHouse Node (=VM) Volume Claims Volume Claims Availability Zone ClickHouse Node (=VM) Volume Claims Volume Claims Availability Zone Block Storage Connection to Cluster DNS
  • 40. © 2023 Altinity, Inc. Restricting access to data is a standard feature 40
  • 41. © 2023 Altinity, Inc. © 2023 Altinity, Inc. How Altinity.Cloud Anywhere support works 41
  • 42. © 2023 Altinity, Inc. Altinity.Cloud has enterprise support for all environments ● Schema design ● Performance optimization ● Troubleshooting ● Upgrades ● Capacity planning ● Integrations (Kafka, BI, librarise.) ● And random questions Ways to access support ● Slack - shared slack channel ● Zendesk - email to support at altinity dot com 42 We also answer questions about Kubernetes!
  • 43. © 2023 Altinity, Inc. How to get the most out of Altinity.Cloud support ● Log production issues in Zendesk, not Slack ○ Makes it easier to track progress ● Contact us in advance prior to: ○ ClickHouse version upgrades ○ Scale-out operations that may require us to raise AWS or GCP quotas ● Don’t wait for problems. We can help you with migration, design and capacity planning and many other topics ○ Just ask if you have questions! ○ We also can do regular check-in calls to help you make progress 43
  • 44. © 2023 Altinity, Inc. Wrap-up 44 Start a free two-week trial today! https://altinity.com/altinity-cloud-anywhere/ ● Altinity.Cloud Anywhere gives you convenience of cloud with the control of installed software ● Pricing is based on compute only. We don’t charge for data ● Run ClickHouse anywhere that Kubernetes runs ● Don’t want to bother with Kubernetes? We can install that, too!
  • 45. © 2023 Altinity, Inc. Thank you! Questions? Website: https://altinity.com Email: info@altinity.com Slack: altinitydbworkspace.slack.com 45 Altinity.Cloud Altinity Support Altinity Stable Builds Free 2 week trials