앱 개발을 위한 IT 인프라 기초 지식 용어 3개
앱의 처리 기능은 어디서 실행되고, 기록과 파일은 어디에 남을까요? 실행·저장의 기초를 세 용어로 연결해요.
휴대폰에 앱을 설치했다고 모든 기능이 휴대폰 안에서만 돌아가는 것은 아니에요. 예를 들어 사진을 올리고 다른 기기에서 다시 보는 앱이라면, 요청을 처리할 환경과 기록·파일을 보관할 곳이 필요해요. 아래 3개는 이런 앱의 실행과 저장 구조를 이해하는 출발점이에요.
1. 클라우드란 무엇일까요?
컴퓨팅, 저장소와 네트워크 같은 자원을 서비스로 제공받는 방식이에요. 앱을 만들었다는 사실과 그 앱의 서버 기능을 어디서 실행할지는 다른 문제예요. 클라우드에서는 필요한 실행 환경과 관리형 기능 등을 선택할 수 있어요.
쉽게 비유하면
건물과 설비를 모두 직접 마련하는 대신, 필요한 공간과 운영 서비스를 선택해 빌리는 것과 같아요.
예를 들면 사진 업로드 요청을 받고, 사용자를 확인하고, 사진 정보를 저장하는 서버 기능을 클라우드 환경에서 운영할 수 있어요. 물리 장비를 직접 사지 않아도 되지만, 앱 설정과 권한·비용 관리는 여전히 필요해요.
클라우드를 쓴다는 것만으로 관리 범위가 정해지지는 않아요. 가상 머신을 빌려 운영체제부터 관리할 수도 있고, 앱 실행 플랫폼을 제공받아 운영 일부를 맡길 수도 있어요. 사용량과 서비스 구성에 따라 비용이 달라지므로 실행 환경과 저장·통신 비용을 함께 살펴요.
회의에서는 이렇게 "우리 팀이 직접 운영할 범위와 제공자에게 맡길 범위를 나누고, 예상 사용량으로 비용을 계산해 보죠."
2. 데이터베이스란 무엇일까요?
회원, 게시글과 주문 같은 정보를 체계적으로 보관하고 찾아 쓰는 데이터의 모음이에요. 데이터베이스 관리 시스템이 조회와 변경을 다뤄요. 앱에서는 누가 무엇을 만들었고 어떤 상태인지 같은 기록을 연결하는 데 많이 써요.
쉽게 비유하면
회원 명부와 게시물 장부를 식별 번호로 연결해 둔 자료실이에요. 조건에 맞는 기록을 찾아 보여 줄 수 있어요.
예를 들면 사진 앱의 데이터베이스에는 게시물 번호, 작성자, 설명, 공개 범위와 파일을 찾을 키 등을 저장할 수 있어요. "내가 올린 사진만 보여 줘"라는 요청이 오면 이 기록을 조회해요.
어떤 항목을 남기고 언제 바꿀지, 서로 다른 요청이 동시에 와도 규칙이 유지되는지 정해야 해요. 관리형 데이터베이스를 쓰더라도 데이터 구조와 접근 권한, 백업·복구 요구를 정하는 일은 남아요.
회의에서는 이렇게 "작성자와 공개 범위는 데이터베이스에서 관리하고, 조회할 때 사용자별 권한을 서버에서 확인하죠."
3. 스토리지란 무엇일까요?
데이터를 보관하고 다시 읽을 수 있게 하는 장치나 시스템이에요. 개발에서는 보통 프로그램이 종료돼도 남아 있어야 하는 저장소를 가리켜요. 디스크처럼 쓰는 방식, 폴더와 파일로 접근하는 방식, 키로 객체를 찾는 방식 등이 있어요.
쉽게 비유하면
물건을 보관하는 창고예요. 데이터베이스가 관리하는 게시물 장부와 연결해 원본 파일을 찾아올 수 있어요.
예를 들면 사진 원본은 객체 스토리지에 두고, 파일 키와 작성자 정보는 데이터베이스에 저장하는 구성을 사용할 수 있어요. 사진을 볼 때 서버는 권한을 확인하고 적절한 방식으로 파일 접근을 제공해요.
스토리지와 데이터베이스는 완전히 떨어진 개념이 아니에요. 데이터베이스도 내부적으로 스토리지를 사용해요. 다만 앱 설계에서는 기록을 조회·변경하는 역할과 큰 파일을 보관하는 역할을 나누어 설명하면 이해하기 쉬워요. 파일 삭제, 용량 증가와 복구 요구도 함께 정해야 해요. 복제된 저장소가 있다고 별도 백업과 복구 검토가 필요 없어지는 것은 아니에요.
회의에서는 이렇게 "원본 파일과 게시물 기록을 어떻게 연결하고 삭제할지 정하고, 잘못 지운 파일의 복구 가능성도 확인하죠."
사진 앱의 흐름으로 연결하기
| 상황 | 연결해서 볼 개념 |
|---|---|
| 업로드 요청을 받고 권한을 확인하는 기능 실행 | 클라우드 |
| 작성자, 설명과 공개 범위 기록 | 데이터베이스 |
| 사진 원본과 다른 파일 보관 | 스토리지 |
이 표는 한 가지 대표 구성의 역할을 나눈 것이에요. 클라우드는 실행과 저장 기능을 제공하는 방식, 데이터베이스는 조직된 기록을 관리하는 체계, 스토리지는 데이터를 보관하는 기반이라 서로 함께 사용될 수 있어요. 첫 설계에서는 무엇을 실행하고, 어떤 기록과 파일을 얼마나 보관할지부터 적어 보세요.