
AI 모델 개발 후 접근 가능한 유저 인터페이스를 생성해야 한다.
유저 인터페이스와 AI 모델이 연결되게 해야 요청을 보내고 응답을 받을 수 있다.
예를들어, chatGPT에서도 질문을 입력하면 chatGPT AI 모델 서버로 전달이 된다.
내용을 통해 결과를 내고 그 결과는 다시 서버를 타고 우리 컴퓨터로 응답된다.
서버를 통해 요청을 보내고 받는 동작은 운영 환경에서 이뤄진다.
따라서, 클라이언트가 요청했을 때 응답할 수 있는 서버를 구성하는 infrastruture를 구성해야 한다.
시스템 운영의 기본은 네트워크이며, 단독형은 클라우드에서 사용하기 어렵다.
단독형 시스템은 컴퓨터 또는 노트북 등이 될 수 있다.
단독형은 사용한 가능한 특정 일부에서만 사용하거나 나만 사용할 수 있다.
요즘에는 단독형 시스템을 거의 사용하지 않고 네트워크형이 사용된다.
하지만, 보안이 중요 시 되는 곳에서 사용할 수 있다.
예를 들어, 외부와 차단되어 자재 관리만 하는 공장 같은 곳에서 사용할 수 있다.
네트워크형 시스템은 Server와 Client로 구성되어있다.
요청 정보에 대한 처리(응답, response) 를 수행하는 컴퓨터 또는 프로그램, 항상 요청 대기 상태를 유지
서버는 항상 요청 대기 상태이며, 사용자(Client) 요청 시 응답하고 다시 대기하는 과정을 반복한다.
개발이나 테스트를 구성한다는 것은 서버를 구성하는 것이다.
Server에게 요청을 수행(요청, request) 하는 컴퓨터 또는 프로그램, 필요시에 Server에 연결하여 요청하거나 항상 Server에 연결 상태를 유지
서버 한 대가 백명의 클라이언트를 대응할 수도 있는데,
로드 밸런서(분산)을 사용하여 서버 세대로 백면의 클라이언트 요청을 대응할 수도 있다.
서버는 확장 가능성 품질을 유지하기 위해 단일 서버로 할 것인지 아니면 로드 밸런서를 이용한 다중서버를 할 것인지, 로드 밸런서 뒤에 오토 스케일을 붙일 것인지 고민할 수 있다.
클라이언트는 웹 서버를 제공하는 경우가 많아 웹 브라우저를 사용하는 경우가 많다.
다수의 client 접속시에도 제대로 동작할 수 있는 환경으로 구성
웹 서비스 - 웹 서버
데이터베이스 서비스 - 데이터베이스 서버
파일 서비스 - FTP 서버, 파일 서버
메일 서비스 - 메일(SMTP) 서버
기타 서비스 - 기타 서비스를 제공하는 Server 프로그램
서비스 제공 시 프론트엔드와 백엔드라는 2가지 유형이 필요하다.
프론트 엔드는 클라이언트 웹 브라우저 상에서 동작하는 프로그램이고
백엔드는 서버 환경에서 동작하고 클라이언트 요청에 의해 응답한다.
실제 서비스를 제공하기 위한 인프라, 서버 환경을 구성하고 백엔드 프로그램을 작성하게 된다.
서버를 만드려면 네트워크에 연결되어 있어야 함
Apache/NginX web server 프로그램
동시 접속 1000명까지 가능하게 구성
단독으로 인터넷에 연결
일반 client 접속 domain
개발자( 관리자 ) 접속 domain

구름 그림은 인터넷에 연결된 공용 네트워크를 표현한 것이다.
인터넷 연결이 되어있지 않다면 사설 네트워크가 된다.
클라이언트가 요청하면 인터넷에 연결된 공용 네트워크를 통해 웹 서버에서 응답하고 전달된다.
서버를 구성하기 위해서는 서버가 설치되어야 하는 환경을 준비해야 한다.
이 환경에서는 하드웨어, 운영체제, 네트워크 설정 등이 포함된다.
요즘 애플리케이션과 웹 서비스는 웹 브라우저를 통해 접근되므로 웹 서버는 필수적으로 설치되어야 한다.
웹 브라우저는 사용자 인터페이스를 제공하고, 사용자가 입력한 URL을 통해 웹 서버에 요청을 보낸다.
웹 서버는 요청을 처리하고, 웹 페이지나 데이터를 반환하여 브라우저에 표시한다.
따라서, 웹 브라우저로 웹 페이지를 접속하려면 웹 서버가 필요하다.