전체 글 100

GitHub > GitHub Actions > 시작하기

https://docs.github.com/en/actions한줄 소개빌드, 테스트, 배포 파이프라인을 자동화하는 CI/CD 플랫폼 Action이라는 단위의 작업을 생성하고 공유할 수 있고, 공유된 액션을 검색해 사용할 수 있다  일단 시작해보기https://docs.github.com/en/actions/quickstartGithub Actions 활성화하기기본적으로 활성화되어 저장소 화면에 Actions 탭으로 보여지는데, 안 보인다면 아래 글 참고하자https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github..

CI, CD/GitHub 2024.06.27

2. Kafka > 기초 개념

특징Distributed system분산 시스템은 네트워크상에서 연결된 컴퓨터들의 그룹으로, 단일 시스템이 갖지 못한 높은 성능을 목표로 한다장애 대응에 유리부하가 높을 때 시스템 확장 용이 카프카의 브로커는 온라인 상태에서 간단하게 추가할 수 있다Page cache높은 처리량을 위해 OS의 페이지 캐쉬를 활용한다 디스크에 읽고 쓰는 대신 물리 메모리 중 애플리케이션이 사용하지 않는 잔여 메모리를 활용Batch 전송 처리카프카는 클라이언트들과 수많은 통신을 하는데, 이를 묶어서 처리하면 네트워크 오버헤드를 줄일 수 있다압축 전송메시지 전송 시 높은 압축 전송 사용을 권장한다 네트워크 대역폭이나 회선 비용 등을 줄일 수 있다 파일 하나를 압축하는 것보다 여러 개를 압축하는 쪽의 효율이 더욱 좋다 압축 타입..

1. Kafka > 시작하기

https://kafka.apache.org/한줄 소개분산 이벤트 스트리밍 플랫폼Broker카프카 애플리케이션이 설치된 서버 또는 노드  특징높은 처리량빠른 응답 속도안정성  Docker Compose로 Kafka 실행ZooKeeper카프카의 메타데이터 관리, 브로커의 정상상태(Health) 점검(Check) 담당 ZooKeeper 실행https://hub.docker.com/r/confluentinc/cp-zookeeper mkdir conf vi compose.ymlhttps://docs.confluent.io/platform/current/installation/docker/config-reference.html#zk-configuration services: some-zk-1: contai..

Grafana Loki, Promtail > 시작하기

https://grafana.com/oss/loki/ 2024.06.14 - [Monitoring/Grafana] - Grafana > 시작하기위 글을 먼저 읽자 Loki 한줄 소개Multi-tenant 로그 집계(Aggregation) 시스템 모든 애플리케이션과 인프라로부터 로그를 저장하고 질의한다Multi-tenantTenant의 사전적 의미는 세입자, 임차인, 소작인이다 멀티 테넌트는 여러 사용자가 같은 시스템을 공유하면서도 서로 독립적으로 운영할 수 있도록 하는 시스템 아키텍처를 말한다. 하나의 애플리케이션에 여러 테넌트를 지원하여 각 테넌트의 데이터와 설정을 격리할 수 있다  개요로그 행의 전체 텍스트가 아닌 오직 메타데이터(각 Log stream의 레이블 집합)만 인덱싱한다Log stream은..

Monitoring/Grafana 2024.06.17

Prometheus > 시작하기

한줄 소개https://prometheus.io/docs/introduction/overview/ 최초 SoundCloud에서 만들어진, 시스템 모니터링과 경보(Alert) 도구 모음이다  Docker Compose로 Prometheus 실행https://hub.docker.com/r/prom/prometheus mkdir data vi compose.ymlservices: some-prometheus: container_name: some-prometheus image: prom/prometheus:v2.52.0 ports: - 9090:9090 volumes: - ./data:/prometheus docker compose up 컨테이너 내부에서 프로메테우스가..

Docker Compose > 시작하기

Docker Composehttps://docs.docker.com/compose/멀티 컨테이너 도커 애플리케이션을 정의하고 실행하는 도구YAML 파일을 사용하여 애플리케이션의 서비스를 설정한다 자세한 내용은 레퍼런스 문서를 참고하자. 여기서는 실용적인 부분만 다룬다Compose VersionV1은 더이상 지원을 하지 않는다Docker Compose CLI는 현재 V2를 지원한다설치도커 설치하면 도커 컴포즈도 설치되어 있다동작 방식YAML 설정 파일에 의존한다YAML 파일은 Compose Specification에 의해 제공되는 규칙을 따른다 아래에서 설명하겠다명령아주 쉽다. YAML 파일이 있는 위치에서 아래 두 가지 명령어만 사용하면 된다 docker compose up애플리케이션 시작 docker ..

Grafana > 시작하기

먼저 2024.06.16 - [Monitoring/Prometheus] - Prometheus > 시작하기 이글을 읽고 오자  한줄 소개데이터에 대해 질의(Query), 시각화(Visualize), 경보(Alert)하는 웹 애플리케이션  필요성프로메테우스가 메트릭 수집 뿐만 아니라 질의 및 시각화도 제공하지만, 필요할 때마다 질의해야하고 시각화 UI도 하나 밖에 없어 기능적으로 부족함이 있음   Docker Compose로 Grafana OSS 실행Docker 설치는 생략 https://grafana.com/grafana/download?edition=oss&pg=oss-graf&platform=docker&plcmt=hero-btn-1https://grafana.com/docs/grafana/lates..

Monitoring/Grafana 2024.06.14

Ansible > 맛보기

정의배포 자동화 도구 다수의 원격 서버를 대상으로 설정 관리, 애플리케이션 배포(설치) 등을 코드로 관리할 수 있도록 도움을 주는 도구 예전에는 관리자들이 쉘 스크립트 등을 이용해 서버를 관리하는 것이 일반적이었으나, 관리해야할 서버가 많아지자 사용법이 간단한 앤서블을 많이 사용하게 됐다특징반복적인 작업에서 탈출할 수 있으며 자동화를 통해 애플리케이션의 제공 시간을 단축할 수 있다 앤서블 관리 노드를 이용해 여러 개의 원격 서버들을 효율적으로 관리할 수 있다 시간 절약, 생산성 증가, 반복 작업 제거, 실수 및 에러율 감소, 코드 가독성 향상, 매우 간단한 코딩 방식, SSH 기반 실행 앤서블 관리 노드(PC / 서버)SSH 통신 -> 서버 1SSH 통신 -> 서버 2..별도의 에이전트 없이 SSH 기반..

Deploy/Ansible 2024.06.14

Tomcat > 로그 파일 내 한글 깨짐 해결

외장 톰캣 사용 시정확히는 EUC-KR을 사용하는 톰캣 설정에서의 이슈다 setenv.shexport CATALINA_OPTS="-Dfile.encoding=utf-8" 위 설정 추가 후 톰캣 재시작하면 문제 해결되었음 그런데 설정 아래쪽에 euc-kr로 설정된 부분이 있었다export LC_ALL="ko_KR.euc-kr"export LANG="ko_KR.euc-kr" 여기서 알 수 있는 건, LC_ALL, LANG 설정보다 file.encoding 설정이 우선한다는 것이다(결론적으로 불필요하다고 할 수 있다) file.encoding 설정을 다시 제거하고, 위 설정을 euc-kr을 쓰지 않도록 해보았다export LC_ALL="ko_KR.UTF-8"export LANG="ko_KR.UTF-8" 변경 ..

Cloud > 종류

IaaSInfrastructure as a Service아이애스, 이애스 인프라스트럭처만 제공한다. OS, 미들웨어(Nginx, MySQL 등)을 설치하거나 네트워크 설정 등의 작업은 클라우드 이용자가 직접 수행해야 한다PaaSPlatform as a service패스 애플리케이션을 작동하는 데 필요한 플랫폼(웹 서버, DB 등) 자체를 서비스로 제공한다인프라스트럭처, OS, 미들웨어를 제공한다SaaSService as a Service새스 클라우드 제공자가 전용 애플리케이션까지 제공한다클라우드 이용자는 애플리케이션이 제공하는 서비스에 대한 대가만 지불한다BaaSBackend as a Service 모바일 애플리케이션의 서버 부분을 서비스로 제공FaaSFunction as a Service 애플리케이션보..

Cloud 2024.06.02