Infra

  • 인프라는 기반 시설/설계라고 할 수 있다.
  • IT 인프라는 시스템 구조 및 체계라고 생각하면 될 것이다.

인프라의 구성요소

  • 하드웨어 (HW) : 데이터를 저장하기 위한 스토리지, 전원 장치
  • 운영체제 (OS) : 컴퓨터의 HW+SW를 제어하여, 사용자가 컴퓨터를 쓸 수 있게 해주는 프로그램 (리눅스 커널을 통해 메모리 관리/ 파일 시스템/프로세스 관리를 제어할 수 있으며 사용자는 쉘(shell)이라는 인터페이스를 통해 명령어를 커널로 전달해준다)
  • 네트워크 (Network) : 여러 장비를 식별하기 위해서 네트워크 주소를 사용 (IPv4 VS IPv6)
  • 미들웨어 (Middleware) : 운영체제와 비지니스를 처리하는 애플리케이션의 중간에서 도움을 주는 소프트웨어들
    Web Server : 클라이언트가 보낸 HTTP 요청을 받아 웹 페이지에서 응답을 해주거나, 서버쪽에 서비스 메시지를 호출해주는 기능을 가진 서버 (Apache HTTP Server, Internet Information Services, Nginx)
    DBMS (데이터 베이스 관리 시스템) : 데이터 베이스를 관리하는 미들웨어. 데이터의 CRUD와 같은 기능과 트랜잭션 처리 등 많은 기능을 포함하고 있음 (Oracle Database, Mysql, PostgreSQL)

인프라 유형

  • 온프레미스 On-premises : 데이터 센터나 서버실에 서버를 직접 두고 관리하는 방식
  • 퍼블릭 클라우드 인프라 / 프라이빗 클라우드 : 여러 대상들에게 서비스 형태를 제공하는 시스템(사용자에게 원하는 옵션만 제공해주고 돈을 받는 형태)

인프라 관리

IT 인프라 관리란 리소스, 시스템, 플랫폼, 환경을 제어하는 것을 말한다.

  • OS 관리
    콘텐츠, 패치, 프로비저닝, 서브스크립션 관리를 제공하여 동일한 OS를 실행하는 환경을 관리

  • 클라우스 관리
    클라우드 관리자는 리소스 배포, 사용, 통합, 재해 복구를 관리하여 최종 사용자, 데이터, 애플리케이션, 서비스 등 클라우드에서 실행되는 모든 항목을 제어 할 수 있다.

  • 가상화 관리
    가상 환경과 그 기반이 되는 물리 하드웨어를 인터페이스로 연결해 리소스 관리를 단순화하고, 데이터 분석을 강화하며, 운영을 간소화한다.

  • IT 운영 관리
    비즈니스 프로세스 관리라고도 알려져 있으며 종종 반복되거나, 진행 중이거나, 예측 가능한 비즈니스 프로세스를 모델링하고, 분석하고, 최적화하는 방식이다.

  • IT 자동화
    직원이 IT 시스템과의 상호 작용을 대체하거나 줄일 수 있도록 반복 가능한 지침과 프로세스를 만듭니다. 인프라 자동화라고 한다.

  • 설정 관리
    컴퓨터 시스템, 서버, 소프트웨어를 적합한 상태로 일관되게 유지관리 한다.

  • API 관리
    엔터프라이즈 및 클라우드 전반에서 애플리케이션과 데이터를 연결하는 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)를 배포, 제어 및 분석한다.

  • 리스크 관리
    리스크를 식별하고 평가하며, 해당 리스크와 그 잠재적인 영향을 최소화하거나 제어하기 위한 계획을 세운다.

출처 개발자의 기본 - 인프라란?

클라우드 서비스?

간단히 말하면 외부의 집약된 컴퓨팅 자원을 활용하는 것, 외부의 컴퓨팅 자원을 빌려서 쓰는 것이라고 할 수 있음. IT 사업의 규모가 커지면서 사업이든 개인적인 활동이든 내가 물건을 구매하고 소유해서 사용하는 것보다는 빌려서 쓰는 것이 경제적으로 절감되고 안정적이기 때문.

