DevOps와 개발자

예전에는 소프트웨어 개발 프로세스가 간단(소프트웨어 개발이 단순했다는 의미가 아니다.)했다. 개발 환경과 프로덕션 환경간의 연동방식이나 워크플로우를 많이 필요로하지 않았다. 두 개의 환경이 연결되는 유일한 워크플로우는 수동배포 정도 였을 것이다 . 이 워크플로우에서는 시스템 관리자가 물리적 서버를 관리하고 배포 업무도 수행했다. 배포가 좀 복잡해지면서 ...

Linkerd로 구축하는 Kubernetes Service mesh

서비스 메쉬(Service Mesh)란 애플리케이션의 다양한 부분들이 서로 데이터를 공유하는 방식을 제어하는 방법이다. 서비스간 커뮤니케이션을 관리하는 다른 시스템과 달리, 서비스 메쉬는 애플리케이션에 구축된 전용 인프라 계층이다. 애플리케이션은 어떤 기능을 수행하기 위해서 다른 애플리케이션의 기능을 호출해야 하는 경우가 있다. 이커머스 애플리케이션에서 사...

Design Instagram

아래 영상을 분석하려 한다.이 영상은 인터뷰 관점에서 시스템 설계를 다루고 있다. 요약해보자면 시스템 요구사항을 어떻게 수집할 것인가. 면접관과 어떻게 피드백을 주고 받을 것인가. 디자인을 구체화 해가는 방법 설계를 재검토하고 잠재적인 개선 사항을 제안하는 방법이다. 나는 인터뷰 관점이 아닌, 시스템 설계 관점에서 정리해보려 한다.요구사항을 수집하는 여러 ...

PAYCO 쇼핑 마이크로서비스 아키텍처 전환기

위 동영상을 분석해서 정리한다. 영상에서 PAYCON 쇼핑 플랫폼은 NHN TOAST 클라우드를 기반으로 하고 있다. 나는 AWS를 사용하고 있기 때문에 클라우드를 기반으로 새로운 아키텍처를 제안하려 한다. TOAST에 비해서 AWS에서 제공하는 서비스가 훨씬 다양하기 때문에 더 많은 부분이 클라우드 서비스로 대체되는 그림이 나올 것이다.당연하지만 나는 P...

최적의 작업을 위한 터미널 환경 구성

원문 개발자들은 터미널을 사랑한다. 밋밋하고 허전한 터미널에서 텍스트 기반으로 작업을 하는 이유는 빠르고 효율적이기 때문이다. 개발 영역에 따라 다르겠지만, 나 같은 경우(리눅스 환경에서 개발을 하다보니) 웹브라우징을 제외한 거의 모든 작업을 터미널 창에서 수행한다. 모든 운영체제는 기본 터미널을 제공하지만 마음에 들지 않는 경우가 많아서 커스터마이징을 하...

Service Mesh에 대해서

서비스 메쉬(Service Mesh)는 마이크로서비스 아키텍처(MSA - Microservice Architecture)를 구성하는 애플리케이션들이 서로 데이터를 공유하는 방식을 제어하는 방법이다. 서비스 메쉬는 애플리케이션 계층이기 때문에 소프트웨어 설정으로 유연하게 데이터 공유하는 방식을 관리 할 수 있다. 이러한 유연함은 컨테이너화 된 임시 애플리케이...

Atlassian crowd를 이용한 SSO

Atlassian Crowd는 Jira, Confluence, Bitbucket 등을 통합운용하기 위한 SSO(Single Sign-On) 솔류션이다. Atlassian 제품외에도 GitLab, nexus3와 같은 솔류션을 통합 할 수도 있다. Crowd SSO를 지원하지 않는 애플리케이션이라면 Crowd API를 이용해서 직접 개발해도 된다. 물론 Act...

Docker 기반 Mattermost 설치

Mattermost는 오픈소스 기반의 설치가능한(self-hostable) 온라인 채팅 서비스 및 파일공유 소프트웨어다. Slack의 오픈소스 버전이라고 할 수 있을 정도로 Slack과 유사한 인터페이스와 기능들을 제공한다.효과적인 커뮤니케이션 시스템 구성은 개발환경에 매우 중요한 요소다. 나는 Slack, Jira, Confluence 조합을 주로 사용했...

Terraform multi az vpc

를 기반으로 개선을 하는게 내용이므로 링크의 문서를 참고해야 한다.테라폼으로 구성할 인프라는 아래와 같다. 2개의 가용영역을 사용한다. 퍼블릭 서브넷과 프라이빗 서브넷을 구성한다. 2개의 가용영역에 배치되므로 총 4개의 서브넷이 배치된다. 퍼블릭 서브넷으로의 인터넷에서의 접근을 위해서 인터넷 게이트웨이를 만든다. 프라이빗 서브넷에서 인터넷으로 접근하기...

Terraform 소개

테라폼(Terraform)은 HashiCorp에서 개발한 오픈소스 IaC(Infrastructure as code) 소프트웨어다. 개발자는 테라폼에서 제공하는 HCL(Hashicorp Configuration Language)라는 고수준 설정 언어(high-level configuration language) 혹은 json 를 이용해서 데이터센터 인프라스트...