목차
1. 서버관리 - 물리
2. 서버관리 - 논리
3. 데이터경영
4. MSA(Microservices Architecture Components)
5. 기타
About 서버 트렌드
IT 트랜드
- 하드웨어
- 서버
- 반도체
- 소프트웨어
- 개발
Q. 서버가 발전해야 개발이 발전한다? or 개발이 발전해야 서버가 발전한다?
=> '사회초년생이 학습할 때'와 '실무에 적용할 때'의 차이점을 확실히 알려면 이 내용을 확실히 짚고 넘어가야 한다.
A. 대부분의 사람들은 서버가 발전해야 개발이 발전한다 라고 생각한다.
=> Why??
스마트폰이 있기 때문에 네이버가 스마트폰을 기반으로 무언가를 만들어냈다.
그래서 기본적으로 서버가 발전을 해야 개발이 발전을 한다고 생각한다. So, 서버에 대한 관점으로 IT 트렌드를 풀어나갈 것이다. 서버를 과거, 현재, 미래의 관점으로 봄으로써 IT가 어떤 필요성에 의해 발전이 되고 있는지 이해 할 수 있다.
1. 서버관리 - 물리
먼저, 서버가 뭔지 정확하게 알아야한다.
Client: 요청을 하는 입장
Server: 전달해주는 입장
=> 클라이언트도 될 수 있고 서버도 될 수 있기에 상대적인 개념에서 보면 된다.
(보통 서버가 코드를 클라이언트에게 전달)
네트워크에 연결된 사람의 하루 상호작용 횟수
서버 트랜드를 설명할 때 봐야할 것은 이 표이다.
서버 (를 말할 때는 횟수만 따지고 얘기한다.) (양과 무게가 아님)
트래픽=트랜잭션 (트래픽은 트랜잭션과 같은 의미로 보면 된다.)
횟수 (트랙픽, 트랜잭션은 횟수를 의미한다.)
iops (iops를 들어본 적이 없다면 실무를 아직 접해보지 못 했다는 것)
=> input + output per seconds (1초당 서버에 들어오는 것과 1초당 서버에서 나가는 것을 합쳐 놓은 것)
*임의로 나눈 것!
1세대(1990~2005): 직접 구매
: 서버가 많이 필요하지 않았을 시점/누군가 담배를 피고 스프링쿨러가 돌게 되면... 망~
* IT는 한 명의 천재에 의해 발전이 되는 것이 아니라 보통 집단지성의 힘으로 발전이 된다. So, 이 상황을 해결하기 위해서 어떻게 해야할까 상식적으로 생각해보라! 그럼 그게 정답이다.
2세대(70%): 임대 (2세대는 now)
:on-premise/on-prem/intergration data center/IDC/통합데이터센터
* 실무자를 보통 IDC라고 말한다.
원래 DB 백엔드 => 서버를 관리하는 것
이 서버가 어디에 있느냐에 따라서 관리방법이 완전히 다르다.
3세대(30%): 클라우드
: 원격으로 조종하기 위해 console이라는 것을 만들었다.
console은 현존하는 가장 발전된 네트워크에 넣어준다. => web console
web console이 다른게 아니라 AWS에서 볼 수 있는 화면이다.
질문) 경력직이 신입을 뽑는 이유가 무엇입니까?
정답) 사람이기 때문에 새로운 것을 하기 싫을 것이다. 대부분의 사람들이 하던걸 하고 싶어한다.
회사 입장에서 신기술을 안 쓰게 되면 유지보수도 안 되고 트렌드에 뒤쳐지기 때문이다
회사는 신기술이 나오게 되면 가능한 한 빨리 전환을 해서 비용적 측면에서도 이득을 보고 싶어하고 좋은 인력풀을 유지하고 싶어한다.
이를 진행하기 위해서 회사에서는 클라우드에 관심있는 신입사원을 뽑게 된다. 위기의식을 느낀 경력사원들은 공부를 하게 되고 이는 신입사원을 뽑는 유일한 이유이다. (경쟁의식?뒤쳐지지 않아야겠다는 마음?)
Q. 클라우드 전환 사업을 하고 있는 회사는 IDC를 사용하고 있다고 보면 되나?
A. [클라우드 전환 방식 2가지]
1) 기존에 있던 것을 환경만 클라우드로 옮기는 것/전환은 로직을 건들 필요없음
2) 시스템을 아예 새로 만드는 것/클라우드에 최적화된 상태로 첨부터 만드는 것
2. 서버관리 - 논리
1세대: 한 대로 쓰기/용도별로 분리하기
물리적으로 한 대이지만 논리적으론 3대라고 볼 수 있음
3-tier (3-tier에 들어본 적이 없으면 엔지니어가 어떤건지 모른다는 것/설명가능하면 잘 알고 있다는 것)
Web server
- 깡통: IDC, 클라우드
- OS: 리눅스
- 프로그램: apache
- 파일: html, css
Application(무언가 연산을 하는 것)
web application server[WAS]
- 깡통: IDC, 클라우드
- OS: 리눅스
- 프로그램: apache, nginx
- 파일: javac, py...
DataBase[DB]
- 깡통: IDC, 클라우드
- OS: 리눅스
- 프로그램: mysql, oracle, mongoDB...
- 파일: sql
결론) 서버가 3가지 역할을 하는게 지금은 일반적인 이야기이지만 옛날에는 서버에 대한 요구사항이 거의 없었기 때문에 3가지 역할을 하나의 서버가 감당했다.!
https://minhee0327.gitbook.io/mini-til/undefined/02.-1-tier-2tier-3tier
2세대: 복제해서 확장하기/Ansible vagrant chef puppet
log로 전달
데이터를 처리할 때 핵심
많은 데이터를 정확하게 분석하는 것도 중요하지만 얼마나 빠르게 반응 할 수 있냐! 즉, 속도가 데이터 분석의 핵심이다.
분산 처리할 때 어떤 방식(log로 전달, 클라우드 사용, 한 대에서 처리 등)을 사용할지에 따라 매우 다르다.
3세대: kubernetes = k8s, docker, eks
쿠버네티스 마스터: 트래픽을 받아줌/일하지 않고 이 일을 누가 처리해야하는지 분류만 해주기 때문에 빠름
YAML[야믈]: 구체적인 설정들을 사람이 직접 야믈 파일에 수동으로 남겨줘야한다.
4세대: 서버리스/클라우드컴퓨팅
진짜 서버가 없는게 아니고 클라우드 안에 슈퍼컴퓨터 안에 갖다놓음
사용자는 처리해야할 것만 보내주고 서버리스 컴퓨팅을 결과값만 내놓기 때문에 서버를 관리할게 없는 것처럼 보인다.
4세대가 기술적으로 완성되진 않았다.
서버리스 컴퓨팅은 기술력의 한계로 파이썬 중에서도 아주 간단한 것만 할 수 있음.
3. 데이터경영
학술적으로는 10년 전에 등장
고객이 요구하는 돈이 되는 세상이 되었음
데이터는 분류 분석도 중요하지만 시각화도 중요하다.
4. MSA(Microservices Architecture Components)
개발자 100
개발 1팀~개발 10팀
애자일
묶여있으면 공부를 해야하고, 묶여있지 않으면 유행이다.(ex. 메타버스)/트렌드를 보고 직무를 선택해라.
5. 기타
분리된 서비스의 통합 관리 방안 수립
https://www.samsungsds.com/kr/insights/1239180_4627.html
100% 이해는 불가능해도 한 번도 못 들어본 것과 어디서 들어봤는데의 차이는 천차만별이기에 읽어보는 것이 좋다.
[배포에 관해서]
Q. 수정한 후 배포를 해야 적용이 되는가? 실시간 배포 기능이 있는가?
A. 배포라는 의미가 수정한 것을 반영한다는 의미를 뜻하고 실시간 배포하는 기능은 없다.
배포는 정확한 시점에 계획적으로 맞춰서 하는게 맞다.
[기획에 대해서]
한번 읽어보기!
[DB 백엔드와 Spring의 차이]
DB 관리 = 서버 최적화
Spring = 로직 최적화/로직을 개발하는 언어라고 보면 된다.
'알아두면쓸데있는신기한잡학사전 > 직무부트캠프' 카테고리의 다른 글
[AWS] 웹 서버 만들기 복습(1. 네트워크 설정) (0) | 2022.08.07 |
---|---|
[AWS] 웹 서버 지우기 복습 (0) | 2022.08.07 |
[직무부트캠프] 2주차 과제(웹 서버 배포) (0) | 2022.08.01 |
[직무부트캠프] 1주차 과제(웹페이지 기획하기) (0) | 2022.07.26 |
[직무부트캠프] 1주차 과제(AWS 계정 만들기, 웹 서버 만들기, EC2 추가기능 사용, 리소스 삭제, 웹 페이지 기획) (0) | 2022.07.22 |