본문 바로가기
TIL/디지털트윈

08.11 디지털 트윈 부트캠프(OT) 29일차

by saramnim 2023. 8. 11.
728x90
DevOps - 그라파나, 클라우드 네이티브

그라파나

데이터 시각화 및 대시보드 작성을 위한 오픈 소스 도구

그라파나 다운 받기

https://grafana.com/grafana/download?pg=graf&platform=windows&plcmt=deploy-box-1&edition=oss 

 

Download Grafana | Grafana Labs

Overview of how to download and install different versions of Grafana on different operating systems.

grafana.com

10.0.3 , OSS 다운받음

SHA256: 7331dc744ddfb157bfddbe7f5b3e80f9c8348eb0c4a99c16585e481a5d33f2be

Hash 값이 위와 동일해야 파일이 정상적으로 다운받아진 것이다.

 

ctrl + shift + esc : 작업 관리자

그라파나는 3000 포트를 사용한다.

평소에는 react 등 3000 포트를 이용하는 경우가 많으니, 작업관리자로 grafana-server를 '작업끝내기' 시켜준다.

 

그라파나 서버를 키고 웹DB를 연결시키면 현재 데이터로 간단하게 설명드리겠습니다~!~! 할수있다. 프레젠테이션!

초기에는 ID: admin PW: admin 으로 로그인 할 수 있다.

db 추가로 내가 사용하는 db의 정보를 입력한 뒤, dashboard로 나타내고 싶은 그래프의 종류를 선택하면 된다.

내 경우, 임의로 만든 시계열 온도데이터를 대쉬보드에 표현하기 위해

column에 각각 temp와 예상시간을 지정한 뒤, 우측 하단을 Time series로 지정했다.

 

소프트웨어 배포 생명 주기

프리 알파(요구사항 분석, 소프트웨어 설계 및 개발, 유닛 테스트) -> 알파(개발판, 소프트웨어 테스트) -> 베타(시험판) -> Release candidate(aka gamma delta) -> RTM(Release To Manufaturing, aka Release Marketing) -> GA -> Production or live release(aka Gold)

 

Cloud-Native

MSA로 불리우며, 단일 응용 프로그램을 자체 서비스로 실행하고 경량 메커니즘(HTTP)으로 통신하는 작은 서비스 모음으로 개발하는 접근 방식

가상화(vmware) -> IaaS(amazon) -> 표준 프레임워크 출시(eGovFrame) -> 오픈소스(IaaS, PaaS) -> 컨테이너(Docker) -> 클라우드 네이티브 등장 -> 클라우드 플랫폼(전자정부 클라우드 플랫폼) -> 본격화 -> 국내 MSA 도입 시작 -> 보급확산(MSA 도입으로 가입자 확대 등 성공 사례 교훈)

클라우드 네이티브 교육 자료

https://egovframe.go.kr/home/sub.do?menuNo=65 

 

교육자료 | 표준프레임워크 포털 eGovFrame

처리중입니다. 잠시만 기다려주십시오.

egovframe.go.kr

 

클라우드

가상화된 컴퓨팅 자원을 활용해 소프트웨어, 플랫폼, 인프라 등의 IT 서비스를 제공하는 기술

온프레미스(Physical) -> IaaS(가상화) -> PaaS(플랫폼) -> SaaS(서비스)

IaaS

가상화 기반 환경

서버, 스토리지에 네트워크 인프라를 가상환경으로 제공

PaaS

가상화 기반에서 표준화된 개발/실행/운영 환경

개발을 위한 플랫폼을 제공(프로그램 언어, SW, DBMS 등)

SaaS

가상화 기반 특정 Biz, 도메인에 대한 서비스 환경앱을 서비스 형태로 제공(웹 메일, ERP, NI 클라우드 등)

서버리스(=클라우드 네이티브, PaaS ~ SaaS)

서버가 존재하나, 사용자의 운영 개입 없이 클라우드 플랫폼에서 자동으로 관리되는 서비스

앱 함수 실행 서비스 및 백엔드 서비스 포괄

 

클라우드 네이티브

클라우드의 장점을 최대한 활용해 정보시스템을 구축 및 실행하는 환경

클라우드 컴퓨팅의 장점을 최대한 활용할 수 있는 정보 시스템 분석, 설계, 구현 및 실행하는 환경기술, 애플리케이션, 아키텍처, 개발 방법론, 조직, 프로새스 등 다양한 용어와 결합

CNCF(Cloud Native Computing Foundation)

클라우드 네이티브 전환할 수 있는 기술 정의 및 오픈 소스를 관리하는 단체

 

기존 애플리케이션 - 물리서버 중심, 수직 확장, 인프라 의존, 폭포수, 배포 수작업, 긴 시간

클라우드 네이티브 - 가상 컨테이너 기반, 수평 확장, 인프라 독립, 이식성 보장, 애자일, CI/CD 자동화, 짧은 시간

 

클라우드 네이티브 애플리케이션 성숙도 단계

lv0. 기존 애플리케이션

레거시 : 물리(온프로미스) -> 기존 애플리케이션

 

lv1. 클라우드 준비 단계 Cloud Ready

클라우드 : IaaS -> Lift & Shift(데이터 그대로 옮기기) -> 클라우드 준비 단계 애플리케이션

플랫폼 표준화, 비용 효율 / PaaS(서버 가상화 - VM)

 

lv2. 클라우드 친화 단계 Cloud Friendly

클라우드 친화단계 애플리케이션, Replatform

PaaS + 컨테이너 DevOps + CI/CD -> Re-Factor(클라우드 아키텍처 제공)

Auto-Scaling, 컨테이너 적용 / PaaS + CI/CD + 12Factors(서버 가상화-컨테이너)

 

