About the role
The core requirements for the job include the following:
Database Administration (DBA) Skills:
- Relational Databases: MySQL, PostgreSQL, Oracle, and MS SQL Server.
- Database Backup and Recovery: Tools and strategies for database backups and disaster recovery.
- Performance Tuning: Query optimisation, indexing strategies, and database performance troubleshooting.
- Database Security: User management, roles, access control, and auditing.
Infrastructure as a Service Knowledge:
- Infrastructure as Code (IaC): Terraform, CloudFormation, and Kubernetes.
- Kubernetes and Containers: Good knowledge and understanding of Kubernetes and usage of containers.
- Observability Tools: ELK stack (Elasticsearch, Logstash, Kibana).
- Database Migration: Migrating databases across different platforms or cloud environments.
- Infrastructure Scaling: Vertical and horizontal scaling techniques in cloud environments.
SRE Principles and Knowledge (Site Reliability Engineering):
- Strong hands-on experience in AWS and Azure clouds and a fair understanding of Google Cloud would be required.
- Experience in handling APIs, troubleshooting API calls, and ensuring seamless integration and performance.
- Incident Management: Handling database outages, incident response, and on-call rotations.
- Monitoring and Alerting: Tools like Prometheus, Grafana, Datadog, CloudWatch, suggest proactive monitoring for the application stack
- Understanding on core SRE principles: SLA, SLI, SLO, error budgets, etc.
- Disaster Recovery Planning: Ensuring high availability (HA) and disaster recovery (DR) solutions.
- Performance Optimisation: Track latency, slow performance and high utilisation issues and recommend optimisation as required.
Scripting and Automation:
- Scripting Languages: Python, shell scripting, Bash, and PowerShell.
- Automation Tools: Ansible, Puppet, and Chef.
- Infrastructure Automation: Automating database deployment, patching, and scaling.
Networking and Infrastructure:
- Networking Basics: TCP/IP, DNS, firewalls, and load balancers.
- Database Connectivity: Connection pooling, failover strategies, and multi-region deployment.
- Storage and Disc Management: Understanding IOPS, latency, and throughput.
- Infrastructure: Familiarity with AWS services like EC2 S3 VPC, and Security
- Groups, Private and Public subnets, IAM, CloudWatch, CloudTrail, etc. and Azure services like Virtual Machines, Azure functions, virtual networks, resource managers, etc.
OS Skills:
- Expertise in Linux OS (RHEL, Ubuntu, CentOS).
- Understanding of file systems (ext4 XFS, etc. ), permissions, and ownerships.
- Knowledge of process monitoring, management, and troubleshooting.
- Proficiency with tools like top, htop, vmstat, iostat, sar, and dstat to monitor CPU, memory, disc I/O, and network usage.
- Ability to analyse system logs (/var/log/, journalctl, dmesg) for troubleshooting.
- Understanding of resource limits (CPU, memory, disc, and network) and how they impact database performance.
- Knowledge of partitioning tools (fdisk, parted) and file system management (mkfs, mount, umount).
- Understanding of RAID configurations and Logical Volume Management (LVM) for storage scalability.
Troubleshooting and Debugging:
- Log Analysis: Reading and analysing database and system logs.
- Root Cause Analysis (RCA): Performing in-depth analysis after major incidents and sharing RCA with customers.
- Query Performance: Analysing slow queries, deadlocks, and resource contention.
Soft Skills:
- Communication Skills: Clear written and verbal communication with internal and external stakeholders.
- Problem-Solving: Ability to prioritise, troubleshoot critical issues and bring them to closure.
- Collaboration: Working closely with DevOps, infrastructure, and engineering teams.