0 to Presto in 30 minutes with AWS and Ahana Cloud
We will share how Ahana Cloud, the first managed service for PrestoDB, simplifies Presto deployment and management on AWS running in-VPC on Kubernetes.
rights reserved. • Runs upstream Kubernetes (K8s) • Certified Kubernetes conformant • Current EKS versions include 1.15, 1.16, 1.17 (default), 1.18 • Each minor version is supported for approximately nine months after it is first released Amazon Elastic Kubernetes Service (EKS)
rights reserved. Amazon EKS Architecture • Fully-managed Kubernetes • EKS cluster consists of two VPCs • VPC managed by AWS that hosts Kubernetes control plane • VPC managed by customers that hosts Kubernetes worker nodes (EC2s)
rights reserved. Amazon EKS Control Plane VPC NLB Availability Zone 1 Availability Zone 2 Availability Zone 3 ELB etcd ASG API Servers ASG • Automatically manages availability and scalability of the Kubernetes control plane nodes • Responsible for starting and stopping containers • Scheduling containers on VMs • Storing cluster data • Automatically detecting and replacing unhealthy nodes
rights reserved. • SaaS • Fully-managed (`as-a-service`) • Loss of control of your data • DIY • You build it, you own it • Retain full control of your data • Ahana Cloud • Fully-managed • Retain full control of your data Ahana Cloud `In-VPC` Deployment
rights reserved. • Ahana deploys Presto to Amazon EKS cluster within a VPC • Logically isolated section of the AWS Cloud where you can launch AWS resources • Private IPv4 address range (CIDR block) • Within an AWS Account and within an AWS Region • Divided into one or more public or private subnets • Control access using security groups and network access control lists (NACLs) Amazon Virtual Private Cloud (VPC)
rights reserved. • Gives a third-party access to your AWS resources (delegate access) • AWS Security Token Service (STS) provides temporary, limited-privilege credentials • Third-party required to provides an External ID when the role is assumed • External ID used for programmatic access through the AWS CLI (Ahana) • Limit session duration up to 12 hours (default 1 hour) Assumed IAM Role
Data Warehouse in an open, disaggregated stack Managed Presto in-VPC in user account Built-in metadata catalog, data lake, Apache Superset - Start, stop, restart, resize, terminate – end-to-end cluster life cycle management Amazon sources: S3, RDS/MySQL, RDS/Postgres, Elasticsearch, Redshift Highly available & scalable running in containers on Kubernetes across AZs Flexible analytics stack with BYO - metadata, data source, BI tool or notebook Ahana Cloud for Presto Point & Query Cloud Service
ORCHESTRATION CONSOLIDATED LOGGING SECURITY & ACCESS BILLING & SUPPORT In-VPC Presto Clusters (Compute Plane) AD HOC CLUSTER 1 TEST CLUSTER 2 PROD CLUSTER N Glue S3 RDS Elasticsearch Ahana Cloud Account Ahana console oversees and manages every Presto cluster Customer Cloud Account In-VPC orchestration of Presto clusters, where metadata, monitoring, and data sources reside
Plane) AD HOC CLUSTER 1 TEST CLUSTER 2 PROD CLUSTER N Glue S3 RDS Elasticsearch AWS Usage Costs for Ahana Compute Plane Fixed Costs: < $5 / day in US-East-1 AWS EKS Cluster - 10 cents / hour AWS ELB – 2 cents / hour AWS RDS PostgreSQL – 2 cents / hour Instance for Apache Superset – 4 cents/ hour AWS EBS – 10 cents / GB / month Flexible Costs for Presto Clusters: Standard EC2 pricing based on instance type Example: r5.xlarge – 24 cents / hour Ahana Cloud Costs Pay As You Go (PAYGO) on your AWS Bill Priced Hourly based on instance type Example: r5.xlarge – 15 cents / hour FREE in Early Access
with proven scalability • Interactive ANSI SQL queries • Query data where it lives with Federated Connectors (no ETL) • High concurrency • Separation of compute and storage
granular access controls • Each cluster can be created with different AWS IAM Roles • Each IAM Role can be configured to have access to different S3 buckets allowing clusters to be isolated Cluster 1 Cluster 2 Cluster 3 Metastore AWS IAM Role A COMPUTE PLANE Metastore Bucket A Bucket B AWS IAM Role B Reference: https://aws.amazon.com/blogs/security/how-to- restrict-amazon-s3-bucket-access-to-a-specific-iam-role/ AWS IAM Role A Bucket A Bucket B AWS IAM Role B