Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Flava DBS for MySQL: Architecture and Features

Flava DBS for MySQL: Architecture and Features

LINEヤフーの新しいプライベートクラウドであるFlavaで、MySQLをDBaaSとして提供する製品、DBS for MySQLを紹介します。
DBS for MySQLが提供する機能、MySQLクラスターの構造、および高可用性(HA)がどのように提供されるかについて説明します。
また、Kubernetesを基盤としたオペレーターパターンで開発されたDBS for MySQLのアーキテクチャについても説明します。

More Decks by LINEヤフーTech (LY Corporation Tech)

Other Decks in Technology

Transcript

  1. Flava DBS for MySQL: Architecture and Features LINE Plus /

    Cloud DBS MySQL Kang Han Sol (hasoka) HONG SOPHAL (sophal) LINE Plus / Cloud DBS
  2. 2020. 07 ~ 2020. 08 NAVER Cloud – MySQL Engineer

    2020. 11 ~ 2024. 03 LINE Plus – MySQL Engineer 2024. 04 ~ LINE Plus – Cloud Engineer Speaker Kang Han Sol (hasoka)
  3. What is this? ⎯ Private Cloud in LY Corporation ⎯

    Similar Platforms Flava ⎯ AWS ⎯ Google Cloud ⎯ Microsoft Azure
  4. What is this? ⎯ MySQL Database as a Service Available

    on Flava ⎯ Similar Products ⎯ Create MySQL Clusters easily in just a few clicks. DBS for MySQL ⎯ RDS for MySQL(AWS) ⎯ Cloud SQL for MySQL(Google) ⎯ Azure Database for MySQL(Microsoft)
  5. Legacy Benefit Flava DBS for MySQL DBS for MySQL Developer

    Infra Team DB Team Create Server Request Many Tasks… Servers Servers MySQL Cluster Configuration Request Many Tasks … MySQL Clusters MySQL Clusters Developer Flava Click MySQL Clusters
  6. Operator Pattern Real State vs Current State(status) vs Desired State(spec)

    Controller Real Environment Custom Resource apiVersion: v1 kind: mysqlservice spec: replicas: 2 status: replicas: 1 (↻Reconcile)
  7. Architecture C-Plane (Control Plane) D-Plane (Data Plane) Flava Kubernetes Engine

    Controllers On Flava Server … Flava Load Balancer Flava DNS
  8. C-Plane NZTRMTFSWJDF DPOUSPMMFS NZTRMOPEF DPOUSPMMFS TFSWFSDPOUSPMMFS ʜ mysqlnode CR server

    CR "1*GPS4FSWFS "1*GPS-# "1*GPS%/4 ʜ Reconcile Reconcile … NZTRMDMVTUFS DPOUSPMMFS
  9. C-Plane NZTRMTFSWJDF DPOUSPMMFS NZTRMDMVTUFS DPOUSPMMFS TFSWFSDPOUSPMMFS mysqlnode CR server CR

    "1*GPS4FSWFS "1*GPS-# "1*GPS%/4 ʜ Reconcile mysqlservice CR Reconcile mysqlcluster CR NZTRMOPEF DPOUSPMMFS Reconcile Reconcile Create Create Create Create API Call
  10. D-Plane Read/Write Endpoint Read Endpoint Load Balancer Replica User MySQL

    Cluster Default Read Replica Group Primary Replica Replication Object Storage Backup Replica
  11. HA(High Availability) HA controller CRs Read/Write Endpoint CRs mysqlstate controller

    Watch mysqlstate controller Standby Primary Watch Watch MySQL Server MySQL Server Health Check Health Check C-Plane D-Plane Replication
  12. HA(High Availability) CRs Read/Write Endpoint CRs mysqlstate controller Watch mysqlstate

    controller Standby Primary Watch Watch MySQL Server MySQL Server Health Check Health Check C-Plane D-Plane 2. Update 3. Reconcile Logic (Failover) 4. Update 5. Update the DNS endpoint HA controller 5. Reconcile Logic (Becomes the new primary) Replication 5. Reconcile Logic (Recover the server) 1. Failure Occurred
  13. HA(High Availability) HA controller CRs Read/Write Endpoint CRs server controller

    server controller Standby Primary C-Plane D-Plane Replication Health Check (API Call) 1. Failure Occurred 2. Update serverchecker controller 3. Reconcile Logic (Failover) Watch
  14. Flava DBS for MySQL ⎯ DataBase as a Service on

    Flava ⎯ Kubernetes + Operator SDK(golang) ⎯ FKE(Control-Plane) + Flava IaaS(Data-Plane) ⎯ In-house developed HA System ⎯ Create MySQL Clusters easily in just a few clicks.
  15. Sophal HONG / ϗϯɾιϙϧ / 홍쏘펄 - Hometown: Cambodia, Kampot

    - Career • 2015 ~ 2017 • Seoul National University • Master degree of Computer Science and Engineering • Distributed Computing System LAB • 2017 ~ 2022 • TmaxSoft • Cloud-Based systems, Linux Server, System Management Agent • 2022.06 ~ now • LinePlus • CloudDBS – MySQL • Verda MySQL / Flava DBS for MySQL
  16. - Support - Scaling - High Availability - Rolling Update

    - Backup and Recovery - Security - Monitoring and Alerting - Logging - Summary Features
  17. • Version support • MySQL 8.0 / MySQL 8.4 •

    Future versions planned • Server Type • Multiple options • Any server type will be supported • Multi-AZ • 3 availability zones • Multi-region support coming soon • API For Management • CRUD Service / Cluster ... • Full Run API support Support Support Capabilities
  18. • Scale-out • Increasing nodes • Add replica node •

    Scale-in • Decreasing nodes • Remove replica node • Scale-up • Increasing capacity • Large server spec • Scale-down • decreasing capacity • Small server spec Scaling Flexible Scaling Options
  19. • HA • Primary and Standby node • Read Replica

    Group (Optional) • Auto / Manual Failover • Maintenance Healing mechanisms • Incident and planned maintenance • Replace node before maintenance start High Availability Built-in High Availability and Maintenance
  20. • OS upgrade • Simple: One click, all nodes upgrades

    • Safety: Replicas -> Standby -> Primary • Failover: Auto / Manual • MySQL Version upgrade • Simple: One click, all nodes upgrades • Safety: Replicas -> Standby -> Primary • Failover: Auto / Manual • Server spec upgrade • CPU/Memory/Disk change Rolling update Rolling maintenance and upgrades
  21. • Backup • Automatic: everyday • Manual: anytime • Preserved

    backup • Keep last backup forever • When service is deleted • Backup file • Store on Flava Object Store Backup and Recovery Reliable Backup and Recovery
  22. • VPC • Virtual Private Network • Communication is protected

    • Editable ACL setting • User ACLs • Client Certificate • ID / Password • SSL/TLS • Encryption in transit • Communicate through secure channel (TLS) • QueryRunner • Run queries on database Security Comprehensive security
  23. • Monitoring • MySQL metric • Friendly Web UI grafana

    • Flava Monitoring alert • Editable alert setting • System Alerting • Failover / Maintenance / Lifetime • Slack / Email Monitoring Real-time monitoring and alerting
  24. • API Activity log • Flava Operation log • API

    Request path, method, response code, username Logging Operation log
  25. • Full version and server flexibility • High Availability and

    Reliability • Backup and disaster recovery • Secure, scalable and API-Accessible • Monitoring, Alerting, and Logging Summary Feature highlights recap
  26. • Any server type • Custom server type • Multi-Region

    • KKS, SSK, ... • File Encryption • Transparent Data Encryption (TDE) • Backup and Recovery • Binlog backup • Point-in-time Recovery • Logging • Slow log, DB audit log Up coming... In-progress supported features