본문 바로가기

더 괜찮은 개발자가 되기위한

(39)
프로젝트로 알아보는 보다 나은 시스템 만들기(개요) [프로젝트로 알아보는 보다 나은 시스템 만들기] 과정을 시작하며 필자는 이 과정에서 정보시스템 개발과 운영에 관련된 다양한 업무와 기술을 프로젝트라는 틀을 빌려 설명하고자 한다. 처리해야하는 업무와 처리하기 위해 필요한 기술 그리고 담당자를 기계 부품이라 생각한다면 프로젝트 관련 지식들은 기계를 잘 돌아가게 하는 기름과 같은 존재이다. 대부분 자료들이 기계 부품에 대해 잘아는 것이 중심이라며 이 과정에서는 기계 부품에 대한 설명뿐만 아니라 어떻게 하면 기계가 고장 없이 잘 작동할 수 있는지 설명하고자 한다. 프로젝트가 기획서라는 문서에서 출발해 거대한 시스템으로 탄생하기까지 모든 과정을 누가, 무엇을, 언제, 어떻게 해야 하는지 사례 중심으로 쉽고 자세하게 알아보자.다음과 같은 사람에게 본 과정을 추천하..
시스템운영에 필요한 운영체제 지식 □ 시스템운영에 필요한 운영체제 지식 ○ 윈도우와 리눅스 윈도우와 리눅스 윈도우는 그래픽 기반의 운영체제이다. 명령을 실행할 때는 직업 명령어를 입력하지 않고 마우스로 아이콘을 클릭한다. 반면에 유닉스 운영체제는 텍스트 기반의 운영체제이다. 물론 엑스 윈도우와 같이 그래픽 기반의 화면을 제공하지만 대부분의 작업은 텍스트 모드에서 진행된다. 작업을 수행하기 위해서는 명령어를 직업 손으로 입력해야 한다. 많은 프로그래머들이 윈도우 환경에 익숙해져 있으므로 개발 환경을 윈도우 기반의 데스크탑이나 노트북에 설치해서 프로그래밍을 한다. 개발이 완료된 후에 운영 환경의 웹서버가 설치되어 있는 유닉스로 프로그램을 전송한다. 사용자 편의성과 지원되는 다양한 개발 도구 측면에서 윈도우가 유닉스 보다 우수한 측면이 많다...
시스템운영에 필요한 보안 지식 □ 시스템운영에 필요한 보안 지식 ○ 네트워크 보안장비 네트워크 보안장비 종류 네트워크 보안장비는 네트워크 트래픽을 통해 유입되는 공격을 사전에 예방하거나 실시간 차단하는 시스템이다. 방화벽, IDS, IPS로 각각 발전했으나 최근에는 각각의 기술이 통합하는 추세로 보안장비의 경계가 모호해지고 있다. 모든 네트워크 보안 장비를 구입하기 어려운 중소 기업의 경우 세 가지 기능을 모두 지원하는 UTM(Unified Threat Management)의 도입이 증가하는 추세이다. 최근에는 방화벽, IDS, IPS에서 나오는 데이터를 통합 모니터링하고 관리하기 위해 ESM(Enterprise Security Management) 도입이 증가하고 있다. • 방화벽 방화벽(출처: https://www.cisco.co..
시스템운영에 필요한 네트워크 지식 □ 시스템운영에 필요한 네트워크 지식 ○ TCP/IP 프로토콜 TCP/IP 프로토콜은 인터넷의 기반을 이루는 전 세계적으로 가장 많이 사용되는 통신 프로토콜이다. 패킷 통신을 담당하는 IP(Internet Protocol)과 전송 조절을 담당하는 TCP(Transmission Control Protocol)로 구성된다. 두 개체가 TCP/IP를 사용해서 통신을 하기 위해서는 먼저 연결(Connection)을 맺어야 한다. 연결을 위해서는 연결 데이터를 여러 차례 교환하는데 이것을 핸드쉐이킹(handshaking)이라 하며 모두 세 번에 걸쳐 데이터가 전송된다고 해서 3 way handshaking이라고 한다. TCP/IP 프로토콜은 데이터 전송의 신뢰성을 보장하기 위해 재전송 타이머, 체크썸, 중복 데이..
시스템운영에 필요한 인프라 지식 □ 시스템운영에 필요한 인프라 지식 ○ 시스템 구성도시스템 구성도 기업의 정보시스템을 한 눈에 확인할 수 있는 시스템 구성도를 알아보자. 시스템 구성도는 시스템의 배치와 연결관계를 아이콘과 선을 이용해서 구조화한 그림이다. 중소규모의 기업에서도 수 십 개의 장비가 복잡하게 얽혀 있기 때문에 시스템 구성도를 그려놓지 않고서는 현황을 파악할 수 없다. 일반적으로 시스템 구성도는 시스템관리자나 네트워크관리자가 보관하고 있다. 프로그래머 입장에서도 내가 운영하는 시스템이 전체 구조에서 어디에 위치에 있는지 알고 있는 것이 좋기 때문에 자료를 요청해서 가지고 있는 것이 좋다. 위 그림에서도 만만치 않은 양의 장비가 구성도에 들어 있다. 한꺼번에 모든 기능을 이해한다는 것은 쉬운 일은 아니지만 시스템 운영에 필수적..
정보시스템 운영하기 □ 정보시스템 운영하기 프로젝트가 완료되면 시스템은 운영 단계로 들어가게 된다. 시스템 구축 만 전문으로 하는 프로그래머에게는 운영이라는 단어가 조금 생소하게 느껴질 지 모르지만 운영에 대한 전반적인 업무와 기술을 이해하고 있어야지만 좀 더 유지보수가 쉽고 생산성이 높은 프로그램을 만들 수 있다. 운영 업무를 담당하는 프로그래머 또한 운영에 필요한 전반적인 기술을 잘 알지 못하는 경우가 많다. 기업에서는 개발, 운영, 시스템관리, 보안 등 업무가 분리되어 있기 때문에 자신의 분야가 아닌 분야에서 어떤 일을 하고 어떤 기술이 필요한지 잘 알지 못한다. 하지만 시스템 장애가 발생할 경우 원인 파악을 위해서는 내가 운영하는 시스템과 연관된 시스템 사이에 어떤 장비가 있고 어떤 경로를 통해 정보를 주고 받는지 ..
프로젝트 검수 □ 프로젝트 검수 ○ 검수 프로세스 검수 프로세스 검수 프로세스는 수주사와 발주사 사이에 공문을 주고 받으면서 진행된다. 수주사 측에서 먼저 완료보고서와 최종 산출물이 포함된 준공완료 공문을 통해 검수 요청을 한다. 일반적으로 검수 요청 문서를 접수한 후 2주 내에 검수를 완료해야 하기 때문에 공문을 보내기 전 충분한 사전 교감을 발주사와 가져야 한다. 발주사 측에서는 준공완료 공문을 접수하고 가장 먼저 최종 산출물을 검수한다. 실무적으로는 준공완료 공문을 보내기 전에 비공식적으로 최종 산출물을 발주사에게 먼저 보내고 사전 검토를 받은 후 공문을 발송한다. 산출물 검수가 완료됐다면 검수조서를 작성하게 되는데 여기에는 업무 담당자와 전산 담당자가 검수를 완료했고 이에 대한 책임을 진다는 서명이 담겨있다. ..
서비스 시작 □ 서비스 시작 ○ 운영 환경 전환 작업 테스트가 완료됐으면 이제 시스템을 운영환경으로 옮겨야 한다. 얼핏 보기에 테스트 서버에 있는 데이터를 그대로 옮기면 될 것 같지만, 개발 환경과 운영 환경은 시스템 소프트의 버전과 제품이 다를 수 있고 서버 사양이 다르기 때문에 생각보다 어려운 작업이 될 수 있다. 운영 환경 전환 절차 일반적인 운영환경 전환 절차는 5단계로 나뉜다. 먼저 데이터베이스를 이전해야 한다. 개발 환경에서 생성한 테이블, 인덱스, 함수, 프로시저, 스케쥴러 등 데이터베이스와 관련된 프로그램을 운영 환경에 생성한다. 그리고 시스템에서 필요한 코드를 개발서버에서 이관하거나 추가로 생성해야 한다. 이제 좀 더 시간과 노력이 필요한 데이터를 이관 작업을 준비해야 한다. 데이터는 데이터베이스에 ..