[Daily Contents] System과 Infra
System
- 목적에 맞춰서 만든 체계
Infra
- (특정한 APP을 활용한 서비스를 운영하기 위해) 필요한 다양한 하드웨어나 운영체제, 미들웨어, 네트워크 등 시스템의 기반을 총칭
- IT 인프라 = 시스템들의 기반 체계
Infra의 4대 구성 요소
- 하드웨어
- 운영체제
- 네트워크
- 미들웨어
- 운영체제와 소프트웨어, 소프트웨어와 소프트웨어 간에 통신, 중재하는 역할을 하는 소프트웨어.
- 상황에 따라 시스템에 편입되기도 하고, 인프라에 편입되기도 함
- 가장 흔하게 접하게 될 미들웨어는
웹서버
,웹 애플리케이션 서버(WAS)
,DBA(Database Management System)
,Nginx
등
- 사용자는 인프라가 어떻게 구성되어 있는지 딱히 느끼지 못한다!
Legacy
는 뭘까?
- 오래된 시스템
- 구성 시스템
- 현재는
AWS
,Azure
와 같은 가상화 시스템이 우세하고 있는 상황. 기존의 물리적인 서버를 가지고 있는 업체들은 기존 물리 서버를 활용하면서 시스템의 확장을 고려해야 한다. 반면에 신규 서비스를 만들 때는 물리 서버를 구축할 필요 없이 클라우드로 서버를 구축하면 되겠다!
- 현재는
System과 Infra의 관계
Q & A
SSAFY의 Infra를 어떻게 사용할 수 있나요?
- 서버는
Amazon EC2
, 운영체제는Ubuntu
, 공개망으로 제공됨 - 여러분의
Application
을Infra
,System
에 올리기만 하면 돌아갑니다.
Application
은 시스템이 아닌가요?
System
과는 구별되는 개념- 채팅 시스템을 구현했다고 생각해 보자!
- 카카오톡, 매터모스트처럼 다른 애플리케이션이 올라가도 서비스는 가능하다.
Application
에 사용될 뼈대라고 생각하면 될까?
아키텍쳐가 아닌 개발자라도 시스템 인프라를 체계적으로 파악했을 때와 파악하지 못했을 때 더 효율적인 개발이 가능할까요?
- 시스템, 인프라는 지금은 SSAFY에서 제공해주지만 사실은 굉장히 넓은 영역
- 조금이라도 흐름을 알아두면 프로젝트를 조금 더 짜임새 있게 설계하는 데에 도움이 되지 않을까?
- 회사에 가면 인프라 팀이 있어서 인프라를 개발할 일은 적지만, 인프라를 이해하고 개발하는 것과 이해하지 못하고 개발하는 것은 차이가 있음!
jvm
도 미들웨어인가요?
- 그렇다고 볼 수 있다. 직접 다루는 게 아닌, 자바를 설치하면 알아서 동작하도록 도움을 주기 때문
인프라 공부에 순서가 있을까요?
- 순서는 없다. 프로젝트를 만들었을 때 모르는 것들을 만나면 그때그때 공부해보자!
설계도 작성 시 시스템과 인프라를 구분해서 나타내주어야 할까요?
- 보통은 시스템 설계도, 인프라 설계도 따로따로 작성한다. 다들 잘 모르기 때문에… 알고 있다면 강점이 될 것
Django
는 웹 애플리케이션 프레임워크던데 미들웨어인가요 서버인가요?
Django
를 실행하려면python
이 필요하기 때문에,python
을 미들웨어로 보는 게 맞다.python
위에Django
라는 프레임워크와 프레임워크로 만든 나만의 앱이 있는 것- 미들웨어는 개발을 도와주는 도구라고 생각해보자!
서버 인프라에서
ubuntu
와centos
를 선택하는 기준이 있을까요?
- 국내에서는
centOS
가 많았지만 지원이 중단되면서 2021년 중반부터는ubuntu
로 많이들 옮기고 있다.
댓글남기기