대표적인 클라우드 플랫폼

아마존 웹서비스(AWS) 마이크로소프트 애저(MS Azure) 구글 클라우드 플랫폼(GCP)

종류

클라우드 구현 모델에 따른 분류

  • IaaS (Infrastructure as a Service)
    인프라스트럭쳐 서비스라는 뜻인데, 말 그대로 서버, 스토리지 등의 IT 인프라를 빌려주는 것.

  • PaaS (Platform as a Service)
    플랫폼 서비스라는 뜻인데, 앞선 인프라에 더해서 각종 소프트웨어 개발과 관리 도구를 빌려줌. 말 그대로 플랫폼을 빌려주는 셈.

  • SaaS (Software as a Service)
    소프트웨어 서비스라는 뜻인데, 처음에 인프라나 플랫폼을 빌려주는 방식이 없었을 때는 이 서비스 방식밖에 없음. 그러나 지금은 앞선 인프라와 플랫폼은 물론이고, 각종 소프트웨어 완제품을 웹에서 활용할 수 있다는 것. 웹에 접속해서 사용하며, 클라우드 저장 공간을 기본값으로 갖춘 마이크로소프트의 오피스 365 같은 서비스가 여기에 해당.

장점

  • 신뢰성 : 아마존이나 구글의 컴퓨팅 자원은 엄청나기 때문에 아무리 많은 트래픽이라도 감당할 수 있음. 그리고 다양한 소프트웨어와 개발도구, 관리 도구를 갖추고 있어서 믿고 활용할 수 있음.

  • 데이터 안정성 : 클라우드 컴퓨팅은 동일한 데이터를 중복해서 복사해둠. 그래서 하나의 서버가 문제가 생겨도 데이터를 완전히 잃어버리는 일이 없음.

  • 확대 안정성 : 서비스가 인기를 끌어서 사용자가 폭증하여도 부랴부랴 자원을 확대하느라 당황할 필요가 없음.

  • 경제적 효율성 : 앞서 말한 것처럼 트래픽이 기복이 있을 때, 안정적으로 서비스하기 위해서는 맥시멈의 자원이 필요한데, 클라우드 플랫폼을 이용하면 사용한 만큼만 비용을 지불하면 되기 때문.

  • 초기 투자 자본이 많이 들지 않음 : 고사양 컴퓨터의 하드웨어와 높은 수준의 기술력으로 만들어진 소프트웨어를 초기 투자 비용 없이 상대적으로 저렴한 가격에 이용할 수 있음.

단점

클라우드 컴퓨팅은 어쨌든 나의 데이터를 내가 가지는 것이 아니라 다른 업체에 맡기는 것. 관리자, 보안에 대해 완벽한 신뢰를 할 수 없다면, 클라우드 컴퓨팅을 활용하는데 늘 석연치 않은 감정을 느낄 수밖에 없을 것임. 그리고 무엇보다 클라우드 서비스의 장점이 양날의 검으로 다가올 수도 있음. 믿었던 클라우드 업체에 예기치 못한 사건사고가 벌어졌을 때 개인이나 기업의 입장에서, 나의 데이터나 서비스도 심각한 타격을 입는다는 것.

출처
[IT 상식사전] 클라우드 서비스가 주목받는 이유
클라우드 구현 모델에 따른 분류

더 알아보기

미들웨어란?

AWS


코딩 실력 향상을 위해 새 강의를 샀는데 아침에는 환경 설정 하느라
블로그 정리를 못해서 임시글로 저장해둔 다른 정보 포스팅 (나름 1일 1TIL 실천중)

아무래도 내가 먹고 살길은 코드 작성 밖에 없는 거 같다.. 여러 관계나 상황 속에서..
그냥 난 코더니까 내 본분을 다하는 게 좋은 거 같다. 코딩 열심히..

profile
필요한 내용을 공부하고 저장합니다.

0개의 댓글