회사 인프라 교육을 받게 되어 서버, 네트워크, DB 등의 전반적인 내용을 간략하게 이해할 수 있었다.
포스팅은 우리 회사 기준으로 작성하여 모든 회사가 같진 않지만
조금은 일반적이고 전통(?)적인 금융권 인프라
의 구성이라고 생각하면 좋을 것 같다. (대외비를 해치지 않는 선에서만)
들어가기 앞서...
Infra란?
서비스 및 플랫폼을 개발하기 위해 필요한 모든 자원을 관리하는 기반
"만약 내가 웹 홈페이지를 만들었다면, 홈페이지가 올라갈 서버가 필요하다. (모든 웹 서비스는 서버 위에서 동작한다.) 서버는 나의 컴퓨터에서도 가능하지만, 많은 자원(CPU, Memory)을 소모하며 외부적, 내부적 요인으로 인해 컴퓨터가 종료될 수도 있다.(정전이나 실수로 본체에 싸커 킥을 날리거나) 또한 서버에서의 자료들을 저장할 데이터베이스 공간도 필요하고 인터넷으로 나가기 위한 네트워크 등 하나의 웹 홈페이지를 유지하기에는 개인 PC로는 무리가 있다. 그래서 작은 기업들은 회사 전산실에 서버,네트워크,DB,스토리지 장비들을 구성하여 서비스를 운영하는 것이고, 큰 기업들은 데이터센터(Data Center)를 운영한다.
"데이터센터의 전산실은 큰 규모의 서버, 네트워크, DB, 스토리지가 랙 안에 들어있다. 랙안의 장비 가격에 따라 천차만별이지만 최소 수천만~억대의 가격을 자랑한다. 정리하자면, IT인프라는 서비스를 운영하기 위한 IT 리소스(서버, DB, 네트워크, 스토리지 등)를 구축하고 운영하기 위한 모든 개념을 통칭한다. SI 업체들이 주로 하는 일은 고객사의 새로운 서비스 구축을 위해 고객사의 IT 인프라를 설계하고 구축하고 운영해주는 역할을 수행한다(논리적으로 설계하고 물리적으로 설치하고 논리/물리적으로 운영하는 일) 추가적으로, 이렇게 데이터센터 및 전산실에 장비가 위치하고 서비스를 운영하는 구조를 온-프레미스 구조라고 하고 회사가 데이터센터나 전산실을 임대하지 않고 외부업체(아마존AWS, Microsoft Azure)의 자원을 빌려다 쓰는 것을 클라우드 구조라고 하며, 이 둘이 혼합되어있는 형태를 하이브리드 클라우드 구조라고 한다.
요즘은 하이브리드 클라우드와 클라우드 구조로 전환하는 추세이다.요즘 쿠키런 킹덤을 하는데 장애가 났었다. 아마존AWS에서 에어컨이 고장 나서 DB장비가 몇 대 죽었다고 한다. DB장비 죽으면 데이터 복구하고 막 답도 없다. 아주 큰 장애였다. 하루넘게 점검하고 그랬다. 덕분에 나는 크리스탈 5000개를 벌었지만..
출처 - IT 인프라 쉽게 설명하기
비교와 참고를 위해 작년에 적어둔 포스팅, 그외 찾은 자료 링크
1) IDC 센터 : 서버, 네트워크, 보안장비, UPS, 항온항습, 통합관리 / 주센터와 DR센터
2) 시스템/네트워크 구성도
3) IDC 장비 현황
4) 서버 장비 현황
5) IDC 지원 업무 : 장비 반입/출 지원, 폐기 지원, Part 장애, 인프라 장애
6) 서버
: 안정적인 서비스 운영을 제공하기 위한 컴퓨팅 장치
7) 스토리지
: 서비스 운영 시 발생하는 대량의 데이터를 안정적으로 보관하는 장치
8) H/W 구성도 : 2022년 UNIX > LINUX 교체, 서버 이중화, 계정계DB/AP서버
9) 개발망 : VM(물리서버 위에 OS/솔루션 탑재, 가상화 서버), 서버 리소스 효율화
10) 백업망 : 데이터 중요(백업)
11) 서버 이중화 솔루션
12) 파일 암호화 솔루션 : 디렉토리에 대한 암호화 접근 제어, 권한 설정 (전자금융 WAS, 마이데이터 AP, 전자계약, 녹취, 비대면영상 등 다양한 범위)
13) 백업 솔루션 : 소산정책 - 금고보관
네트워크 기초 지식 : 공인 IP와 사설 IP 차이
1) 구조 : 예) 외부망 VPN -> IDC -> 백본 -> SSL -> 방화벽 -> 인터넷 또는 유해 차단
2) 방화벽 : White List/Black List, 출발지 - 목적지 (대고객? - 대외계?)
3) DR센터 구성도 : 동기화 시간
4) L4 : 로드밸런싱, 부하 분산 방식
5) 대외기관 연동
6) SSL VPN
1) WEB(웹서버) : 흔히 아는 정적리소스 프로세스, 로드밸런스, 프록시, 보안 등
2) WAS(웹어플리케이션서버) : 비즈니스 로직 프로세스
3) 아키텍처
4) 계정계 재기동 방법론
5) Sparrow : 소스 취약점 진단 솔루션 (정부 권고 사항)
6) Control-M : 주기적 수행 배치 관리
7) Control-M 모니터링 : 배치 사이클
8) 배치 신규 등록/변경 : 실행 관련 정보
9) 배치 중단/재수행
10) 제니퍼 솔루션 : APM, 쿼리 수행-에러 체크, 데이터 모니터링(서비스 통계자료)
11) FRISM 솔루션 : 배포 솔루션
12) 권한 신청 : 개발자 권한, 레파지토리 권한, 배치 에러 SMS, Sparrow, GitLab 등
1) DBMS : Oracle (80%), Tibero, PostgreSQL, MySQL, MSSQL 사용중
2) 데이터 표준 및 Object 관리 : 표준단어, 도메인, 표준용어
3) 원장 변경 : 운영 데이터 변경, delete/update 요청 시 처리 검수, 검증 쿼리, 대량 작업, Table Row Rock 등
4) SQL 튜닝 : DB 처리 성능, 장애 예방 부하 쿼리, 개선 포인트 관리
5) DBA 당부 사항 : 수행 결과 값에 대해서 buffers가 전체적으로 많이 나타나는 부분에 대해 SQL 분석 (개발자 셀프 점검)
1) 전화시스템 : 주센터/DR센터, 본사, 영업점, 콜센터 등등...
2) CTI시스템
3) IVR시스템
4) 녹취시스템
5) PC 일반영역(C,D,E 드라이브) / 문서중앙화 서버보안영역(W 드라이브)
6) 프로젝트 관리영역 (외주 프로젝트 진행 시 산출물 관리)
7) adLockDown : PC 권한 제어 (정책 업데이트, 보안 승인)
작년 카카오의 눈물의 컨퍼런스(...)로 인해, 인프라가 그만큼 주목받은 일은 없었을 거 같다.
현재는 내가 있는 본부와 층이 달라서, IT 인프라를 관리하는 운영실 분들과는 거의 SR이나 전화, 메신저 등으로만 소통하기 때문에 뵐 일이 잘 없는데(난 퍼블리셔라 아무래도 방화벽 해제나 권한 신청 할 때, 퍼블리싱 산출물 서버 올릴 때 에러 나면 등등 말고는..?) 개발자면 인프라와도 소통할 일이 꽤 많을 것이다.
장애가 나지 않게 항시 점검하는 것뿐만 아니라 개발자에게 제약이나 가이드라인을 줘야하는 부분도 있어 통솔력도 어느 정도 필요한 직군이라는 걸 느꼈다.. (중학교 때 난 콘서트장에 자주 가곤 했는데, 열광하는 관람객들을 정돈하기 위해 강한친구들이라는 경호업체가 늘 둘러 싸고 있었다. 인프라 엔지니어는 딱 이런 느낌..?)
p.s 개발자는 아닌데 개발을 공부하는 나에게 친구가 장난으로 "서울역 노숙자가 국제정세를 논하는 것과 같다"고 놀렸다....ㅋㅋㅋ