The need for DBRE in KTC
Hello, I am _awache (@_awache), and I do DBRE at KINTO Technologies (KTC from now onwards).
KTC operates a large number of databases such as Amazon Aurora on Amazon Web Services (hereinafter abbreviated as AWS) as a foundation for providing mobility services. It established the Database Reliability Engineering (hereinafter abbreviated as DBRE) organization and is implementing initiatives to balance business agility and governance.
In this article, I will talk about why KTC needs DBRE.
About Database Reliability Engineering (DBRE)
DBRE stands for Database Reliability Engineering. It is responsible for using an approach that combines the best practices of software engineering and database management. Our main jobs are:
- Defining and measuring SLO/SLI and making an approach to a development organization accordingly
- Increasing productivity through automation and autonomy
- Increasing the uptime of backup, restore, and other services
- Database security guarantee and governance control
- Cross-functional collaboration with specialists from other disciplines
These roles can be summed up as ensuring the reliability of services by using specialized knowledge and decisions on databases.
Do Companies Need DBRE?
The term "DBRE" may seem very appealing to some people. However, it is difficult to achieve sustainable results without thinking the reasons why it is necessary in an organization.
The rapid growth of AWS and other public cloud services, the evolution and widespread acceptance of DevOps and SRE principles, coupled with the progress in AI technology, have collectively established a robust foundation. This foundation empowers individuals to address problems up to a certain complexity level through Cloud utilization. Consequently, the demand for specialized knowledge in database engineering is diminishing.
On the other hand, the basic approach to databases has not changed even now.
- Separate environment
- Manage configuration
- Measure performance
- Backup/Restore
- Security guarantee, etc.
Simply put, it can be said that it's the environment surrounding databases that has changed.
You might also want to consider introducing DBRE at your company if you decide it is necessary given the changes in the times.
Why KTC Needs DBRE
Here's an explanation of why KTC is adopting DBRE practices.
The relationship between software engineers and database administrators had changed
- The roles of software engineers and database administrators are clearly separated in this age
When the company still focused on on-premises configurations, software engineers and database administrators generally had distinct roles and worked in their respective areas of expertise.
For example, I think there were classifications like these: - Software Engineering
- Maintaining service uptime and accelerating its growth
- Extracting necessary data at users' requests
- Tuning that does not require changes to the database DDL such as query changes
- Adapting to application according to requests from database administrators
- Maintaining service uptime and accelerating its growth
- Database Administration
- Maintaining database uptime
The major difference between the two is the speed and expertise in responding to requests and users' needs.
Because software engineers are closer to the service provider side, they need to respond as quickly as possible to meet needs.
Since database administrators focus on the database rather than on services, they use their expertise to solve various issues even if they respond more slowly.
It is like the following figure.
- Maintaining database uptime
In an organization like this, the database administrator finds issues throughout the organization and solves them.
- The rise of public cloud services has decreased work done by database administrator and expanded the area of software engineers
The rise of public cloud services such as AWS has drastically changed the roles of both sides. It can be said that the role of the database administrator has been drastically reduced because public cloud services can maintain database uptime.
On the other hand, some of the jobs that database administrators were responsible for are done by database administrators and software engineers, specifically: - Separate environment
- Manage configuration
- Measure performance
- Backup/Restore
- Security and Governance Control
Software engineers in the workplace are now required to do these things.
Because of that, there are times when the database does not get enough attention.
KTC started facing issues in this regard. In order to keep accelerating business growth, software engineers must be able to focus on business growth.
In today's world of cloud utilization, DBRE must be a hub with public cloud services in order for software engineers to focus on business activities. The Key Roles Required of DBRE
- Maintaining service uptime using databases
- Making engineers in the workplace more productive
- Handling database security
- Protecting the database from internal and external factors
By fulfilling these roles, DBRE accelerates the continued growth of the company.
The following chapters provide more information on each role.
The Roles of DBRE in the Cloud Era
- Maintaining service uptime using databases
Generally, a properly functioning database is required for a service to run properly. In other words, database downtime directly leads to service downtime. In order to maintain service uptime, the database must be restored correctly, appropriately, and quickly.
So what DBRE needs is the skills to keep the database running on the cloud. - Making engineers in the workplace more productive
Promoting standardized operation of a database can significantly contribute to companies. Examples include using a platform that provides company guidelines, automatically generating database documents such as ER diagrams, and automating routine operations.
DBRE also plays an important role in validating new features and applying them to the company, addressing application bottlenecks such as slow queries, and troubleshooting.
These do not scale even if only DBRE does them. DBRE has to work with much less resources than software engineers.
It is important to note that outputs from DBRE go back to the software engineers and can be handled by anyone. - Handling database security
The database becomes more important as the business grows. When the database becomes more valuable, it is constantly targeted.
A data leak can cause financial losses and tarnish the company's reputation.
It is necessary to protect the database from risks like that for the company to keep growing. For that reason, it is important that DBRE implements database security measures as a business unit.
- Protecting the database from internal and external factors
Data is easily influenced by changes in external factors. Because of that, database operation requirements become more strict over time.
In particular, companies have to address changes in governments, regulations, public opinion, and other factor outside of the company's or people's control. For example, the Personal Information Protection Act and other laws get revised regularly, and the penalties tend to get more strict each time.
If each service individually addresses influences by external factors, it presents financial risks, the risk of a leak, and other risks.
DBRE is required to properly understand the risks of external factors and implement optimal governance control across all databases in the company.
KTC DBRE's vision
At KTC, DBRE is a cross-functional organization. It provides value by having our outputs reflected on the business. I think that having a cross-functional organization without knowing how to leverage it is the same as paying taxes and not understanding where your money goes. It is important to know how to positively affect the business.
These days, businesses change too fast to be handled with just rules and reviews. It is important that DBRE uses its knowledge of databases to contribute to engineers in the workplace and maintain the reliability of KTC as a company.
For that reason, we try to solve database issues through engineering to the best of our abilities.
We implement governance control in services and positively impact the business by working together with engineers in the workplace and quickly solving issues without being restricted by rules.
Conclusion
The Roles of KTC DBRE
- Provide an environment in which engineers in the workplace can focus on growing the business.
The Key Roles Required of KTC DBRE - Maintaining service uptime using databases
- Making engineers in the workplace more productive
- Handling database security
- Protecting the database from internal and external factors
By fulfilling these roles, DBRE accelerates the continued growth of KTC.
It is required to positively influence the business by working together with engineers in the workplace and quickly solving issues by focusing on these roles without being bound by rules.
Do you want to discuss DBRE with us?
We have just starting doing DBRE. We are still doing trial and error to see why we are doing DBRE, what we want to accomplish, and we will do it. By having frank discussions on what we are doing and what we want to do, we can expand our horizons. We also want to talk about our efforts to receive a lot of input.
If you are interested, please send us a DM on Twitter.
We are Hiring
I think recruiting DBRE team members is a huge challenge. If you are interested in our activities, do not hesitate to send your application through our recruitment page. We're also open to casual conversations with anyone who wants to chat with us. We're also planning to organize events such as DBRE meetups and collaborate with companies that follow DBRE practices. We look forward to you joining us when that happens!
関連記事 | Related Posts
We are hiring!
【DBRE】DBRE G/東京・名古屋・大阪
DBREグループについてKINTO テクノロジーズにおける DBRE は横断組織です。自分たちのアウトプットがビジネスに反映されることによって価値提供されます。
【プラットフォームエンジニア】プラットフォームG/東京・大阪
プラットフォームグループについてAWS を中心とするインフラ上で稼働するアプリケーション運用改善のサポートを担当しています。