-
1 학년
인프라 건설 도구 Terraform (자세한 내용여기).
-
2 년
Aurora MySQL 2.x (MySQL 5.7과 호환)에 대한 지원이 끝나면서 담당 주인공은 Aurora MySQL 3.x (MySQL 8.0과 호환)로 업그레이드했습니다.
-
3 학년 (현재) *2024 년 기준
스팟 인스턴스를 메인 관리자로 제작 환경으로 도입하는 것.

그의 2 년차 고용
큰 메이저 놀이터
메이저 놀이터 책임
상당한 비용 절감에 기여

Makida Mitsuki인프라 엔지니어
나는 그것이 기술적으로 흥미로운 직장이라고 말하면서 신입 사원에 합류했습니다.
현재 회사와 함께 3 년째에 그는 현재 Studysapuri English의 SRE로 일하고 있으며 인프라 건설 및 모니터링에 참여하고 있습니다. 구체적으로, 그 일은 "이와 같은 것을 만들고 싶습니다. 인프라에 대해 어떻게해야합니까?"와 같은 다른 팀으로부터 조언을받는 것입니다. 필요한 인프라를 구축하고 관리합니다. 주로 Terraform, AWS (Amazon Web Services), Kubernetes, Datadog 등을 사용하며 서버 측 구현이 Scala에서 구현되므로 JVM (Java Virtual Machine)도 조정합니다.
나는 인턴쉽 기간 동안 Studysapuri 영어 팀을 처음 만났고, 당시 Amazon의 ECS (탄성 컨테이너 서비스)에서 EKS (탄성 Kubernetes Service)로 컨테이너 기초를 완전히 전환 한 것을 보았을 때 기술적으로 흥미로운 작업장이라고 생각했습니다. 또한, 우리는 우리 자신의 서비스를 처리하기 때문에 "더 많은 일을하는 것이 좋지 않습니까?"라고 말합니다.제품에 대한 귀하의 제안서를 쉽게 반영하기 쉽습니다또한 매력적이었습니다. 나는 또한 사회적 문제를 해결하는 데 결정적인 요소가되었고 신입 사원에 합류했습니다.
지정된 후, 나는 약 4 개월 동안 아틀란티스 소개를 수행 한 후 1 년 동안 MySQL의 주요 버전을 메이저 놀이터하는 주요 인물이었습니다. 그것이 성공하면, 우리는 약 6 개월 동안 스팟 인스턴스를 생산 환경에 도입했습니다. 과거에는 주문형 인스턴스를 사용했는데, 이는 시작시 원하는만큼 사용할 수 있지만 비용을 줄이기 위해 사용하기에 저렴한 주문형 인스턴스의 잉여 용량을 사용하는 SPOT 인스턴스로 전환했습니다. 스팟 인스턴스를 사용하면 용량 제약으로 인해 서버가 갑자기 죽어서 시스템을 불안정하게 만들 수 있으므로 생산 환경에 도입하기 전에 중복성을 제공하는 것과 같은 충분한 조치를 취했습니다. 현재 우리는 새로운 서비스의 타당성을 보장하기 위해 인프라를 구축하고 있습니다.

