분류 전체보기 (65) 썸네일형 리스트형 Correction of Error (CoE) 고객 영향이 있는 서비스 장애를 검토하고 개선할 점과 재발 방지대책을 식별하는 것은 중요하다. 이러한 과정을 사후 분석(Post-incident Analysis)라고 부르는데, 중요한 결과물로 근본 원인 분석(Root Cause Analysis, RCA)와 개선 계획 이 있다. 이를 위한 메커니즘 중 한 가지로 오류의 정정(Correction of Error, CoE) 절차가 있는데, 이를 활용하면 원인을 식별 및 규명하고, 근본 원인을 해소하여 동일한 원인으로 발생할 수 있는 사고를 방지하는 안전 장치(Fail-safe mechanism)를 만드는데 많은 도움을 얻을 수 있다. CoE의 구성요소에는 사고 요약(Incident Summary), 영향(Impact), 지표(Metric), 5 가지 질문(5.. Version Control System 버전 관리(Version Control)는 문서, 프로그램, 웹 페이지 등 어떠한 형태의 정보 집합이든지 그 변화를 기록하고 관리하는 것을 뜻한다. 이렇게 변화의 내용을 관리하면, 결과물의 편집본과 최종본을 쉽게 관리할 수 있으며, 여러 사람이 함께 공동으로 작업할 수 있게 해준다. 아마도 대부분의 사람들이 파일(File)의 이름을 바꿔가면서 이력관리 해본 경험이 있을 것이다. 이 방법이 가장 직관적이며 쉽게 떠올 릴 수 있는 방법이기 때문이다. 그러나 회사에서 여러 사람들과 공동의 작업을 진행하는 경우에도 같은 방법을 사용하게 되면 많은 불편함을 겪게 된다. 누가 작업하고 있는 것이 최종인지 확인이 어렵기 때문이다. 취합본이라는 메일을 받아 본 기억을 떠올려 보자. 현재 자신이 작업 중인 문서와 메일로.. Security as Code 2018년 초 AI(Artificial Intelligence)기반의 새로운 과제를 시작하면서 인프라스트럭처 애즈 코드(Infrastructure as Code)를 적용할 것인지 논의하였다. 소규모 과제의 경우에는 인프라스트럭처 애즈 코드를 적용하고 싶지 않다는 주장이 나왔기 때문이었다. 인프라스트럭처를 모두 코드로 만들어서 관리하는 장점은 알겠지만, 규모가 너무 작아서 작업자가 GUI 도구로 간단하게 만들어 버리는 것이 더 빠른 경우도 있다는 주장이었다. 또한 그 정도 간단한 과제라면 장애복구도 매우 간단하게 수행할 수 있는데, 이를 위해 테라폼(Terraform) 또는 클라우드 포메이션(CloudFormation)을 이용하여 코드를 만들고 검증하는 과정이 오히려 부담스럽다는 의견이었다. 배보다 배꼽이.. Configuring ECR in Spinnaker 스핀에커(Spinnaker)에서 AWS ECR(Elastic Container Registry)를 연결하기 위해서는 주기적으로 인증정보를 갱신해 주어야 하는 불편함이 있었다. 보안을 위해서 그렇게 해야 하는 것은 당연했지만, 사이드카(Side-car) 어플리케이션을 추가로 설치해서 주기적으로 실행해 주도록 처리하는 것은 번거로운 일이었다. 그러다가 2018년 9월 말에 AWS에서 이 문제를 해결하기 시작했다. 그래서 특별한 조치를 추가하지 않더라도 AWS CLI와 IAM 권한을 이용하여 ECR에 접근할 수 있도록 개선하였다. 1.11.3 이상에서 동작한다. 그 이하 버전에서는 오류가 발생한다.hal config provider docker-registry account add ecr-demo \ --ad.. Set up Orca to use SQL 스핀에커(Spinnaker)의 핵심 기능은 카나리 배포(Canary Deployment), 블루/그린 배포(Blue/Green Deployment)를 쉽게 지원한다는 것이다. 스핀에커에는 오르카(Orca)라는 마이크로서비스(Microservice)가 있으며, 배포를 포함한 전체 파이프라인을 관리하는 오케스트레이션(Orchestration) 기능을 담당한다. 그래서 흔히 지속적 전달(Continuous Delivery)도구를 이야기하면서 여전히 젠킨스(Jenkins)나 GitLab CI, Circle CI를 이야기한다. 그러나 그 어느 것도 오르카만큼 최신 배포 기술을 잘 지원하지 못한다. 만약 VM(Virtual Machine)환경 기반으로 블루/그린 배포를 하고 싶은 경우, 스핀에커를 제외한 다른 도구.. Spinnaker Authorization 스핀에커(Spinnaker)의 권한관리를 위해 피아트 서비스(Fiat Service)가 추가되었다. 스핀에커가 처음에 공개되었을 때는 사용자 인증과 권환관리 기능이 없었다. 그러더니 게이트(Gate)에 OAuth2를 이용한 인증 기능이 추가되었고, 다음으로 피아트가 생기면서 GitHub, LDAP, SAML등의 기술을 활용하여 권한관리를 할 수 있는 기능이 추가되었다. 역할 제공자(Role Providers)피아트는 역할(Role)을 직접 다루지 않는다. 대신 조직(Organization) 또는 그룹(Group)의 정보를 제공하는 외부 Solution과 연동하여 이 문제를 해결하다. 다시말해서 관리자는 역할 제공자(Role Provider) 중 한가지를 이용하여 조직과 그 속에 속한 사용자를 직접 관리하.. Spinnaker Update: 스핀에커(Spinnaker)를 생성하고 관리할 수 있는 테라폼 모듈 프로젝트 저장소(https://github.com/Young-ook/terraform-aws-spinnaker) 에서 구체적인 내용을 확인할 수 있다. 스핀에커 테라폼 모듈 외에도 AWS 계정을 스핀에커에서 관리할 수 있도록 등록하는 방법, Amazon EKS 클러스터를 생성하고 스핀에커에서 관리할 수 있도록 등록하는 방법, 카오스 엔지니어링을 위한 카오스 몽키(Chaos Monkey) 연동방법 등 스핀에커 모범 사례 예제가 제공된다. 넷플릭스(Netflix)에서 2016년에.. Polymorphism 지난 번에 은닉화(Encapsulatioin)에 대해 이야기 했다. 인터페이스가 가지는 특징 중 가장 큰 것이 바로 상대를 배려하는 은닉화라고 말했다. 객체기반프로그래밍(Object Oriented Programming)이 가지는 유지보수의 유연함은 바로 이 특징에서 나온다는 이야기를 했다. 그렇다면 그 개념을 확장해서 다형성(Polymorphism)에 대해 생각해 보자. 무엇인가를 요청했을 때 실제로 어떻게 동작하는 지 간섭하지 않는 것이 은닉화의 특징이라고 했다. 그렇다면 요청을 받는 쪽에서 어떻게 실행 할 지 스스로 결정할 수 있으며 그 방법은 매우 다양하게 나타날 수 있다. 예를 들어 아이스크림 2개를 구매해 달라고 부탁했다고 생각해보자. 아이스크림 가격을 지불하고 작업 수행을 요청하면 요청을 받.. 이전 1 ··· 3 4 5 6 7 8 9 다음