반응형
백엔드란?
- 프론트엔드는 폭넓은 의미로는 사용자가 서비스를 이용할 때 쓰게 되는 웹, 앱 등을 의미
- 백엔드는 서비스에 필요한 모든 데이터를 저장하고 다루는 공간
- 많이 사용하는 서비스들을 이용한 예
- 네이버 - 회원가입한 유저들 데이터, 웹툰 데이터들, 카페 데이터들, 블로그 데이터들 등 수많은 데이터
- 카카오톡 - 유저 데이터, 유저가 들어간 채팅방 데이터, 유저의 친구들 데이터 등 서비스에 필요한 많은 데이터
- 백엔드는 서비스에 필요한 데이터들을 저장하고 클라이언트(사용자, 관리자 등)에게 알맞게 데이터를 가공하는 역할
- 데이터를 가공한다는 것은 원형의 데이터들을 목적에 맞게 가공하는 걸 의미
- 데이터들을 바탕으로 목적에 맞게 데이터들을 끌어와서 필요없는 건 빼고 필요한 건 살리는 작업
백엔드의 구성
- 프론트엔드는 보통 웹, 앱 등 특정한 프로그램을 하나 개발하면 되는 반면 백엔드는 여러가지 서버 프로그램들이 유기적으로 연결되어 있음
데이터베이스
- 데이터베이스는 서비스에 필요한 데이터를 저장하는 역할
- 온라인 클래스를 제공하는 서비스라면 데이터 중에 클래스 관련 정보들을 저장하는 데이터베이스가 존재
- 데이터베이스도 데이터를 제공하는 서버이므로 즉, 하나의 서버 프로그램이고 운영체제(OS) 위에서 동작함
- 데이터베이스는 서비스에 필요한 중요한 정보들이 전부 들어으므로 철저하게 보안 유지 필요
- IT 회사에서 데이터베이스가 해킹 당하는 경우, 회사의 모든 중요한 정보가 유출 됨
- 데이터베이스에서 직접 정보를 가져올 수 있는 주체 제한 필요
API 서버
- 기본적으로 데이터베이스는 웹, 앱을 사용하는 클라이언트는 접근을 막는 대신에 클라이언트에게 대신 데이터를 전달해주는 API 서버에게는 연결을 허용해줌
- 보통 데이터베이스는 외부 클라이언트의 네트워크 연결을 하지 못하도록 방화벽을 설정
- 보안을 위해서 데이터베이스에 접근할 수 있는 건 API 서버(WAS 서버), 서비스 관리자 등으로 한정함
- 이 때 보통 특정 IP주소를 허용하는 방식으로 데이터베이스 연결을 관리
- 위 사진처럼 API 서버는 데이터베이스의 데이터들을 가공해서 클라이언트에게 전달하는 역할을 함
- API 서버에는 다양한 API 요청을 처리하도록 개발됨
- 위 사진처럼 로그인, 상품 정보 받아오기 등 다양한 요청을 처리할 수 있도록 백엔드 개발자가 API 서버 개발을 함
- 프론트엔드(웹, 앱)에게 데이터를 제공하는 API 서버를 WAS(Web Application Server)라고 하며, API 서버가 조금 더 넓은 개념이고 WAS는 프론트엔드에게 데이터를 건네주는 서버를 한정지어서 얘기함
파일 스토리지
- 스토리지 서버: 이미지 등의 파일들을 전문적으로 저장하는 서버로 파일들을 저장한 후 URL 주소를 통해 다운을 받는 방식
- 대표적으로 우리가 사용하는 웹에서 이미지의 경우 웹 서버, API 서버를 통해 URL 주소를 전달받고 URL 주소를 통해 파일 스토리지에 접근해서 이미지를 다운받고 보여줌(이미지 자체를 받기에는 용량이 큼)
- 실제로 데이터베이스에도 파일을 저장할 수 있지만 데이터베이스는 서비스에 필요한 핵심 데이터들, 즉 텍스트 위주로 이루어진 내용들을 다루는데 최적화되어 있음
캐시
- 캐시: 자주 쓰이는 정보를 저장해 놓는다는 개념
- 보통 API 서버에서는 데이터베이스에서 정보를 꺼내고, 가공을 하는 작업을 하는데 이 때 API 서버에서 항상 동일한 결과를 제공해준다면 매번 데이터베이스, API 서버가 작업할 필요가 없음
- 캐시 서버를 이용하면 API 서버와 데이터베이스가 일을 따로 하지 않고 바로 저장된 데이터를 제공해줄 수 있음
- 캐시 서버는 사용자와 가까운 곳에 임시 데이터를 캐시 형태로 저장하여 빠르게 제공
- 정적 컨텐츠에 대해 활용도가 높음
Reference
https://www.inflearn.com/course/it-%EA%B0%9C%EB%B0%9C%EC%A7%80%EC%8B%9D#
IT 회사에서 비개발자가 살아남기 위한 모든 개발 지식 A to Z - 인프런 | 강의
본 강의는 멤버십 구독 개념으로 한 번 구매하면 계속 추가되는 수업도 수강할 수 있습니다😃, [사진] 이 강의는! 단순히 개발 용어만을 알려주지 않습니다.IT 회사에서 개발자들이 실제로 하
www.inflearn.com
https://www.grabbing.me/IT-A-to-Z-By-1e1fbc981b7c4c03ac44943085ac8304
[IT 개발자와 일할 때 필요한 모든 개발지식] A to Z 자료 모음집 By 그랩
장담하건대 이 내용들만 알고 계시면 IT 개발의 전체적인 흐름은 전부 파악한다고 보셔도 무방합니다.
www.grabbing.me
반응형
'비개발자의 개발 지식 스터디 > 백엔드' 카테고리의 다른 글
클라우드 서비스(SaaS, PaaS, IaaS) (0) | 2023.07.24 |
---|---|
서버 스케일링 & 모니터링 (0) | 2023.07.14 |
클라우드 (0) | 2023.07.14 |