회사와의 첫 해에 그는 대규모 EOSL 지원의 주요 관리자로 선정되었습니다.
특히 기억에 남는 사례는 MySQL의 주요 버전 메이저 놀이터이며, 첫해 말에 회사와 함께 할당되었습니다. Aurora MySQL 3.x (MySQL 8.0 호환)로 업그레이드하는 목적은 Aurora MySQL 2.X (MySQL 5.7 호환)에 대한 지원을 종료하는 것입니다. 비교적 위험이 높은 경우, 무언가 잘못되면 전체 서비스에 영향을 미칩니다.
이 경우의 필수 요구 사항은 업데이트 후 서버가 피크 타임로드를 견딜 수 있고 서버의 동작이 변경되지 않았다는 것입니다. 그래서 처음에는 기존로드 테스트 도구를 사용하여 확인했지만 약간 작동하지 않았습니다. 이 도구는 실제 타임 스탬프를 고려하지 않고 단순히 쿼리를 실행했습니다. 그래서 나는 그것이 더 나쁘고, 도구인지 메이저 놀이터인지 알지 못했기 때문에 문제를 분리하기 위해 자체로드 테스트 도구를 만들기 시작했습니다. Studysapuri 영어 메이저 놀이터에서 요청의 약 98%가 읽히기 때문에 읽기 우선 순위를 정해야한다고 결정했기 때문에 일반 쿼리 로그를 사용하여 MySQL의 모든 실행 로그를 출력하여 파일 테스트 측면에서 인스턴스로 가져 가서 타임 시리즈로 동일한 쿼리를 재생하는 도구를 만들었습니다. 일반 제품에서도 비슷한 도구를 사용할 수 있지만 사용 사례가 적합하지 않거나 예상 액세스량을 미세 조정할 수 없었기 때문에 나만의 도구를 만들었습니다. 이 수제 도구를 사용하여 테스트하면 이전과 동일한 CPU 및 메모리 구성으로 업데이트하면 부하를 견딜 수 없습니다.
따라서 몇 가지 조치가 구현되었습니다. 먼저, 오랫동안 사용해 온 인텔 CPU (중앙 처리 장치) 대신 원래 AWS가 설계 한 Graviton CPU를 대체했습니다. 계산 정확도 및 메이저 놀이터 읽기 및 쓰기 속도 측면에서 매우 효율적이라고 들었으므로 성능을 향상시키기 위해 시행 착오의 일부로 사용해 보았습니다. 또한 스토리지 설정을 I/O- 최적화 된 옵션으로 변경하려고 시도했고 속도가 증가 하여이 제품을 사용하기로 결정했습니다 (이 옵션의 고정 가격은 읽기/쓰기이므로 Studysapuri 영어와 같은 많은 읽기/쓰기로 작업량의 비용 절감을 초래했습니다).
나는 또한 서버 팀에 일부 API와 함께 리더 인스턴스를 사용하도록 변경하도록 요청했습니다. 일반적으로 메이저 놀이터 서버는 두 개의 장치로 구성됩니다. 읽기 및 쓸 수있는 Writer 인스턴스와 읽기 전용 판독기 인스턴스와 두 개의 서버는 무대 뒤에서 동기화되지만 두 장치를 만드는 데 우선 순위가 있으며 리더 인스턴스는 사용되지 않습니다. 따라서 읽는 프로세스 만 변경했지만 리더 인스턴스를 참조하기 위해 메이저 놀이터가 적용되어 두 장치간에로드 배포를 허용합니다.
따라서 이러한 조치를 통해 성능 악화의 위험을 해결할 수 있었으므로 심야 유지 보수 중에 한 번 서비스를 중단하고 메이저 놀이터를 구현했습니다. 나는 다음날 아침에 아무런 문제없이 끝이 완료되었으므로 마음의 평화로 다시 자고있는 것을 기억합니다 (LOL). 나는 약 2 주 동안 계속 지켜 보았지만 아무런 문제가 없었으며, 접근량이 증가했을 때, 부하 테스트에서 시뮬레이션 된 것과 비슷한 곡선이 있었는데, 이는 약간 움직이고 "이것은 놀랍습니다"라고 생각했습니다.
메이저 놀이터 운영 비용이 절반으로 줄어 듭니다.
에피소드는 실제 릴리스 전에 돌아갈 것이지만, 위에서 언급 한 성능 개선 조치는 단순히 성공적인 메이저 놀이터로 이어지지 않았습니다. 조치를 구현 한 후, 나는 다시 시도했고 나머지 CPU의 절반을 가지고 있음을 발견했습니다. "그러면 인스턴스 크기가 한 단계 씩 줄어들 수 있습니까?"
인스턴스 크기를 하나씩 줄이면 CPU와 메모리 크기의 절반이 발생하여 매우 위험합니다. 그러나 메이저 놀이터 운영 비용도 절반으로 줄일 수 있습니다. 메이저 놀이터는 인프라에서 가장 많은 비용이 들며 비용 절감은 비즈니스 이익에 직접 반영되므로 SRE의 작업에서 비즈니스 기여의 가장 가시성이 가장 중요하다고 말할 수 있습니다. 위험이 높더라도 시도 할 가치가 있다고 생각했습니다.
따라서, 인스턴스 크기가 변하지 않고 하중 테스트를 통해 낮추는 경우 인스턴스 크기의 성능을 신중하게 비교하고 확인한 후, 대기 시간에 큰 차이가 없으며 크기를 낮추는 데 아무런 문제가 없다고 확신했습니다. 이러한 검증 결과를 분류하고 이점과 함께 개발 및 비즈니스 측면에 신중하게 설명한 후, 우리는 이전에 전례없는 크기 감소 조치에도 불구하고 궁극적으로 승인을받을 수있었습니다. 결과적으로,이 경우, 우리는 아무런 문제없이 MySQL을 업데이트했을뿐만 아니라 Studysapuri English 메이저 놀이터의 운영 비용을 절반으로 줄였습니다.

