IaC(Infrastructure as Code) - 네트워크, 로드밸런서, 저장소, 서버 등의 인프라 자원을 수동 설정이 아닌 코드를 이용하여 프로비저닝하고 관리하는 것. - 대표적인 IaC 도구로 테라폼(Terraform) 이 외 CloudFormation, Pulumi, Azure ARM Template)가 있다. 형상관리 (Confuguration Management) - 서버 운영체제 상에 필요한 소프트웨어를 설피하고 원하는 설정으로 관리하는 것. - Configuration as Code 라고 불림 - 대포적인 관리 도구(Ansible, Puppet, Chef, Salt Stack 등) 이미지 빌드(Image Build) - 사진과 같은 것들이 절대 아닙니다~! ( ec2 or 머신들이 디스크..
| mac os 기준 쿠버네티스 설치하기 쿠버네티스를 사용하기 위해 가장 먼저 해야 할 일은 클러스터를 구성해야 합니다. 클러스터란(cluster) control plane과 node들의 집합니다. 즉, 쿠버네티스 운영의 가장 큰 단위입니다. 클러스터 구성 쿠버네티스의 클러스터는 크게 두 가지 영역으로 나누어져 있다고 볼 수 있습니다. 1. 제어영역의 Control Plane (Master Node) - 제어영역이라고도 불리우며 클러스터의 관리 역할을 담당합니다. - 상태 관리 및 명령어 처리를 합니다. 제어 영역은 위 사진에서 (Ctrl Plane - 1,2...n 부분) 마스터 노드가 1개부터 n개 (보통 홀수개)로 구성 됩니다. 각각의 마스터 노드가 etcd, controller manager, s..
도커(docker) 설치하기 (mac os 기준) 들어가기 앞서, macOS에서는 Homebre를 통해 Docker for Desktop을 설치할 수 있습니다. Docker for Desktop에서는 docker와 docker-compose가 포함되어 있습니다. 도커를 설치 후 실행해보면, 이런 고래놈 녀석이 등장합니다. 또한 docker desktop을 설치하면, dashboard를 통해 gui를 제어할 수있습니다. Dashboard를 눌러봅시다 (오른쪽 사진에서) 그럼 왼쪽 사진과 같은 gui창이 나오는 것을 보실 수 있습니다. 다음에는 쿠버네티스를 설치해보도록 하겠습니다.
도커와 쿠버네티스 비교 예시 컨테이너를 하나만 띄워서 사용해야지! => 도커 0월 0시에, 100개의 컨테이너를 자동으로 생성해야지! => 쿠버네티스 즉, 도커는 ’이미지를, 컨테이너에 띄우고 실행하는 기술’이고 쿠버네티스는 '도커를 관리하는 툴'이라고 생각하시면 됩니다. 따라서, 도커는 '한 개의 컨테이너를 관리’하는 데 최적화 되어있고, 쿠버네티스는 '여러 개의 컨테이너를, 서비스 단위로 관리’하는 데 최적화 되어있습니다. 도커(docker)란? 도커는 '컨테이너 기반의 오픈소스 가상화 플랫폼' 입니다. 그렇다면, 컨테이너란 무엇일까요? 컨테이너는, ‘애플리케이션’과 ‘애플리케이션을 구동하는 환경’을, ‘Host OS’ 로부터 격리한 공간을 의미합니다. 컨테이너는 보통 마이크로서비스로 사용됩니다. 마..
모놀리식 방법과 MSA(마이크로 서비스 아키텍처) 방식의 차이점? 개인 프로젝트와 회사 프로젝트를 병행하면서 대규모 프로젝트는 어떻게 진행을 할까? (물론 회사에도 MSA 방식이 적용되어있지만 제가 잘 알지 못하기 때문에,,,) 라는 생각을 평소에 갖고 있었는데 오늘은 해당 방식을 어떻게 나누는지에 대해 알아보겠습니다. 모놀리식 아키텍처란? 먼저 모놀리식 아키텍처입니다. 우리가 구현하는 모든 프로젝트는 초반에 모놀리식 아키텍처를 따르게 됩니다. 그렇다면 계속 모놀리식 방법으로 사용해도 괜찮지 않을까?라는 생각이 떠오릅니다. (저도 그랬습니다.) 하지만! 문제는 다음과 같습니다. 간단한 예시로, 자그마한 프로젝트에서 계속하여 기능들이 추가되었다고 생각해봅시다. 처음에는 리스트만 뿌려지는 홈페이지가 나중에는..
AWS프리티어 계정 비용 이슈 대처방법 AWS 처음 사용해보시는 분들이라면 비용이 생각보다 높게 나오고,,, AWS 해지를 까먹어서 비용이 청구되고 그런 경험이 있죠? 저도 그랬습니다.. 그래서 이번에는 AWS 어마무시한 비용청구를 사전에 방지법을 알아보도록 하겠습니다. 종류 1.프리티어 사용량 알림 설정 2.결제 알림 설정 3.트스트 전 비용 검토 4.테스트 후 리소스 정리 5.프리티어 계정이 만료된 경우 대처법 프리티어 사용량 알림 설정 AWS에서 제공하는 프리티어 사용량을 모두 소진한 경우 경고 이메일을 전송하는 방법입니다. 1.로그인 후 우측에서 계정 tab으로 이동하기. 2.다음과 같이 결제 기본 설정에서 이메일을 입력해주세요. AWS 결제 알림 설정 방법 - 결제할 App을 Cloud Watc..
devops가 뭘까 ? 필요한 이유 ? - 소프트웨어 개발은 아래와 같은 라이프사이클, 생애주기를 갖고 있습니다. 데브옵스는 개발과 운영을 통합하여 제품 출시 및 조직의 효율성을 끄렁올리기 위한 문화입니다. 2009년에 시작된 기업의 소프트웨어 개발 방법을 개선하기 위한 움직임입니다. 데브옵스는 조직, 고객, 회사 모두에 이점을 가져다 줄 수 있습니다. 큰 규모의 조직에서는 아래와 같은 역할로 나누어집니다. 과연 데브옵스라는 건 어떻게 하는 것인가? 데브옵스는 개발과 운영의 벽을 허물어 더 빨리 자주 배포하자는 게 목적입니다. AWS가 제안한 데브옵스 실천방법 - 지속적 통합(Continuous Integration) : 개발자가 만든 변경 사항에 대해서 빌드 및 테스트를 진행해본 후 중앙 코드로 통합...
아토믹(atomic)디자인 패턴 대형 프로젝트에서 재사용할 수 있는 컴포넌트들은 필수입니다. 이번에는 여라가지 패턴 중 하나인 아토믹(Atomic)디자인 패턴을 알아보겠습니다. 소개 아토믹 디자인은 사용자 인터페이스를 작고 단순한 요소로 분리하는 개념입니다. 아토믹 디자인 패턴은 Aoms(원자), Molecules(분자), Organisms(유기체), Templates(템플릿)으로 구성되어지고 최종적으로는 Pages 단위가 됩니다. 즉, 일관된 UI를 만들고 유지보수성을 향상시켜줍니다. 구성요소 Atoms - 원자는 버튼, 제목, 텍스트 입력 필드와 같은 가장 작은 구성 컴포넌트이다. - 모든 컴포넌트들의 기초가 되는 블록이며, 더 이상 분해 될 수 없는 필수 요소이다. Molecules - 분자는 2개..