Vaidas Balys
About Vaidas Balys
Vaidas Balys is an author known for his expertise in software development, particularly in implementing continuous deployment principles and managing large-scale database systems using Vitess.
Vaidas Balys - Author
Vaidas Balys is an accomplished author known for his expertise in backend application testing and database optimization. His work emphasizes adherence to continuous deployment principles to ensure seamless integration and deployment across various stages of development. Vaidas has contributed significantly to the field with his innovative methods and best practices.
Continuous Deployment Principles
Vaidas Balys strictly adheres to the principles of continuous deployment, ensuring that any code changes made are automatically tested and deployed without manual intervention. On an average working day, the team deploys around 150 pull request builds and 50 main branch builds. This approach allows for rapid and reliable software releases, minimized downtime, and constant updates.
Vitess Database Management
Vaidas Balys employs the Vitess database to run backend tests of the core application, which consists of more than 30 keyspaces. Critical keyspaces in the system are horizontally sharded to optimize performance. The VTGates serve an impressive 1.3 million queries per second during peak hours, managing around 15 TB of data. The backend test execution for each pull request build is performed on these Vitess clusters, ensuring thorough and efficient testing.
CI/CD Pipeline with Jenkins
Vaidas Balys utilizes Jenkins along with a fleet of agent nodes to manage the CI/CD pipeline. Each build incorporates running approximately 30,000 RSpec examples to maintain high code quality. Previously, tests were conducted using MySQL running directly on the agent server, but Vaidas has since transitioned to using Vitess in combination with Kubernetes for cluster deployment. The migration to Vitess from ProxySQL represents a significant advancement in handling backend tests.
Parallelization and Adaptation with Ruby Gems
To enhance testing efficiency, Vaidas Balys uses the parallel_tests Gem for parallelizing backend tests. This approach significantly reduces test execution time by leveraging multiple processes. Additionally, he has developed an internal Vitess adapter Ruby Gem, facilitating seamless use of Vitess within applications. Furthermore, the setup of Kubernetes-deployed Vitess clusters is driven by developers marking ActiveRecord models, integrating backend testing uniquely with the database setup.