
개요 앞선 포스팅에서 마이크로서비스 환경의 데이터베이스 분리 기준에 대해 알아보았다. 모놀리식 어플리케이션을 마이크로서비스 아키텍처로 전환하기 위해서는 단일DB를 분산DB 형태로 분리해 나가야 한다. 물론 한번에 모든 DB를 서비스 별로 쪼개는 것은 리스크를 확대시킬 수 있다. 서비스간 결합도가 낮은 마이크로서비스로부터 하나씩 DB를 분리해 나가면서 점진적 결합도를 낮추는 것이 무엇보다 중요하다는 점을 기억하고 다음 포스팅을 읽어주었으면 한다. 마이크로서비스 아키텍처의 기준과 DB 분리 : https://waspro.tistory.com/718 데이터베이스의 분리는 단순하게 DB의 스키마를 나누는데에 그치지 않는다. 하나의 프로젝트에서 분석/설계라는 과정을 거쳐 어플리케이션과 테이블, 인터페이스를 정의하..

개요 최근 3년 사이 마이크로서비스 아키텍처의 급격한 유행에 따라 많은 프로젝트에서 MSA로의 전환을 시도하고 있으며, 성공적으로 전환한 케이스가 있는 반면, 실패한 경우도 종종 발생하고 있다. 포스팅의 시작점에서 우리가 말하는 성공적인 마이크로서비스 전환 사례란 무엇인지에 대해 알아보도록 하자. 마이크로서비스 아키텍처의 성공기준 RESTFul API가 적용된 프로젝트 독립적인 배포가 가능하도록 결합도를 낮춘 프로젝트 클라우드가 적용된 확장성, 가용성이 확보된 프로젝트 자동화된 배포 체계가 갖추어진 프로젝트 DevOps 조직 체계를 적용한 프로젝트 ...... 마이크로서비스로의 전환이 진행중인 또는 완료된 프로젝트 사례들을 살펴보면 위와 같은 공통의 목표를 달성해 내고자 했을 것이다. 다만, 이와 같은 ..

개요 급격하게 확대되고 있는 오픈소스 시장에서 소프트웨어 업그레이드를 이용한 공격사례가 증가하고 있다. 어떠한 악성 코드가 반영되어 있는지 확인하기 어렵고, 어떠한 소프트웨어가 설치되어 있는지 확인하기 어려운 상태에서 인터넷 상에 떠도는 오픈소스 소프트웨어를 업그레이드 하거나, 파일을 반입하는 것은 공격의 대상으로 타켓팅 될뿐 아니라, 때로는 심각한 정보들를 유출하는 심각한 문제를 초래하기도 한다. 따라서 오픈소스를 구축하고 운영할 경우 업그레이드 관리에 많은 비용과 시간을 투자해야 함을 반드시 인지해야한다. 도커 이미지 역시 마찬가지이다. 이미지 내부에는 어떠한 파일과 소프트웨어가 설치되어 있는지 판단하기 어려운 상태에서 반입하는 경우가 많다. 따라서 이미지는 도커 허브와 같은 공식 사이트에서 검증된 ..

서론 마이크로서비스 환경에서 폴리그랏의 의미는 "언어의 종속성만을 없애는 것이 아닌 기반 인프라와 소프트웨어를 입맛에 맞게 선정하여 대상의 폭을 넓혀갈 수 있음"으로 해석할 수 있다. 이는 서비스 최적화 환경을 구성한다는 점에서 장점이 있고, 특히 많은 오픈소스 소프트웨어를 무상으로 활용할 있다는 데에 의미가 크다. 다양한 오픈소스 소프트웨어들은 많은 프로젝트에서 선호되고 있지만, 반대로 여러 문제를 야기하기도 한다. 가장 큰 문제는 유지보수이다. 오픈소스이다보니, 프로젝트 구성원 내에서 운영/유지보수가 가능한 경우가 아니라면, 장애나 주요 이벤트에 대응이 어려울 수 있다. 각 사에서는 이와 같은 문제를 해소해 나가기 위해 오픈소스 소프트웨어를 담당하는 팀을 만들고, 지속적으로 학습해 나가는 방안을 마련..

개요 이번 포스팅에서는 Kubernetes 오픈소스 계열 중 Observability and Analysis 분야에서 높은 지지도를 얻고 있는 Netdata에 대해 알아보도록 하자. Netdata는 대표적인 Telemetry 솔루션인 Prometheus보다 CNCF 내에서 더 높은 별점을 얻고 있는 오픈소스로 실시간 성능 모니터링을 위해 유용하게 활용되고 있다. 간결한 구성만으로 시스템, 하드웨어, 컨테이너 및 애플리케이션에서 수천 개의 메트릭을 동시에 수집할 수 있다. 대부분의 Linux(Ubuntu, Debian, CentOS 등), 컨테이너 플랫폼(Kubernetes 클러스터, Docker) 및 기타 여러 운영 체제(FreeBSD, macOS)에 Netdata를 설치할 수 있다. 지금부터는 Amaz..

