개요 마이크로서비스는 서비스간 호출 검증을 위해 Component / Contract Test를 시나리오를 정의하고, 파이프라인 또는 3rd Party 솔루션을 통해 자동 검증할 수 있도록 구성하는 것이 일반적이다. Component Test는 테스트를 수행하는 서비스를 기준으로 테스트 케이스를 정의하고, Contract Test는 서비스에서 제공하는 api를 호출하는 client 기준으로 테스트 케이스를 정의한다. 이와 같은 상호간의 인터페이스를 테스트하기 위해서는 각 서비스가 기동되어 있어야 하지만, 개발부서가 분리되어 있거나, client 입장에서 Contract를 테스트하기 위해서는 보다 번거로운 절차를 통해 테스트를 진행해야 한다. 물론 분산 트랜잭션 환경에서 당연히 거쳐야 하는 과정이지만, 마..
서론 마이크로서비스 환경에서 폴리그랏의 의미는 "언어의 종속성만을 없애는 것이 아닌 기반 인프라와 소프트웨어를 입맛에 맞게 선정하여 대상의 폭을 넓혀갈 수 있음"으로 해석할 수 있다. 이는 서비스 최적화 환경을 구성한다는 점에서 장점이 있고, 특히 많은 오픈소스 소프트웨어를 무상으로 활용할 있다는 데에 의미가 크다. 다양한 오픈소스 소프트웨어들은 많은 프로젝트에서 선호되고 있지만, 반대로 여러 문제를 야기하기도 한다. 가장 큰 문제는 유지보수이다. 오픈소스이다보니, 프로젝트 구성원 내에서 운영/유지보수가 가능한 경우가 아니라면, 장애나 주요 이벤트에 대응이 어려울 수 있다. 각 사에서는 이와 같은 문제를 해소해 나가기 위해 오픈소스 소프트웨어를 담당하는 팀을 만들고, 지속적으로 학습해 나가는 방안을 마련..
개요 이번 포스팅에서는 Kubernetes 오픈소스 계열 중 Observability and Analysis 분야에서 높은 지지도를 얻고 있는 Netdata에 대해 알아보도록 하자. Netdata는 대표적인 Telemetry 솔루션인 Prometheus보다 CNCF 내에서 더 높은 별점을 얻고 있는 오픈소스로 실시간 성능 모니터링을 위해 유용하게 활용되고 있다. 간결한 구성만으로 시스템, 하드웨어, 컨테이너 및 애플리케이션에서 수천 개의 메트릭을 동시에 수집할 수 있다. 대부분의 Linux(Ubuntu, Debian, CentOS 등), 컨테이너 플랫폼(Kubernetes 클러스터, Docker) 및 기타 여러 운영 체제(FreeBSD, macOS)에 Netdata를 설치할 수 있다. 지금부터는 Amaz..
오픈소스 계열의 소프트웨어들의 특징은 바로 모니터링 환경을 별도로 제공하지 않는 다는 점이다. 대부분 기능적인 측면에 국한되어 있고, 운영 관점에서 여러 기능들을 구현하여 판매하는 것이 오픈소스 소프트웨어들의 특징이다. 대표적으로 ElasticSearch, Kafka, Netflix Zuul 등이 있으며, 다양한 분야에서 오픈소스를 상용화한 제품들이 등장하고 있다. 지금부터 살펴볼 Redis 역시 대표적인 오픈소스이며, Redis Labs에서 만든 Redisinsight에 대해 알아보도록 하자. Redisinsight Redisinsight는 바이너리 형태로 구축하거나, 도커이미지로 손쉽게 기동할 수 있다. 아래는 도커이미지를 활용하여 Redisinsight를 기동하는 과정이다. 1) docker ima..
개요 어플리케이션의 성능 향상은 모든 시스템의 궁극적인 가치이자 목표이다. 좀 더 빠르게 고객에게 서비스하기 위해 새로운 시스템을 오픈하거나, 시스템 고도화 작업을 진행한다. 성능을 향상시키는 방법은 다양하다. 새롭게 시스템을 개선하여 오픈하는 차세대급 프로젝트를 진행하거나, 지속적인 서비스 모니터링을 통해 유지보수해 나가거나, 특정 소프트웨어를 대체하거나, 언어를 변경하거나 때로는 코딩 한줄로도 성능이 개선되는 경우가 있다. 성능 향상의 목표치에 따라 비용과 시간이 소요될 수 있으며, 상황에 적합한 방식을 적용하여 성능 개선을 지속적으로 수행해 나가는 것은 프로젝트를 진행하는 모든 사람들의 궁극적인 목적이다. Redis와 Memcached로 대표되는 캐싱 서버는 바로 성능을 향상시키는 대표적인 방법 중..
개요 이번 포스팅에서는 Redis를 효과적으로 구축/운영하기 위한 설계방법에 대해 알아보도록 하자. Redis는 대표적인 In-memory DB로 세션, 캐시, 큐 등으로 활용된다. 단일 환경으로 가볍게 구성이 가능하지만, 고 가용성을 위한 클러스터 환경이나 Replication 환경을 구성할 수 있다. 캐시 설계 먼저 살펴볼 내용은 캐시 서버를 설계하기 위한 공통적인 지침사항이다. 총 5가지의 설계 지침을 제시하며, 각각은 정답이 아닌 고려사항임을 유념하고 포스팅을 읽어 주셨으면 한다. 1) Cache & Data Store 배치 전략 대표적인 Cache Server 배치 전략으로는 Cache Aside 패턴과 Write Back 패턴이 있다. a. Cache Aside 패턴 특징 : 읽기에 적합. 캐..
지난 포스팅에서는 Redis에 대해 알아보고 설치하는 과정에 대해 살펴보았다. 이번 포스팅에서는 Redis의 가용성을 높여주기 위한 Cluster 환경을 구성하는 방법에 대해 살펴보자. 지난 포스팅은 다음을 참고한다. [Redis 5.x] 오픈소스 기반 비관계형 데이터베이스 관리 시스템 [Redis 5.x] 설치 및 CLI 활용 가이드 Master Cluster 구성 1. Redis Master Server Add (sh install_server.sh) 먼저 Cluster에 추가할 서버를 설치한다. (localhost:6379, localhost:6479, localhost:6579) ##### install_server.sh 위치 ##### [root@ip-192-168-73-84 redis-5.0...
JupyterHub를 Iframe 환경에 적용하기 위해 아래와 같은 설정이 필요하다. [테스트 환경] Sample App Server : 192.168.56.102 JupyterHub Server : 192.168.56.104 1) Sample App 2) Error Message Refuse to display 'http://192.168.56.104/hub/login' in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self'". [해결방안] ...? - jupyterhub.config c.JupyterHub.tornado_settings = { 'header..
본 포스팅에서는 Prometheus와 Grafana를 활용한 자원 사용률 모니터링 방법에 대해 알아보겠습니다. 시스템을 구축하고 운영할 때 시스템을 구성하는 요소들의 조화로운 설계도 중요하지만, 모니터링, 로깅 또는 추적 등을 위한 요소를 배치하는 것은 유지보수 측면에서 굉장히 중요한 부분입니다. 이번 포스팅에서는 자원 사용률을 모니터링하는 방법에 대해 알아볼 예정이며, 다음과 같은 오픈소스를 배치하여 구축해 보도록 하겠습니다. 오픈소스 소프트웨어 1. Prometheus Prometheus는 이벤트 모니터링 및 Alert에 사용되는 오픈소스 소프트웨어입니다. 유연한 쿼리 및 실시간 경고와 함께 HTTP 모델을 사용하여 구축 된 시계열 데이터베이스에 실시간 메트릭을 기록합니다. Prometheus는 데이..
본 포스팅에서는 Jupyter Package를 활용하여 별 다른 설정없이 개발환경을 제공하는 방법에 대해 살펴보도록 하겠습니다. Jupyter Package는 다양한 사용자의 개발환경을 사전에 구성하여 누구나 손쉽게 개발환경을 구성하지 않고 URL에 접속하여 손쉽게 사용할 수 있도록 제공하는 환경입니다. Jupyter Package를 구성하는 다양한 요소 중 본 포스팅에서는 Jupyter Notebook, JupyterLab 그리고 JupyterHub에 대해 살펴볼 예정이며, 설치 부터 사용법까지 간략하게 모두 다뤄볼 예정입니다. JupyterHub 설치 1. git repository clone [root@nrson ~]# git clone https://github.com/jupyterhub/the-..
- Total
- Today
- Yesterday
- kubernetes
- OpenStack
- SA
- webtob
- aa
- Architecture
- 쿠버네티스
- JEUS7
- node.js
- SWA
- Docker
- 아키텍처
- git
- MSA
- Da
- k8s
- JBoss
- apache
- 마이크로서비스 아키텍처
- API Gateway
- wildfly
- 오픈스택
- TA
- openstack tenant
- 마이크로서비스
- jeus
- nodejs
- openstack token issue
- JEUS6
- aws
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |