Opsgenie를 이용한 AWS 인프라 이벤트 관리 시스템 구성

나는 인터넷 서비스의 품질을 확보하기 위한 가장 중요한 활동을 아래와 같이 정의 한다. 문서화 테스트가 포함된 모니터링, 관제 시스템 및 장애(인시던트)관리 프로세스 모니터링 결과는 결국 알람과 인시던트의 형태로 출력된다. 알람과 인시던트는 업무처리 시스템에 따라서 처리를 해야 한다 대략적인 프로세스는 아래와 같을 것이다. 이벤트, 경고(alert),...

마이크로매니지먼트

Wikipedia에 가장 정리 잘된 것 같아서 번역했다. 물론 대충. 출처는 이 문서는 비지니스에서 발생할 수 있는 업무관리 방식에 대한 것이다. 비지니스에서 마이크로매니지먼트는 관리자가 부하 직원이나 직원의 작업을 면밀히 관찰하고 통제하는 관리 스타일이다. 일반적으로 마이크로매니지먼트는 직장에서 자유를(자기결정권과 책임) 박탈하기 때문에 부정적인 행위로 ...

Go언어에서의 TDD

여기에서 사용한 테스트 코드는 에서 다운로드 할 수 있다.클라우드와 MSA와 의 등장으로 (2016년 6월)TDD가 재조명 받고 있다. TDD의 큰 단점 중 하나는 제대로 적용하려면 상당히 많은 시간과 노력이 필요하다는 점이다. 특히 여기 저기 연동되는 라이브러리나 소프트웨어가 많은 경우 테스트가 굉장히 복잡해지는데, 복잡해지는 만큼 테스트의 신뢰성도 함께...

curl을 이용한 인터넷 데이터 전송

웹 서버에 대한 배치작업이 필요한 경우가 있다. 이런 작업에 웹 브라우저를 사용할 수 없는 노릇이니 CLI 도구를 사용해야 한다. curl은 가장 널리 사용하는 인터넷 데이터 전송을 위한 도구다. # curl --versioncurl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.0g zlib/1.2.1...

MSA에서의 REST API 테스트 방안

이름 닉네임 사이트 NaverLabs 클라우드(주로 AWS) 환경에서 서비스 백앤드를 개발. 우분투리눅스 18.04 vim-go + ycm Makefile + glide 개발 환경을 소개 합니다. 여기 있는 문서들은 평소의 제 개발환경에서의 경험을 기반으로 하고 있기 때문에 나름 의미가 있을 거라 생각합니다. 우분투리눅스를 데스크탑으로 하고 있고요...

VPC Private link를 이용한 SaaS 개발

PrivateLink는 VPC 내부에서 외부에 있는 다른 서비스를 연결하기 위한 기술이다. PrivateLink를 이용하면, 퍼블릭 네트워크(인터넷)을 거치지 않고도 AWS의 서비스와 다른 서비스(다른 계정의 네트워크, 다른 VPC에 존재하는)를 호출 할 수 있다.PrivateLink는 아래와 같은 장점이 있다. 트래픽보호 간단한 네트워크 구성 마이그레...

Docker Compose

Docker compose는 여러 컨테이너를 쉽게 실행 할 수 있도록 도와주는 도커 실행 툴이다. 이미지에서 컨테이너 하나 만들려면, 많은 옵션들을 설정해야 하는데, yaml 형식의 설정파일을 이용해서 여러개의 애플리케이션 서비스들을 효율적으로 관리 할 수 있다. 특히 Compose는 개발, 테스트, 스테이징 환경을 만드는데 많은 도움을 준다. Compos...

가상화와 도커에 대해서

이제 Docker는 인터넷 서비스 산언에서는 사실상 표준입니다. 간단한 개발 환경 구축에서 부터 시작해서, Docker swarm을 이용한 서비스 좀 더 나아가서 ECS와 Kubernetes와 같은 컨테이너 오케스트레이션 툴을 이용하여 컨테이너 기반의 인터넷 서비스 플랫폼을 구축/운영하기도 합니다. 몇 개의 챕터에 걸쳐서 가상화, docker에 대한 개념,...

Jenkins로 go 빌드 환경 구축

Jenkins는 CI(Continuous Integration)툴이다. Git, SVN과 같은 형상관리 툴과 연동을 해서, commit(혹은 Push)한 코드를 읽어와서 빌드하고 테스트 하고 배포를 위한 패키지를 만드는 일을 한다.최근의 소프트웨어 개발 방법론의 트랜드는 "애자일"과 "데브옵스(DevOps)로 대표 할 수 있다. 이들 개발론들은 개발과 배포...

분산 시스템 성능 측정

분산 시스템 성능 측정주로 ab와 wrk 등을 이용해서 애플리케이션들에 대한 테스트를 수행했다. 단일 애플리케이션 성능 측정에는 쓸만하지만 분산 시스템 성능 측정에 써먹기는 애매모호하다. 아래와 같은 분산 시스템이 있다고 가정해 보자. 테스트를 쉽게 하기 위해서 모델을 단순화 했다. 중요한 점은 비동기 구간이 있어서, 단순히 Frontend API Ser...