일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- FastAPI
- 쿠버네티스
- DevOps
- AZURE
- ebs
- docker
- Network
- asgi
- leetcode
- intervals
- Deployment
- dockerfile
- Service
- terraform
- Kubernetes
- POD
- elasticsearch
- EC2
- ansible
- EKS
- WSGI
- asyncio
- event loop
- IAC
- AZ-900
- Python
- K8S
- 자바스크립트
- Django
- AWS
- Today
- Total
목록분류 전체보기 (171)
궁금한게 많은 개발자 노트
Terraform은 선언적(declarative) 방식으로 인프라를 관리하는 도구입니다. 선언적이란 원하는 결과(state)를 명시하면, Terraform이 그 결과를 달성하기 위해 필요한 일련의 작업들을 자동으로 수행한다는 의미입니다. 선언적인 방식은 인프라 관리를 단순화하고, 일관성을 유지할 수 있게 도와줍니다. 또한, 변경 내역을 추적하기도 용이합니다. 예를 들어, Terraform으로 AWS EC2 인스턴스를 생성한다고 가정해보겠습니다. 이때 우리는 EC2 인스턴스의 속성들을 Terraform 구성에 선언적으로 명시합니다. 그리고 Terraform을 실행하면, Terraform이 EC2 인스턴스를 생성하고, 필요한 보안 그룹, 키페어 등을 모두 자동으로 설정해줍니다. Terraform은 자체적인 ..
도커 이미지를 로컬에서 생성하고, 수동으로 원격 서버에서 테스트해보고 싶은 경우가 종종 있습니다. 보통은 AWS ECR, Docker Hub를 사용하지만 간단히 테스트 해보고 싶은 경우나 인터넷을 사용할 수 없는 경우에는 아래 방법으로 도커 이미지를 이동하여 실행한다면 편리할 것 같습니다. 1. save docker image $ docker save {image_name} > {created_file_name}.tar 2. transfer tar file to remote server $ scp {tar file path} {remote server account}@{remote server ip}:{path to be saved on remote server} 3. load docker image $..
Elasticsearch(ES)는 JAVA기반으로 실행되기 때문에 Heap 메모리를 얼마나 설정하느냐에 따라 성능에 큰 차이를 가지게 됩니다. 이에 따라 ES에서는 적절한 Heap size를 어떻게 판단하여 설정하는지에 대해 글을 작성해보고자 합니다. 너무 큰 Heap size는 GC(Garbage Collection)이 발생할 경우 성능에 부하를 줄 수 있고, 너무 작은 경우는 Out-of-Memory가 발생할 수 있습니다. ES에서 가이드하는 적절한 Heap Size는 어느 정도인지 알아보고자 합니다. https://www.elastic.co/guide/en/elasticsearch/reference/7.17/advanced-configuration.html Advanced configuration ..
Elasticsearch에 대해서는 한번 정리한 적이 있으며 RDBMS와의 차이점과 필요성에 대해 정리하였습니다. 다시 한번 Elasticsearch에 대해 간략히 알아보면 Elasticsearch는 Apache Lucene(아파치 루씬: 정보 검색 라이브러리) 기반 java 오픈 소스 분산 검색 엔진입니다. HTTP 웹 인터페이스와 스키마에서 자유로운 JSON 문서와 함께 분산 멀티테넌트(하나의 소프트웨어 인스턴스로 여러 사용자에게 서비스를 제공) 지원 전문 검색 엔진을 제공합니다. Elasticsearch의 구성 요소로는 크게 Cluster와 Node로 구분지을 수 있습니다. Cluster는 하나 이상의 노드의 집합으로 모든 노드를 포괄하는 통합 색인화 및 검색 기능을 제공합니다. (Elasticse..
클라우드를 이용하여 서버나 애플리케이션을 배포하는 것은 일상적인 일이 되었습니다. 하지만 이런 배포를 매번 개발자가 직접 수동으로 명령어를 스크립트나 순서대로 타이핑하며 배포하기에는 번거로움이 있고 일관성을 유지하기도 힘들다고 생각됩니다. 또한, 인프라를 구축하고 유지하기 위해 다양한 설정들을 해주어야 하는데, 이러한 과정에서 사람이 직접 수동 설정하게 되면 휴먼 에러가 발생하기 쉽고, 이러한 설정 상황을 팀원들에게 공유하기가 쉽지 않습니다. 또한, CLI등을 통해 설정 값 변경시 상태 관리도 어렵다는 여러 단점이 존재합니다. 물론, 능숙한 개발자에 의해 쉽고 빠르게 설정하여 테스트해볼 수 있다는 장점은 있을 수 있습니다. 이러한 인프라를 유지하기 위한 지속적인 배포와 오류를 줄이기 위해 자동화를 도와주..