개요 이번 포스팅에서는 Tekton Pipeline을 실제로 구축해 보도록 하자. 여러 단계에 걸쳐 Tekton에서 수행될 Task를 Pipeline으로 연결하고, 최종적으로 EKS에 배포하는 과정까지 알아보도록 한다. 먼저 이번 포스팅에서는 Docker Image를 생성하고 Docker Registry에 Push하는 과정에 대해 알아보자. git-clone maven build image build image push 0. 구성 전 준비사항 > Kubernetes 1.16 이상 버전 구축 : Amazon EKS(Kubernetes 1.19) > Service Account 권한 부여 : GitHub / DockerHub > Workspace 용 pv, pvc 준비: 공유 데이터 저장소 apiVersio..

개요 아키텍트는 대규모 프로젝트에서 원하는 목표를 달성하기 위해 다양한 영역의 아키텍처를 설계하는 것은 물론 개발 생산성 향상을 위해 개발절차를 확정하고 개발에 필요한 환경과 가이드를 제공하는 등 담당해야 할 과제들이 존재한다. 이때 개발절차를 확정하기 위해 선행되어야하는 것이 있는데 바로 SCM 정책수립이다. SCM(Source Code Management)은 소스코드 저장소에 대한 수정 사항을 추적하고 여러 개발자의 소스코드 병합과정에서 발생가능한 Conflict를 해결하는데 도움을 주는 도구이다. 특히 대규모 프로젝트일수록 필수적으로 고려되어야 한다. 최근 클라우드 환경 특히 마이크로서비스 아키텍처 환경으로 접어들어가며, 배포독립성, 민첩성이 강조되는 환경에서 Git이 떠올랐으며, 신규로 시작되는 ..

서론 Jenkins Job 중 Multibranch Pipeline을 활용하면 여러 Branch를 통합하여 하나의 Job 처럼 관리할 수 있다. 특히 Git flow와 같은 Branch 전략을 활용하기에 적합한 Job이라 할 수 있다. Feature Branch와 같은 LifeCycle이 짧은 Branch와 Developer/Master와 같은 LifeCycle이 긴 Branch를 하나의 Pipeline으로 통합하여 관리할 수 있다. 지금부터는 Jenkins에서 Multibranch Pipeline을 활용하여 GitHub Branch를 배포하는 과정에 대해 알아보자. MultiBranch Pipeline 구성 Jenkins 설치 방법은 다음 포스팅을 참고한다. [Jenkins] Jenkins 설치 가이드..

개요 앞서 살펴본 포스팅을 통해 Tekton에 대해 알아보았다. 사실 오픈소스의 시장 점유율이 높아짐에 따라 CNCF에 공개된 Cloud Native 소프트웨어들은 주목도가 높아지고 있는 것이 사실이다. Tekton Previous Posting : Tekton Pipeline 작성 CNCF : https://landscape.cncf.io/ 이와 같은 맥락으로 Continuous Develivery에 대해 관리하는 CDF라는 조직을 통해 현재 Tekton은 물론 CD 진영의 주요 활동에 대해 알아 볼 수 있다. CDF : https://cd.foundation/ 현재 CD Foundation Project로 등록되어 있는 오픈소스 소프트웨어는 Jenkins, Jenkins X, Spinnaker 그리고..

Overview Tekton은 CI/CD를 위한 클라우드 네이티브 솔루션으로 CSP 3사는 물론, On-premise 환경의 Kubernetes를 모두 지원하며, build, test, deploy를 기능을 제공한다. Tekton은 언어 및 배포 환경 전반에서 CI / CD 도구 및 프로세스를 표준화한다. 특히 복잡한 MSA 환경에서 배포 환경을 통합하여 구성하기 용이한 구조로 되어 있다. Jenkins, Jenkins X, Spinnker, Skaffold, Knative 등 다양한 CI/CD 도구와 통합할 수 있다. Tekton은 Step, Task, Pipeline, Pipeline Resource로 구성되어 있으며, Task와 Pipeline을 기동하는 TaskRun, PipelineRun 오브젝..
- Total
- 1,547,193
- Today
- 475
- Yesterday
- 347
- API Gateway
- 오픈스택
- aws
- apache
- JEUS6
- SA
- nodejs
- webtob
- openstack token issue
- TA
- OpenStack
- kubernetes
- openstack tenant
- Docker
- JBoss
- 마이크로서비스 아키텍처
- JEUS7
- 마이크로서비스
- MSA
- node.js
- k8s
- git
- aa
- Architecture
- 아키텍처
- SWA
- wildfly
- 쿠버네티스
- Da
- jeus