Cs 면접 준비(공통기술 질문 모음) -2

이동근·2021년 4월 26일
3

cs 지식

목록 보기
4/4
post-thumbnail

클라우드 컴퓨팅이란?

구름처럼 둥둥 떠다녀 언제든지 인터넷만 연결이 되어 있다면 언제든 연결 가능한 서버 혹은 네트워크

추가.

클라우드 네이티브

쉽게말해서, 클라우드의 이점을 최대로 활용할 수 있도록 애플리케이션을 구축하고 실행하는 방식을 의미합니다.

DevOps

애플리케이션 개발-운영 간의 협업 프로세스를 자동화하는 것을 말하며, 결과적으로 애플리케이션의 개발과 개선속도를 빠르게 합니다.

CI/CD

지속적인 통합(Continous Intergration)은 개발자가 작업한 코드를 자동으로 테스트 하고 테스트에 통과하면 코드를 통합하여 저장합니다.
지속적인 배포(Continous Deployment)은 작업한 코드 및 변경사항들을 테스트를 거쳐 리포지토리로 업그레이드 되고 실 서비스 배포로 릴리즈 까지 자동화 하는 것을 말합니다.

DevOps와 CI/CD

DevOps는 '개발과 IT'운영간의 프로세스를 통합하여 궁극적으로는 '고객에게 뛰어난 품질의 서비스를 빠르게 제공한다.' 는 개발 방법론 입니다.

그렇다면 개발(Dev)와 운영(Ops)의 업무는 다른데 왜 통합을 하려고 할까요?

과거 새로운 서비스를 출시하기 위해서 오랜기간 작업 후 배포했던 것과 달리, 현재는 서비스 출시 속도가 다르고 업데이트 주기 또한 빈번해 졌습니다. 그렇기 때문에 개발된 소프트웨어가 시스템의 안정성을 유지하면서 사용자에게 빠르게 제공될 수 있도록[개발 - 테스트 - 배포 - 운영]의 업무 사이클을 자동화된 단일 워크 플로우로 통합할 필요성이 생기게 된 이유 입니다.

DevOps의 업무

  1. 소스 코드 제어(SCM: Source Code Management)
    서비스는 주로 팀 단위로 개발이 되는데, 서로 다른 팀에서 개발한 코드에 대한 버전과 이력을 관리해야 한다.

  2. CI/CD
    지속적인 통합과 배포를 통해 애플리케이션 개발 단계를 자동화 하여 고객에게 보다 짧은 주기로 서비스를 제공하고 개선하는 방법 입니다.

  3. 모니터링
    업데이트 빈도가 늘어남에 따라 일반적으로 요구되는 엄격한 테스트를 매번 수행할 필요가 없습니다. 따라서, 데브옵스 환경에서는 실시간으로 앱 성능 모니터링을 통하여 오류, 개선사항을 찾아 해결하는 것이 중요합니다.

컨테이너 기반 인프라

가상화 기술 중 하나로, 시스템을 가상화 하는 것이 아니라 애플리케이션을 구동할 수 있는 컴퓨팅 작업을 패키징하여 가상화 한 것 입니다.

Microservice

애플리케이션을 구성하는 서비스들을 독립적인 단위로 분해하여 구축하고 각 구성 요소들을 네트워크로 통신하는 아키텍쳐로 서비스 안정성과 확장성(Scaling)을 지원합니다.

Serverless

우선 서버리스를 설명하기 전 현재의 컴퓨팅 환경이 어떻게 발전되어져 왔는 지에 대해서 알필요가 있다.

컴퓨팅 환경

디지털 전환 시대에 다양한 업종의 기업 및 조직내에서 IT 관리자들은 시시각각 수요가 급변하는 IT자원을 준비하고 운영하는 많은 노력에서 벗어나고자 클라우드를 선택하였다. 위에서 DevOps 개발환경이 왜 나오게 되었는지와 같은 이유라고 생각한다. 개발과 운영이 너무 거대해지고 신경쓸 부분이 많아지다 보니, 관리를 해주는 환경과, 서비스를 만들게 되었고 이게 DevOps와 클라우드 시스템이 나오게 된 배경이라고 생각이 된다.