lv3. 클라우드 네이티브 단계 Cloud Native

클라우드 네이티브 애플리케이션(Re-Purchase(SaaS형태 구매)), 마이크로서비스 아키텍처

MSA + 컨테이너 DevOps + CI/CD

데브옵스와 CI/CD는 클라우드 친화 단계 또는 클라우드 네이티브 단계에 도입 가능

APP 경량화, 업무 민첩성 대응 / PaaS + CI/CD + 12Factors + MSA(서버가상화-컨테이너)

 

클라우드 네이티브 성공사례

아마존 고, 넷플릭스, AWS, 넷플릭스, KAKAO, 11번가, 네이버, KT, NHN, 삼성 등

 

클라우드 네이티브 구성요소

마이크로 서비스 : 독립적인 실행 및 배포가 가능한 마이크로 서비스

컨테이너 : 경량화된 컨테이너 단위 수평적 확장

데브옵스 : 개발팀과 운영팀 간 단일한 협업 프로세스

CI/CD : 소규모 개발팀별 자율적, 독립적 서비스 운영

 

클라우드 네이티브 특성

컨테이너화(CaaS)

컨테이너(TEU) 기술을 기반으로 이식성 제공 -> 서비스 개발 및 운영의 현대화

작고 가볍고 손쉽게 배포 제공 : 클라우드 환경에서의 서비스 배포 -> 전세계에 클릭 한 번으로 앱 배포

마이크로 서비스: 애플리케이션을 작은 기능 단위로 구축

컨테이너: 경량화된 가상화 기술, 컨테이너로 애플리케이션 배포

DevOps & CI/CD: 자동화된 애플리케이션 개발 - 운영 프로세스 적용

=> 배포 자동화, 전주기 관리

=> 지속적·즉시 배포, 지속적 통합 도구 제공

마이크로 서비스 아키텍처

탄력적, 선택적인 서비스 확장 제공

API로 통신하는 소규모의 독립적인 서비스로 구성, 클라우드 환경에 최적화된 느슨한 결합

기존에는 요구사항이나 전체를 다시 개발 했었으나, 현재는 빠른 요구에 대응 부합하는 선택적 개발

업무 용도에 적합한 개발 언어, DBMS 등의 기술 적용

Auto Scaling 시스템 자원들의 메트릭 값을 모니터링 하여 서버 사이즈를 자동으로 조절해 예상치 못한 서비스 부하에 효좌적으로 대응

서버 그룹 모니터링 기반 Auto Scaling / 스케줄링 기반 Auto Scaling

작은 서비스 단위로 업데이트, 변경 및 교체를 제공해 마이크로 서비스별 격리를 통해 전체 장애 전파를 최소화

 

클라우드 네이티브 적용가능 업무

서비스 복잡도가 높은 시스템

명확한 경계가 가능한 시스템

더 이상 확장할 수 없는 한계 지점에 도달한 시스템

 

Cloud Deployment Models

Private Cloud: 단일 조직에서 독점적으로 사용하도록 클라우드 인프라 제공

Public Cloud: 클라우드 서비스 제공 업체가 데이터 센터, 서버, 네트워킹 장비 및 스토리지와 같은 물리적 인프라를 소유

Hybrid Cloud: 조직의 On-premise Private 클라우드를 사용하면서 다른 클라우드 서비스 업체의 Public 클라우드를 사용하는 것

 

DevOps 환경 구축

DevOps 구조

CI(Continuos Intergration)

GitLab -> Jenkins -> docker

지속적인 통합

애플리케이션에서 신규 코드 변경 사항이 정기적으로 빌드 및 테스트가 되고 이를 공유 레포지토리에 통합

 

CD(Continuos Deployment)

Docker Hub -> kubernetes, HELM

 

helm

쿠버네티스 사전 구성된 쿠버네티스 리소스의 패키지(차트)를 관리하기 위한 도구쿠버네티스의 패키지 관리 도구

 

설치하기

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh

권한 부여

chmod 700 get_helm.sh
./get_helm.sh

초기화하기

helm init

kubernetes 상태 확인

kubectl get service,deployment,pod -n kube-system

버전 확인

helm version

 

도커 프로그램 열기 -> 설정 -> 좌측 쿠버네티스 선택 -> 두 개 다 체크 -> Apply

 

쿠버네티스

컨테이너화된 애플리케이션을 관리하고 배포하기 위한 오픈 소스 플랫폼

기능: 오케스트레이션, 자동 확장, 서비스 디스커버리 및 로드 밸런싱, 자동 복구와 자가 치유, 설정 관리와 스토리지 관리, 선언적인 배포, 다중 환경 지원, CI/CD 통합

쿠버네티스 포드 : Linux 컨테이너를 하나 이상 모아 놓은 것, 쿠버네티스 애플리케이션의 최소 단위

 

https://bard.google.com/

 

‎Google의 AI 실험 버전인 Bard 사용해 보기

Bard는 창의적이고 유용한 파트너로서, 상상력을 마음껏 발휘하고 생산성을 높이며 아이디어를 실현하도록 도와줍니다.

bard.google.com

 

 

Ingress

클러스터 외부에서 클러스터 내부 서비스로 HTTP와 HTTPS 경로를 노출

외부에서 서비스로 접속이 가능한 URL, 로드 밸런스 트래픽, SSL/TLS 종료, 이름 기반 가상 호스팅을 제공하도록 구성 가능

클라이언트 -> 인그레스 매니지드 로드 밸런서 -> 클러스터(인그레스 -라우팅 규칙 -> 서비스 -> 파드)

728x90
반응형

댓글

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."