그들은 신입 사원에게 큰 프로젝트를 남겨두고 원하는 일을 존중합니다.
이 사례에는 큰 위험과 명확한 마감일이 있으므로 당시 첫 해에 있었기 때문에 그렇게 할 것이라고 생각하지 않았습니다. 상사가 말했다. 그리고 정기적으로 진행 상황에 문제가 있는지 확인하고 프로젝트를 시작하고 홍보하는 방법에 대한 조언을 제공했습니다. 또한 중요한 문제에도 불구하고 그는 우리에게 큰 재량을 주었다.
그게 내가 그 이유입니다요구 사항을 충족하는 것뿐만 아니라 처음부터 직접 생각해보십시오가능했습니다. 예를 들어, 나는 모든 것에 대해 생각하고 내가 확인하는 데 필요한 것과 내가 개선 할 수있는 것과 위험을 제거하는 방법으로가는 길을 설정했습니다. 과거 사례의 자료를 참조로 사용하여, 우리는 Isucon 및 기타 조직에서 재배 한 성능 튜닝에 대한 모든 지식과 경험을 동원했습니다 (참고 : "Isucon"은 Line Yahoo! Co., Ltd.의 상표 또는 등록 상표입니다). 우리는 때때로 AWS 지원에 연락하여 메이저 놀이터로 인한 행동의 미묘한 변화를 조사했습니다.
모든 것을 연구하고 수행하는 동안이 모든 일을하기가 어려웠지만 보람이 있었으며 인스턴스 유형 및 스토리지 설정과 같이 자신을 조정할 수있는 많은 요소가있었습니다. 또한 신입 사원이 큰 작업을 위임 할 수있는 채용 문화를 경험할 수있었습니다.
또한당신은 당신이하고 싶은 일에 대해 존경받을 것입니다나는 그것이 신병 때문이라고 생각합니다. 물론, "내가 할 수 있다고 생각해서하고 싶다"(웃음)라고 말하는 것만으로는 충분하지 않습니다. 그러나 사실에 근거하여 올바르게 설명하면, 이와 같은 선례적이고 위험한 제안이 없더라도 녹색 빛을 줄 것입니다. 나는 내가하고 싶은 일이 있다면 말해야한다는 것을 배웠다.
또한,이 경우, 나는 또한 처음에는 푹신한 가설을 올바르게 검토하는 과정에 대해 매우 가르쳐 주었고, 그것이 내 주변 사람들에게 전달 될 방식으로 설명하고 마침내 현실로 가져올 것이라고 설명했습니다. 나는 아직이 프로젝트 관리 분야에 능숙하지는 않지만, 상사와 선배들은 정말 잘 지내고 있기 때문에, 나는 지켜보고 어떻게 의사 소통하는지 계속 배울 계획입니다.
의견과 조언을 보내서 신뢰를 얻습니다.
회사에서 첫해에도 불구하고 주요 프로젝트를 맡은 이유는 메이저 놀이터에 익숙하다는 느낌이 들었 기 때문이라고 생각합니다 (웃음). 팀 내에서도당신이 말하는 것을하는 대신, 생각하는 대신, "나는 이것이 더 나아질 것이라고 생각합니다."나는 그것을하려고합니다. 또한 서버 팀과의 정기 회의에서 서버 튜닝, 메이저 놀이터 성능 및 쿼리 작성 방법에 관한 토론이 열리므로 적극적으로 의견을 제시하고 있습니다. 또한, 그들은 Isucon에서 순위와 상금을 수상한 내부 Isucon에서 상을 받고 있기 때문에 "신입 사원에 대한 자세한 내용은 Ltd. 내부 Isucon 2023, 아래를 참조하십시오여기).