서버리스란?

클라우드가 점차 정착이 되어 성숙기 단계까지 오게 되었다. 클라우드가 가지고 있는 많은 인스턴스를 관리 해야 하는 문제가 생기게 되었다. (여기서 인스턴스는 가상머신 하나를 인스턴스 라고 한다.) 운영체제와 어플리케이션의 패치와 버전 업그레이드와 더불어 또 다른 IT 서비스에 대한 클라우드 용량 산정 등 지속적인 관리의 피로에서 좀 더 자유로워 질 수 있는 방법을 연구하게 되었고 그 중 가장 많이 언급되는 방법이 '서버리스 컴퓨팅'이다.

서버리스 컴퓨팅은 IT 인프라를 데이터센터 또는 클라우드에 준비 없이, 필요한 기능을 함수(Function) 형태로 구현하고, 자동 스케일링 방식으로 시시각각 변하는 자원 수요를 지원하며 전통적인 백엔드를 대신한다. 따라서 서버리스 컴퓨팅을 FaaS(Function as a Service) 라고도 하고 백엔드 시스템을 보이지 않는 서비스로 추상화하였기 때문에 BaaS(Backend as a Service) 라고도 합니다.

-> 클라우드가 성숙기에 이르면서 클라우드가 가지고 있는 인스턴스에 대한 관리를 좀 더 효율적이고 최소화 하기 위해 언급되는 방법 입니다. 서버리스 컴퓨팅이란 IT 인프라를 데이터센터 또는 클라우드에 준비 없이 필요한 기능을 함수로 구현해서 관리하는 것을 의미 합니다. 따라서 FaaS 혹은 백엔드 시스템을 보이지 않은 서비스로 추상화 하였기 때문에 BaaS 라고도 합니다.

그림으로 보게 되면 '컴퓨팅 환경', '하드웨어', 'IT서비스의 형태' 4가지로 구분이 되어 있는 것을 볼수 있다.

초기 컴퓨팅 환경

컴퓨팅 환경의 초기 단계인 '서버'의 의미를 보게 되면 클라이언트에게 네트워크 정보나 서비스를 제공하는 컴퓨터 시스템으로 컴퓨터 프로그램 혹은 장치를 의미한다.

서버는 클라이언트의 요청에 의하여 서비스를 하는데 이와 같이 구성된 시스템을 '클라이언트 - 서버' 시스템이라고 한다.

이런 클라이언트의 수가 5 ~ 20명일 정도의 소규모 LAN인 경우에는 한 대의 서버로 충분히 모든 서비스를 소화할 수 있으나, 대규모 LAN의 경우에는 여러대의 서버를 배치해야한다. 그래서 초기에는 각 기업마다 서버실있거나, 데이터 센터가 있었다.

모놀리틱

간단히 말해, 'Monolitic' 이라는 말 그대로 하나의 Massive 한 Context 형태의 아키텍쳐를 의미하며 하나의 서비스 또는 어플리케이션이 하나의 거대한 아키텍쳐를 가질 때, 'Monolitic' 하다고 한다.

모놀리틱

On-Premise

On-premise는 이러한 서비스를 사용하지 않고 있는 상태를 의미, 전형적으로 회사건물 안에 서버룸을 두고 제공하는 방식을 의미합니다.

컴퓨팅 환경 (2 단계)

가상머신

말 그대로 서버를 가상화해서 사용하는 방식을 의미합니다. 그럼 왜 사용하게 되었는가?

주된이유는 서버 통합입니다. 서버를 가상화 하면 각 물리서버에 수많은 가상 서버를 배치하여 하드웨어 활용률을 개선할 수 있습니다. 이렇게 하면 하드 디스크와 같이 물리적 리소스를 추가로 구매할 필요가 없어 질 뿐만 아니라 데이터센터내 전력, 공간 및 냉각의 필요성이 줄어듭니다.

코로케이션 방식

