SRE
Role details
Job location
Tech stack
Job description
FoundationDB infrastructure is BIG. Operating at our scale, across multiple geographically dispersed data centers and servicing hundreds of millions of users presents unique challenges. As an SRE at Apple, you'll need to solve these problems using data, teamwork, and your own expertise. SREs at Apple own the full infrastructure stack; from device driver performance debugging to content delivery network traffic management - our responsibilities are both broad and deep.
FoundationDB runs its systems on Linux. We run a mix of open source, vendor licensed, and internally developed tools to perform functions such as system configuration management, provisioning, software deployment, logging, and monitoring. You'll learn these tools and have opportunities to improve them. Our team is collaborative; we work closely with the development teams we support to deliver the best results for Apple. We think critically and strive to balance the best solution with the need to get things done for each engineering challenge we face. Good ideas are heard and results are rewarded.
FoundationDB SRE is a small team with huge scale. We serve as the database for much of CloudKit's use cases, including Mail, Contacts, and Keychain. We serve hundreds of millions of customers every day and are a fundamental piece of the Apple device experience.
","responsibilities":"Our team is responsible for the provisioning, managing, and monitoring of FoundationDB in production across multiple regions and control planes (bare-metal, AWS, and Kubernetes). We develop much of our own automation in Java and Go, including our open source Kubernetes Operator (https://github.com/FoundationDB/fdb-kubernetes-operator). We work closely with our dev partners to develop a robust and scalable database, often engaging in projects as a single team.
Requirements
Do you have experience in Python?, Hands-on experience managing large numbers of diverse systems with configuration management or software delivery platforms (such as Puppet, Chef, Ansible, and Spinnaker) Experience with deploying, supporting and monitoring new and existing services, platforms, and application stacks Excellent troubleshooting and problem solving skills Experience with scale testing, disaster recovery, and capacity planning Familiarity with microservices architecture and container orchestration with Kubernetes, Strong sense of ownership and integrity demonstrated through clear communication and collaboration Experience in managing and scaling distributed systems in a public, private, or hybrid cloud environment The ability to design, author, and release code in languages like (but not limited to) Go, Java or Python Acute drive to automate manual operations and to improve them through repeated iteration Understanding of the Linux Operating System, standard networking protocols, and components Hands-on experience managing large numbers of diverse systems with configuration management or software delivery platforms (such as Puppet, Chef, Ansible, and Spinnaker) Experience with deploying, supporting and monitoring new and existing services, platforms, and application stacks Excellent troubleshooting and problem solving skills Experience with scale testing, disaster recovery, and capacity planning Familiarity with microservices architecture and container orchestration with Kubernetes