의식적으로 "방어"와 "침략"사이의 균형.
SRE로 일할 때, 장애를 일으키고 일찍 처리 할 수있는 문제를 일으킬 수있는 사전에 알아야 할 사항. 분명하게 들릴지 모르지만그러한 작업에 대한 수요 수준은 많은 수의 서비스 사용자로 인해 매우 높습니다. 생산 환경에 들어가기 전에 개발 환경에서 실험의 기본 사항 일뿐 만 아니라, 우리는 의도적으로 스테이징을 파괴하고 이중화를 보장하기 위해 경고를 확인합니다. 또한 시스템을 구축하고 운영 할 때는 정상적인 시스템뿐만 아니라 비정상적인 시스템을 처리하는 것이 중요합니다. 예를 들어, 메이저 놀이터에로드 할 수있는 함수가 릴리스되거나 메모리 누출을 일으키는 프로세스가 해당 시점에서 손상되지 않더라도 제대로 감지하여 서버 팀에 공급합니다.
그러나 차이를 만들 수있는 방법은 없다. 있다면, 그것은 고통이 아닙니다 (lol). 그래서 무언가 잘못되면, 나는 이전 경험에서 얻은 직관에 따라 승리하려고합니다. "이 서버의 프로그램이 이런 종류의 처리를 수행하는 것"과 같은 구조를 주시하면 직관을 개발할 수 있습니다. 그리고 이것이 핵심 요점입니다. 직감에 직관을 남기지 말고 로그와 메트릭을 보면서 사실을 확인하십시오. 성능 튜닝에서 종종 말하는 말이 있습니다. "추측하지 말고 측정하십시오". 그러나 직감으로하는 것이 아니라 문제를 해결하기 전에 문제를 해결하기 전에 올바르게 확인하는 것이 중요합니다. 이 작업을 제대로 처리 할 수 있으면 동일한 장애물이 두 번 발생하는 것을 방지하는 시스템을 만들었습니다. 인간의 동기 부여는 깨지기 쉽습니다. "앞으로 조심하겠습니다"라고 말하면서 솔루션은 기계가 실수를 지적하는 시스템에 의해 해결됩니다.
이것들은 SRE의 "방어"부분이지만 너무 보수적이지 않으려 고 노력합니다. SRE의 작업의 기본 전제는 장애물을 유발하는 것이 아니라, 부정적인 것을 가능한 한 0으로 가져 오는 것이므로 너무 "방어"가되기 쉽고 어떤 것도 공격 할 수없는 상태로 끝나는 것입니다. 하지만,"공격"이 더 재미 있습니다그렇지 않습니까? 또한 시스템을 터치 할 때 "이전보다 더 나을 것 같다"는 것이 비용을 낮추고 개발자에게 더 편리하다는 것을 알고 있습니다. 이는 위에서 언급 한 메이저 놀이터 인스턴스 크기의 감소와 SPOT 인스턴스의 도입에도 해당됩니다. 따라서 시스템을 운영하고 지원하는 방식을 존중하면서 SRE에서 균형 감각을 평가하면서 SRE에서 노력하고 있습니다. 위험을 파악하고 너무 많이 "방어"하지 않도록 컴백하는 방법에 대해 생각하고 점차적으로 "공격"합니다.
기계를 마주하고 대규모 서비스에 고유 한 학습의 재미.
SRE의 재미는 "만약 당신이 그것을 만들면 그것은 당신이 만든 것처럼 보인다"는 것입니다. 당신의 행동과 결과는 완벽하게 일관된 것 같습니다. 이것이 의미하는 바는 인간이 지시를하면 잘 반응 할 수 있지만 반면에 때로는 계획대로 진행되지 않습니다. 반면에 기계를 주문하면 주문대로 만 작동합니다. 따라서 문제가 발생하면 모든 책임이며 문제의 원인도 명확하므로 해결하기가 쉽습니다. 단순히 불확실성이나 불확실성이없는 상태를 좋아한다는 것입니다.
여기서 SRE를 수행하는 이점은 기술이 현대적이라는 것입니다. 이 시스템은 사용하기가 매우 쉽고 매우 학습입니다. 인턴쉽을 위해 모집 할 때 현대 기술의 품질은 특정 규모로 사용하지 않으면 이해할 수없는 것임을 깨달았습니다. 예를 들어, 컨테이너를 사용하더라도 개인 개발 척도를 사용하는 경우 수동으로 충분한 작업이 필요한 경우 자동화하지 않으면 불가능합니다. 그렇기 때문에 고급 자동화가있는 Kubernetes를 사용하지만 현대 기술을 사용하고 싶은 이유를 모르면 현대 기술이 수단으로 얼마나 많이 사용 되더라도 100%의 혜택을 누릴 수 없습니다. 반대로, 도입 및 학습 비용이 초과 될 가능성이 있습니다. 따라서,배경 및 목적과 함께 대규모 서비스에서만 사용되는 기술을 배울 수 있습니다나는 신입 사원에서 오는 유일한 것이 생각합니다.

