반응형

DevOps 26

ETL 과 ELT

ETL 과 ELT - 데이터 파이프라이는 ETL, ELT 같은 용어로 표현된다. - ETL과 ELT는 순서 차이이다. E = Extract (추출) L = Load (적재) T = Transform (변환) - 변환은 비정형 데이터의 정형과정 등이 포함될 수 있다. ETL 특징 - 추출 -> 변환 -> 적재 - 적재하는 과정에서 변환이 이루어짐 (Schema-on-Write) - 적재된 데이터는 이미 정형화 되어있기 때문에, 비즈니스 분석 및 시각화에 용이 ELT 특징 - 추출 -> 적재 -> 변환 - 적재하고 나서 분석을 시작하며 변환 (Schema-on-Read) - 비정형 데이터 분석에 주로 사용된다 -> 정형화 데이터 분석보다 느림 (더 복잡하기 때문) - 최근 클라우드의 발전, 빅데이터 (TB,..

DevOps/DevOps 2022.12.21

데이터 파이프 라인

데이터 파이프 라인 이란 - 다양한 데이터 소스로부터 원시 데이터를 수집하여 분석을 위해 데이터 웨어하우스와 같은 별도의 데이터 저장소로 이전하는 과정 데이터 파이프 라인을 만드는 이유 - 다양한 경로로부터 수집되는 데이터를 웨어하우스에 적재 - 적재한 데이터를 바탕으로 효과적인 분석 - MLOps 를 실천하기 위한 필수적인 준비 단계 OLTP란? - Online Transaction Processing - 기본적인 CRUD 작업인 트랜잭션에 포커스가 맞춰져 있는 데이터 베이스 - OLAP 처럼 데이터 분석이 가능하긴 하지만 테이블 조회가 복잡해지며 기본적인 트랜잭션에 성능 문제를 일으킬 수 있다. OLAP란? - Online Analytical Processing - 적재된 데이터를 다양한 방법으로 분..

DevOps/DevOps 2022.12.21

CORS 란?

CORS 란 - Cross-ORigin Resource Sharing - 교차 출처 자원 공유 - 서로 다른 출처에서 데이터를 주고받는것을 허용하는 정책 - 브라우저에서 크로스 도메인 요청은 기본적으로 제한 되어있다. (서버가 허용한 범위 내에서 Cross Origin 요청 허용) => 서버가 웹 브라우저에서 리소스를 로드할 때 다른 오리진을 통해 로드하지 못하게 하는 HTTP 헤더 기반 메커니즘 defaultCorsHeaders - 제시된 조건을 갖춘 요청은 Cross 도메인에서 리소스 요청이 가능하도록 허용 // 모든 도메인에서 허용한다. (*) // 사용 가능 메소드 : GET, POST, PUT, DELETE, OPTIONS // 허용된 헤더 타입 : content-type, accept // p..

DevOps/DevOps 2022.12.16

[Mac OS]Mac 환경에서 nginx 실행하기

nginx란 - HTTP 기반의 서버를 생성하는 소프트웨어 - 웹 서버를 생성 및 정적 웹페이지 호스팅 - Event-Driven 구조로 동작한다 (고정된 프로세스 사용) - 적은 자원으로 효율적인 운용이 가능하다는 장점 nginx 설치 $ brew install nginx // hombrew가 미리 설치 되어있어야함 nginx.conf 파일 - 논리적으로 작성되어 있는 지시어 목록이다 - 어플리케이션 전체가 지시어에 부여하는 값에 의해 동작한다. $ sudo find / -name nginx.conf // find 명령어를 이용하여 nginx.conf 파일의 위치를 찾는다 필자의 nginx.conf 위치는 아래 와 같다. /opt/homebrew/etc/nginx cat 명령어를 통하여 conf 파일의..

DevOps/DevOps 2022.12.15

[Mac OS]웹서버 - 클라이언트 간단 실습 (netcat-nc)

nc 명령어를 사용하여 웹서버 (멀티패스)와 클라이언트 (웹 브라우저 접속) 구성의 간단한 통신을 테스트 해보고자 한다. nc 명령어 - nc 란 TCP 또는 UDP 프로토콜을 사용하는 네트워크 환경에서 데이터를 읽고 쓰는 용도로 사용된다. - 상대 포트 상태 확인 또는 서버가 되어 원격 서버에서 접속이 가능한지 확인하는 용도로도 사용된다. - 사용법 : $ nc 실습 1. 멀티패스 (우분투 가상환경) 에서 포트 8000번에 LISTEN 모드 실행 - 별다른 응답이 발생하지 않는다. 2. 웹 브라우저를 실행하여 서버 IP의 8000번 포트로 진입한다. 3. 웹 브라우저의 데이터 요청에 대한 내용이 서버에게 출력된다. HTTP 메시지 요청 구조 중 몇가지를 살펴본다. GET / HTTP / 1.1 // S..

DevOps/DevOps 2022.12.11

[Mac OS]HTTP 요청 메소드 및 상태코드 (Postman, OpenWeatherMap 사용)

https://openweathermap.org/ Сurrent weather and forecast - OpenWeatherMap Access current weather data for any location on Earth including over 200,000 cities! The data is frequently updated based on the global and local weather models, satellites, radars and a vast network of weather stations. how to obtain APIs (subscriptions w openweathermap.org HTTP 메소드의 몇가지는 OpenWeatherMap 사이트에서 제공해주는 날씨 데이터..

DevOps/DevOps 2022.12.10

HTTP Message 구성 및 특징

HTTP - Hyper Text Transfer Protocol - HTML과 같은 문서를 전송하기 위한 응용계층 프로토콜 이다. - 웹 브라우저와 웹 서버의 통신에 사용됨 (서버와 클라이언트가 HTTP Messages 양식에 맞춰 요청 및 응답 실시) - HTTP는 특정 상태를 유지하지 않는 특징이 있다. (Stateless : 무상태성) HTTP Messages - HTTP Message는 요청(Requests) 과 응답(Responses)으로 구성되어 있다. - 구성파일, API (Application Programming Interface), 기타 인터페이스에서 HTTP Messages를 자동으로 생성한다. HTTP Messages 구조 - Start Line(요청), Status Line(응답)..

DevOps/DevOps 2022.12.08

클라이언트 - 서버 아키텍처 (2티어 아키텍처, 3티어 아키텍처, API)

우리는 평소 스마트폰 내 어플리케이션을 많이 사용합니다. 그 중 쇼핑몰 어플리케이션의 경우 인터넷을 통하여 쇼핑 품목을 확인 할 수 있습니다. 사용자 (Client)는 인터넷을 통하여 원하는 정보를 요청하고 제공자 (Server)는 마찬가지로 인터넷을 통하여 요청 받은 정보에 대한 응답을 합니다. 서버는 어플리케이션의 최신정보를 사용자에게 제공하게 되는데 리소스를 사용하는 어플리케이션 (사용자 입장)과 리소스가 존재하는 (서버)를 분리하여 2-Tier 아키텍처 (클라이언트 - 서버 아키텍처) 로 구성을 한다면 사용자의 별다른 업데이트 없이 서버의 최신정보 제공이 가능하게 됩니다. 서버의 역할은 리소스를 전달하는 것이며 리소스를 데이터베이스에 별도로 마련해 둔 형태를 3-Tier 아키텍처 라고 합니다. 클..

DevOps/DevOps 2022.12.06

클라우드 서비스에 대한 규모 확장의 종류 (수직확장, 수평확장)

서버의 클라이언트들에 대한 서비스를 제공할 때 상황에 맞게 규모를 확장해야 하는 경우가 있다. 1대의 컴퓨터로 서버의 역할을 수행할 때 서버가 감당할 수 없을 만큼의 큰 규모의 클라이언트가 동시에 서버에 접속하게 된다면 제대로된 서비스를 제공할 수 없게된다. 이때 규모확장을 고려하게 될것이다. 규모확장의 종류로는 수직확장과 수평확장이 있다. 수직확장이란 - 서버의 성능 (CPU, RAM, 스토리지, 네트워크 등)을 높이는 방법 - 장점 : 하나의 서버로 동작 가능한 정도의 수요를 보인다면 수직확장이 적절하다. - 단점 1. 수직적 규모 확장에는 한계가 존재한다 (가격, 성능 한계 등) 2. 장애 대응에 어려움이 있다. 아무리 고 성능의 하드웨어를 사용한다고 해도 하드웨어 고장 시 서비스가 중단되어 버린다..

DevOps/DevOps 2022.11.30

클라우드 서비스 개발 및 전달 프로세스 - DevOps 역할

* 클라우드 서비스 개발 및 전달 프로세스 ( CI/CD 파이프라인 (지속적 통합 / 지속적 전달) ) => 지속적 배포 (Continuous Deployment) = Plan -> Code -> Buile -> Test -> Release -> Deploy -> Operate => 지속적 배포 = 지속적 통합 (주로 Dev팀 역할) + 지속적 전달 (주로 Ops팀 역할) = 지속적 배포란, 모든 코드의 변경이 배포로 이어지는 것 => 지속적 통합 (Continuous Integration) = Code -> Build -> Test - 지속적 통합 단계에서 기능 테스트 및 버그 수정을 반복하며 안정적인 배포가 가능하도록 한다. => 지속적 전달 (Continuous Delivery) = Test -> ..

DevOps/DevOps 2022.11.30

전통적 소프트웨어 전달 방식과 클라우드 서비스 전달 방식의 비교

* 전통적 소프트웨어 전달 방식 특징 1. 출시기한을 정해놓고 소프트웨어를 완성 시킨다. - 폭포수(Waterfall) 모델이다. (순차적 소프트웨어 개발프로세스 이며 개발의 흐름이 지속적으로 흐르는 구조) - 출시 시점에 소프트웨어에 대한 신뢰성 및 안정성을 보장할 수 없다. (출시기한에 쫓겨 개발하게 되므로 갑작스러운 이슈에 대한 유연한 대처가 불가능하다. ) - 이를 해결하고자 베타 버전 등을 통한 안정성 테스트를 진행한다. 2. 사용자가 직접 프로그램을 다운받아 사용하며 버그가 수정된 어플리케이션을 사용하려면 수동으로 업데이트 및 재 다운로드를 해야함. - 버그가 수정된 어플을 사용자에게 전달하기 어렵다. - 이를 해결하고자 일부 어플리케이션은 자동 업데이트를 도입함. * 클라우드 서비스 전달 방..

DevOps/DevOps 2022.11.30
반응형