사업자가 직접 서버를 관리하지 않고 인터넷서비스를 제공하는 사업자가 초고속 인터넷 백본망에 서버를 연결해주고 관리해주는 사업형태를 의미합니다.

즉 사업자와 서버를 관리해주는 사람이 분리되어 있는 형태를 의미합니다. 그래서 직접 서버실이 회사내에 있는 형태에서 바뀌었다.

N-tier (다층 구조)

비즈니스 로직을 완전히 분리하여 데이터베이스 시스템과 클라이언트 사이에 배치한 클라이언트 서버의 일종이다. 일반적인 3층 구조로 쓰인다.

다층구조(N-Tier)

IaaS, PaaS, SaaS

클라우드 서비스의 종류라고 생각하면 된다. 2단계가 되면서 코로케이션의 상태가 되면서 이러한 서비스가 상품이 되었다.

클라우드 서비스 종류

컴퓨팅 환경(3단계)

컨테이너

컨테이너란 운영체제 상에서 소프트웨어를 독립적으로 실행 할 수 있는 일종의 OS 가상화 기술이다. 2단계에서는 가상머신이 하드웨어를 했다면 컨테이너는 OS와 어플리케이션 또는 소프트 웨어를 분리해서 관리할 수 있다.

컴퓨팅 환경 (현재)

오늘날의 클라우드 서비스 환경이다. 서버리스 단계로서 개발자가 관리를 하는 것에 대해서 최소화 하기 위해 서버 -> 가상머신 -> 컨테이너 그리고 함수로 컴퓨팅 환경이 바뀌게 되었다.

서버리스

서버를 사용하지 않고 애플리케이션과 서비스를 구축하고 실행할 수 있습니다.

서버리스

FaaS(Function as as Service)

AWS의 lambda와 같이 함수로 서버를 돌리고 배포를 하는 형식을 가진 IT 상품입니다.

AWS - lambda

서버리스 컴퓨팅 관련

profile
하루하루 1cm 자라는 개발자

2개의 댓글

comment-user-thumbnail
2024년 3월 6일

https://mel.fria.ifokus.se/discussion/1581912/how-are-the-audits-for-our-cbd-life-gummies
https://www.crpsc.org.br/forum/viewtopic.php?f=3&t=307698&p=2067245#p2067245
https://gti-club.ru/forum/showthread.php?t=68218&p=752585#post752585
https://www.readersoak.com/forum/general-discussions/logistics-side-of-my-business
https://coghillthecon.ning.com/forum/topics/which-pills-are-the-most-effective-for-treating-ed
https://community.she.com/topic/2541779/what-is-the-spending-limit-on-robinhood/3
https://almomento.net/creador-de-chatgpt-recomienda-ee-uu-regule-desarrollo-de-la-ia/
https://www.uncannyvalleyforum.com/index.php?p=/discussion/862566/very-glad-i-now-signed-up#latest
http://cs-headshot.phorum.pl/viewtopic.php?p=309134#309134
https://ladwp.granicusideas.com/ideas/vent-if-you-must-but-be-willing-to-get-an-earful-1
https://www.tdedchangair.com/webboard/viewtopic.php?p=49644#p49644
https://butik.copiny.com/question/details/id/752687/comment/1771644#comm_1771644
https://pubgleak.com/index.php?/topic/8580-free-fire-mod-apk-159-hack-detail-comming-soon/
https://discuss.web3.university/thread/hot-51161
https://ext-6480271.livejournal.com/1032.html?newpost=1
https://www.vust.org/wall/forum/topic/4013?page=1#post-4487
https://www.rikoooo.com/fr/forum/topic?p=507345#p507345
https://feedback.kopernio.com/topic/834-the-collaborative-potential-of-human-ai-partnerships-chatgpt-as-a-writing-assistant
https://www.crpsc.org.br/forum/viewtopic.php?f=3&t=311082&p=2067270#p2067270
https://thebrainbin.org/m/technology@lemmy.world/t/106891/CEOs-say-generative-AI-will-result-in-job-cuts-in

답글 달기