신입 사원은 "사람들"에 투자합니다.
신병 모집은 기술뿐만 아니라 사람들에도 투자합니다회사입니다. 그들은 또한 회원의 개발에 너무 집중하여 당신이 그렇게 많이 할 것이라고 생각하고 훈련도 포괄적이므로 회사에 가입 한 후에도 제대로 배울 수 있습니다. 교육은 인프라 분야에만 국한되지 않고 기술적 문제도 포함되며, 채용의 비즈니스 모델과 작업 할 때 취할 중요한 입장 (교육에 대한 자세한 정보여기).
회사는 또한 기술 이벤트의 운송 및 숙박 비용을 충당 할 수도 있습니다. 예를 들어, 다른 날 나는 라스 베이거스에 가서 AWS가 후원하는 글로벌 컨퍼런스에 참여했습니다. 많은 세션 외에도 AWS 엔지니어 및 EBC (Executive Briewing Center)라는 AWS 엔지니어 및 제품 관리자와 같은 전문가와 토론 할 수있는 장소가 있었으며, 이로 인해 우리는 독특하게 지역적으로 의사 소통 할 수 있었으며 미래에 우리의 서비스에 대한 참조로 사용할 수있는 일상적인 문제와 일상적인 문제에 대한 솔루션을 가져 왔습니다.
비즈니스 관점에서, 나는 내가 좋아하는 엔지니어링을 마스터 할 것입니다.
나는 기술을 좋아한다나는 그것이 중요하다고 생각합니다. 취미가되는 것이 너무 좋아하는 것이 좋을 것입니다. "돈을 버는"또는 "기술 기술을 얻는 것"에 대해 생각하면서 일하는 것은 괜찮지 만, 프로그래밍이 자연스럽게 기술 기술을 향상시키는 것 같은 느낌이 듭니다. 따라서 학생 단계에서 일하는 데 사용되는 기술을 이해할 필요는 없지만 기술에 완전히 노출되어 학생 시절에 다양한 일을하는 사람들과 협력 할 수 있다면 좋을 것이라고 생각합니다. 그러한 사람들과 함께 일할 수 있다는 것은 의사 소통을 향상시키고 새로운 기술의 주제를 자극 할 것입니다.
그러나 나는 엔지니어이기 때문에 기술에 대해 생각하는 것이 아니라 엔지니어로서 비즈니스에 기여하기 위해 비즈니스가 수행하는 일에 대해 우려해야한다고 생각합니다. 내가 회사에 처음 합류했을 때, 나는 기술에 꽤 집중할 계획 이었지만, 채용에 따라 엔지니어들은 그것이 비즈니스 성장으로 이어질 지 또는 사용자 문제 해결으로 이어질지 여부에 대한 생각의 습관을 가지고 있으며, 상사는 또한 비즈니스 메타 관점을 가지고 있으므로 자연스럽게 그렇게합니다.비즈니스 관점보기지금이었습니다. 오늘날 위에서 언급 한 바와 같이, 나는 프로젝트의 비용과 기타 문제를 의식하고 있으며, 또한 모든 유형의 일자리에 대한 일반 회의를 통해 현재 비즈니스 상태를 따라 잡고 회사 전체의 IR 자료를 읽습니다. 인프라 팀은 서비스 규모에도 불구하고 인력이 적고 전체 서비스를 쉽게 볼 수 있도록하는 직무이므로 이점의 이점을 적극적으로 활용하고 싶습니다.
나의 진정한 의도는 미래의 경력을 실제로 이해하지 못한다는 것입니다. 그러나 프로젝트를 구성하는 능력을 개발하면서 내 기술을 계속 사용하고 싶습니다. 신입 사원도 선임 전문가로서 전문적인 역할을 수행하므로 기술을 습득하는 데 도움이되는 경력 경로를 살펴보고 (엔지니어링 코스의 경력 경로에 대한 자세한 정보메이저 놀이터 토토 도메인 코스).
Logitech 's MX Master
저는 학생이었을 때 부터이 시리즈를 사용해 왔습니다. 내가 구입 한 첫 번째는 내가 인턴쉽을했을 때 였고 원격 작업 보조금과 같은 시스템을 통해 구입되었습니다. 나는 제스처와 다른 것들을 설정하여 편리하게 사용합니다.
