스포트라이트
SRE 엔지니어, 데브옵스 엔지니어(SRE), 시스템 신뢰성 엔지니어, 운영 엔지니어(SRE), 인프라 엔지니어(SRE), 사이트 운영 엔지니어, 생산 엔지니어(SRE), 플랫폼 엔지니어(SRE), 사이트 가용성 엔지니어, 신뢰성 엔지니어
DevOps가 탄생하기 전에 Google은 문제가 있었고 해결 방법을 몰랐습니다. 이 회사는 대규모 사이트를 운영하고 있었지만 사이트를 개선하고 더 확장해야했습니다. 그 해결책? Google은 소프트웨어 엔지니어 팀을 태그하여 파악했으며 그들의 노력으로 SRE (Site Reliability Engineering)의 기초가되었습니다. 오늘날 소프트웨어 거대 기업은 SRE를 "작업을 소프트웨어 문제인 것처럼 취급할 때 얻을 수 있는 것"이라고 정의합니다.
SRE 관행은 다른 대기업에서 채택 된 매우 유익했으며 시간이 지남에 따라 향상되고 추가되어 오늘날의 DevOps의 많은 특성을 공유하지만 몇 가지 중요한 차이점이있는 경력 분야가 탄생했습니다. 둘 다 개발 및 운영 중간에 존재하지만 SRE는 자동화에 더 중점을 둡니다. 실제로 구글은 엔지니어의 목적을 "직장에서 벗어나는 길을 자동화"하는 것이라고 묘사 한 적이 있습니다.
조직마다 SRE를 다르게 수행하며 대신 생산 엔지니어링 또는 인프라 엔지니어링이라고 부를 수 있습니다. 라벨이 무엇이든 간에, 결국 웹 사이트 안정성을 개선하고, 인시던트 관리 KPI(핵심 성과 지표)를 사용하고, 코드를 작성하고, 서비스를 구축하고, 수동 프로세스를 자동화하기 위해 지속적으로 노력하는 팀 플레이어가 되는 것은 엔지니어의 임무입니다. 사이트가 하루 24시간 유지되기 때문에 SRE는 필요할 때마다 응답하기 위해 통화 중으로 작업하는 경우가 많습니다.
- 프로젝트의 큰 그림 개요로 작업
- 팀 간의 중요한 다리 역할을 함
- 프로세스 개선 및 조직 이익 증대 지원
- 관대 한 재정적 보상
근무 일정
SRE는 잘 보상 된 경력 분야이므로 풀 타임 시간을 투자하여 급여를 얻을 것으로 기대하십시오! ParkMyCloud가 설명했듯이 사이트 안정성은 본질적으로 비즈니스 가용성과 동일합니다. 즉, 비용이 많이 드는 가동 중지 시간을 최소화하는 것은 사이트 안정성 엔지니어의 몫입니다. 이는 근무 시간 이후에 일하거나 문제에 신속하게 대응하기 위해 전화를받는 것으로 해석 될 수 있습니다.
일반적인 의무
- 운영 및 지원과 관련된 소프트웨어 작성 또는 개선
- 프로세스 최적화 및 자동화
- 릴리스 엔지니어링 일관성 관행 보장
- 지원 에스컬레이션 해결 및 최소화
- Runbook을 만드는 것과 같이 나중에 참조할 수 있도록 새로 학습된 정보를 캡처하고 문서화합니다. "사일로잉"또는 공유 가능한 지식의 축적 방지
- 문제 해결
- 사고 검토(사후 평가, 회고 또는 근본 원인 분석이라고도 함)를 수행하여 책임을 묻지 않고 문제가 발생한 이유를 파악합니다.
추가 책임
- 문제 해결 및 기타 인시던트 대응 문제에 대한 요청 작업
- 조직 프로토콜 준수 보장
- 소프트웨어 개발 수명 주기 내에서 문제를 해결하고 향후 유사한 문제를 완화하기 위한 작업 항목 목록 작성
소프트 스킬
- 팀 간의 공동 작업을 촉진하는 기능
- 분석적 문제 해결
- 세부 사항에주의
- 고객 서비스
- 공감
- 융통성
- 목표 중심
- 고도로 조직화된; 좋은 시간 관리 기술
- 조사 및 호기심
- 리더십 및 관리 기술
- 객관성
- 프로세스 지향
- 품질 보증 사고 방식
- 강력한 의사 소통 기술
기술 능력
SRE에는 다음과 관련된 몇 가지 기술 집합이 있어야 합니다.
- 자동화 도구 구축
- 구성 언어 구축
- 컴파일러
- 데이터베이스
- 분산 시스템 설계
- 시스템 관리, 개발, 구성 관리, 통합 테스트와 관련된 도메인 지식
- 일반 소스 코드 관리
- 설치
- 네트워킹
- 운영 체제
- 패키지 관리자
- 안전
- 소프트웨어 엔지니어링
- 컴퓨터 시스템 설계 기관
- 기업/회사
- 정부/군사 기관
- 의료
- 고등 교육 기관
- 미디어 및 엔터테인먼트
조직에 사이트 안정성 엔지니어가 필요한 중요한 사이트나 사이트가 있는 경우 기대치가 높아질 것입니다. Netguru에 따르면 SRE를 고용하는 네 가지 주요 이유는 가동 중지 시간을 최소화하고, 위험을 예측 및 완화하고, 더 빠른 개발을 달성하고, 이러한 프로세스 및 기타 구현 된 프로세스를 통해 비용을 절감하는 것입니다. 분명히 사이트 안정성 엔지니어는 손을 가득 채우고 작업 부하를 저글링하려고 시도하는 동안 IT 세계의 변화보다 앞서 있어야합니다.
문제가 발생하면 시간이 길어질 수 있으며 모든 회전은 말할 것도 없습니다 ... 즉, 꺼져있을 때조차도 기술적으로 여전히 켜져 있습니다. 사고 대응 시간은 짧을 수 있으며 모든 고용주는 몇 시간 후에 수행 된 작업에 대한 보상에 관해서는 다릅니다. 일부는 유급 휴가를 부여 할 수도 있고, 일부는 추가 급여를 줄 수도 있으며, 일부는 풍성한 "대단히 감사합니다"를 제공 할 수도 있습니다.
SRE는 여전히 성장하는 많은 조직에서 비교적 새로운 개념입니다. 결과적으로 한 가지 추세는 기업이 여전히 그것을 가장 잘 관리하는 방법을 알아 내려고 노력하고 있다는 것입니다. Site Reliability Engineering에 대한 추진을 주도하는 주요 요인은 사고 해결이며, 이는 기업이 단순히 화재를 진압하는 데 지쳐서 더 잘 처리하기를 원한다는 개념을 암시합니다.
물론 이것은 SRE에 스트레스를 대신 가함으로써 경영진의 스트레스를 덜어줍니다. 이를 위해서는 고용주가 스트레스를받는 근로자를 건강하고 잘 유지할 수있는 방법을 찾아야하므로 인력이 최고 효율로 운영 할 수 있습니다. 일부 회사는 다른 회사보다 더 잘하지만, 추세는 사업을 돌보는 바쁜 근로자를 돌보는 것의 가치를 인식하는 것입니다!
"사이트 신뢰성 엔지니어"라는 이름은이 분야에서 일하는 사람들의 유형에 대한 몇 가지 단서를 제공합니다. 그들은 웹 사이트 작업을 즐기며, 대부분의 SRE가 청소년기에 개발 한 관심사입니다. 그들은 사이트가 "신뢰할 수있는"것을 보장하고, 모든 것이 필요할 때 어떻게 작동하는지 확인하는 책임이 있습니다. 따라서 노동자 자신은 신뢰할 수 있어야하며, 이는 초기 몇 년 동안 종종 연마 된 또 다른 특성입니다.
그러한 사람들은 시간을 엄수하고 준비하기를 좋아하며 학문적으로 잘했을 가능성이 큽니다. 사실, 모든 유형의 엔지니어가되기 위해서는 일반적으로 특히 수학과 과학에서 강력한 학업 적성이 필요합니다. 그러나이 분야에서 흥미로운 점 중 하나는 얼마나 많은 소프트 스킬이 작용하는지입니다.
SRE는 사람이어야 하고, 팀과 함께 일하는 데 편한 사람이어야 하며, 이러한 팀 간의 협업을 촉진할 수 있어야 합니다. 결과적으로, 그들은 학교에서 리더십 직책을 맡았을 수도 있고, 단순히 많은 형제 자매들과 싸울 수도 있습니다! SRE는 효율성 전문가로, 문제를 연구하고 연구를 기반으로 솔루션을 결정함으로써 상황을 개선하는 방법을 찾도록 훈련받습니다. 이것은 마치 뇌의 두 반구가 함께 작동하는 것처럼 창의적이면서도 분석적인 사고 방식을 필요로합니다. 많은 SRE가 양손잡이이거나 악기 연주에 능숙 할 수 있습니다.
- 사이트 신뢰성 엔지니어는 컴퓨터 과학 또는 관련 분야에서 학사 학위가 필요합니다.
- SRE가 되기 위한 정해진 경로는 없습니다. 일부 근로자는 인턴쉽을 통해 입장합니다. 다른 사람들은 부트 캠프를 한 다음 다른 IT 작업을 수행하면서 기술을 개발하면서 다른 기술을 스스로 연습 할 수 있습니다.
- 충분한 업무 경험은 대부분의 고용주의 핵심 요구 사항입니다 (많은 SRE 직원이 DevOps, sysadmin에서 처음 일하거나 개발자 또는 소프트웨어 엔지니어로 일함)
- Java, Python, Ruby 또는 C++뿐만 아니라 Linux, Kubernetes 및 MySQL에 익숙해 질 클래스
- 영어, 작문, 말하기, 팀워크 및 리더십에서 소프트 스킬을 쌓는 과정
- 선택적 인증에는 다음이 포함됩니다.
- 미국 품질 협회 신뢰성 엔지니어 인증
- DevOps Institute의 SRE Foundation 인증
- CompTIA의 Linux+ 인증
- 다음에 대한 코스를 수강하여 스스로 배우십시오.
- edX - DevOps 및 사이트 안정성 엔지니어링 소개
- Lynda (LinkedIn) - DevOps Foundations: Site Reliability Engineering
- Udemy - 신뢰성 공학 입문
- Coursera - 사이트 신뢰성 엔지니어링: 신뢰성 측정 및 관리
- 참고로, 동일한 코스는 Pluralsight에서도 제공됩니다.
- 성공적인 사이트 신뢰성 엔지니어가되기 위해 알아야 할 많은 것들이 대학 프로그램 외부에서 배울 것입니다!
- 이상적으로는 위에 나열된 영역에서 코스를 제공하는 프로그램을 찾으십시오.
- 교수진 소개를 읽고 전문 지식과 배경이 무엇인지 확인하십시오.
- 어떤 유형의 학생 클럽 및 단체를 이용할 수 있습니까? 많은 부드럽고 기술적 인 기술은 충분한 피어 상호 작용을 통해 가장 효과적으로 학습됩니다.
- 학교가 공인되었는지 확인
- 졸업 후 직업 통계를 게시하고 견고한 실적을 보유한 프로그램을 찾으십시오.
- 온라인 프로그램에 등록하는 장단점을 저울질하십시오. 캠퍼스 내 참여는 소프트 스킬을 구축하는 데 매우 도움이되므로 때로는 하이브리드 프로그램이 유익합니다.
U.S. News & World Report의 최고의 컴퓨터 과학 프로그램은 시작하는 데 도움이 될 수 있지만 하나의 순위에만 의존하지는 않습니다. 좋은 기회를 놓치고 싶지 않으므로 Great Value College의 2020 년 컴퓨터 과학 및 공학을위한 50 개의 훌륭한 저렴한 대학 또는 최고의 투자 수익을 가진 Best Value School의 Top 25 컴퓨터 과학 프로그램과 같은 목록을 고려하는 것이 좋습니다.
대학은 터무니없이 비쌀 수 있지만 많은 고용주가 매우 실용적이라는 것을 명심하십시오. 그들은 당신이 졸업 한 학교보다 당신의 어려운 기술 능력에 더 관심이있을 수 있습니다. 다른 말로하면, 값 비싼 사립 대학에서 학위를 취득하는 것만으로는 이러한 업무 라인에서 직업을 보장 할 수 없습니다. 기술을 구축하는 데 필요한 특정 수업을 듣고 가능한 한 많은 실습 경험을 얻는 데 집중하십시오.
- 앞서 언급했듯이 SRE가되는 단일 경로는 없으므로 몇 가지 옵션을 계획하십시오.
- 일하고 싶은 회사의 채용 공고를보십시오. 필요한 업무 및 학업 경험에주의를 기울인 다음 경력 경로를 리버스 엔지니어링하여 거기에 도달하십시오.
- 고등학교에서는 가능한 한 많은 IT 선택 과목을 수강하여 견고한 기반을 구축하십시오.
- 가능한 한 많은 실습 기술 연습을하십시오! 위의 교육 및 훈련 항목과 관련된 과정을 수강하십시오.
- 글쓰기를 잊지 마십시오. 기술 글쓰기는 중요하지만 복잡한 주제를 평신도의 용어로 번역해야합니다.
- SRE는 훌륭한 팀워크와 리더십 기술이 필요합니다. 이것들은 종종 나중에 가질 것으로 예상되는 무시 된 특성이므로 초기에 개발할 수있는 방법을 찾으십시오.
- 경험 많은 멘토를 갖는 것보다 더 좋은 것은 없으므로 동창이나 교수진에게 조언을 구하십시오.
- 다른 사람들을 가르친다. 교육은 양 당사자를위한 새로운 학습 경험을 용이하게합니다.
- Quora, Reddit, Dev.to 및 기타 사이트에서 토론을 읽고 참여하십시오.
- 당신의 기술이 충분히 좋을 때, Upwork에 대한 유료 경험을 얻으십시오.
- Indeed에서 인턴십을 찾거나 대학 프로그램에 기회가 있는지 물어보십시오.
- IT 관련 클럽의 리더가 되어 방대한 동료와 동료의 네트워크를 구축하세요!
- 단어를 꺼내십시오! 대부분의 일자리는 이제 네트워킹을 통해 발견됩니다.
- TripleByte DevOps 선별 테스트를 실시하십시오. 당신이 통과하면, 당신은 그들의 네트워크에서 고용주와 인터뷰를 얻을 것이다.
- Indeed, Monster, USAJobs, ZipRecruiter, LinkedIn 및 Glassdoor에서 오프닝을 찾으십시오.
- 고용주가 무엇을 찾고 있는지 알아보십시오! Usenix는 SRE 고용에 대한 내부자 팁을 나열하는 다운로드 가능한 .pdf을 제공합니다.
- 일부 고용주는 내부적으로 SRE를 교육하므로 한 가지 직업에서 시작하지만 회사 내에서 일할 계획을 세울 수 있습니다.
- 인턴쉽을 받으십시오. 그들은 항상 잘 지불하지는 않지만 문에 발을 들여 놓을 것이고 풀 타임 직업으로 이어질 수 있습니다.
- 배심원단은 취업 박람회가 얼마나 유용한지에 대해 알고 있지만, 산업별 박람회는 확실히 당신에게 어떤 기회가 존재하는지에 대한 노출을 제공하고 근로자와 대화 할 수있는 기회를 제공 할 수 있습니다.
- 이력서를 순서대로 준비하십시오. Job Hero는 아이디어를 훔치기 위해 훌륭한 사이트 안정성 엔지니어 이력서 템플릿을 가지고 있습니다.
- 전문 이력서 작성자 (또는 편집자)를 데려와 문서를 펀치하고 최선을 다하십시오. 그러나 각 이력서를 지원중인 특정 직업에 맞게 조정하십시오.
- GitHub의 방대한 리소스 데이터베이스 및 인터뷰 질문을 연구하십시오!
- 많은 것은 조직의 규모에 달려 있습니다. 일부 회사는 내부에서 홍보합니다. 다른 사람들은 외부 후보자를 원할 수도 있습니다. 승진 기회 토론은 일찍 상사와 이루어져야합니다.
- 능동적으로 행동하십시오. 자신을 훈련시키고, 코스를 수강하고, 계속 배우십시오. 기술에 새로운 트렌드가있을 때, 당신이 그것에 대해 할 수있는 모든 것을 찾아 주제 전문가가 되십시오.
- 회사에 대한 충성도를 보여주고 책임을 강화할 가치가 있는 신뢰할 수 있고 귀중한 자산이 되십시오. 전진할 준비가 되었음을 나타내는 방식으로 행동하십시오.
- 항상 부드러운 기술을 기억하십시오. 가장 기술적으로 숙련 된 직원조차도 다른 사람들과 잘 어울리지 않으면 움직이는 데 어려움을 겪을 것입니다.
- 보스가 되십시오. 역량과 리더십 잠재력을 보여주세요. SRE는 협력적이지만 결정적인 (그리고 필요할 때 확고한) 방식으로 다른 사람들을 지시 할 수 있어야합니다.
- 당신이 신뢰할 수 있다는 것을 증명하십시오. 시간을 엄수하고, 전화를 거는 경우 사건에 신속하게 대응하고, 부지런히 작업을 수행하고, 미래의 유사한 문제를 완화 할 수있는 방법을 찾으십시오.
웹사이트
- 고급 배쉬 스크립팅
- 굉장한 파이썬
- 네트워크 프로그래밍에 대한 Beej의 가이드
- 커맨드 챌린지
- 사이버 에이스
- 데브옵스 부트캠프
- 데브옵스데이즈
- 엘리 컴퓨터 가이
- 힘내
- 힘내 몰입
- SQL 소개: 데이터 쿼리 및 관리
- 카타코다
- MIT의 운영 체제 엔지니어링
- 몽고DB 대학
- 작전 학교
- 와이어를 통해
- 꼭두각시 학습
- SQLZOO
- 증권 시세 표시기
- SRE 주간
- 시스템 관리자 캐스트
- 정보 보안 교육 자료의 큰 블로그 게시물
- 괴짜 물건
- 구글 SRE 도서
- Amazon Web Services에 대한 공개 안내서
- 시스템 설계 입문서
- 유닉스 워크벤치
- 유닉스 툴박스
책
- 안전하고 신뢰할 수 있는 시스템 구축: 시스템 설계, 구현 및 유지 관리를 위한 모범 사례, Heather Adkins, Betsy Beyer, et al.
- 운영 체제 : Remzi Arpaci-Dusseau와 Andrea Arpaci-Dusseau의 세 가지 쉬운 조각
- Practical Site Reliability Engineering, by Pethuru Raj Chelliah, Shreyash Naithani, et al.
- 사이트 안정성 엔지니어링: Google이 생산 시스템을 실행하는 방법, Niall Richard Murphy, et. 알.
- 피닉스 프로젝트 : IT, DevOps 및 비즈니스 승리에 대한 소설, Gene Kim, Kevin Behr, et al.
사이트 신뢰성 공학은 책임의 톤과 스릴 경력 분야가 될 수 있습니다. 그러나 침입하는 경로가 항상 잘리고 건조한 것은 아닙니다. 많은 사람들이 다른 지역에서 시작하고, 때로는 그 지역에 머물게됩니다. 몇 가지 "플랜 B" 작업 옵션은 다음과 같습니다.
- 백엔드 개발자
- 컴퓨터 및 정보 시스템 관리자
- 컴퓨터 프로그래머
- 컴퓨터 지원 전문가
- 컴퓨터 시스템 분석가
- 데이터베이스 관리자
- 데브옵스
- 프런트 엔드 개발자
- 풀 스택 개발자
- 정보 보안 분석가