본문 바로가기
비개발자의 개발 지식 스터디/백엔드

백엔드란?

by 열정주니어 2023. 7. 14.
반응형

백엔드란?

  • 프론트엔드는 폭넓은 의미로는 사용자가 서비스를 이용할 때 쓰게 되는 웹, 앱 등을 의미
  • 백엔드는 서비스에 필요한 모든 데이터를 저장하고 다루는 공간

  • 많이 사용하는 서비스들을 이용한 예
    • 네이버 - 회원가입한 유저들 데이터, 웹툰 데이터들, 카페 데이터들, 블로그 데이터들 등 수많은 데이터
    • 카카오톡 - 유저 데이터, 유저가 들어간 채팅방 데이터, 유저의 친구들 데이터 등 서비스에 필요한 많은 데이터
  • 백엔드는 서비스에 필요한 데이터들을 저장하고 클라이언트(사용자, 관리자 등)에게 알맞게 데이터를 가공하는 역할

  • 데이터를 가공한다는 것은 원형의 데이터들을 목적에 맞게 가공하는 걸 의미
    • 데이터들을 바탕으로 목적에 맞게 데이터들을 끌어와서 필요없는 건 빼고 필요한 건 살리는 작업

 

백엔드의 구성

  • 프론트엔드는 보통 웹, 앱 등 특정한 프로그램을 하나 개발하면 되는 반면 백엔드는 여러가지 서버 프로그램들이 유기적으로 연결되어 있음

 

데이터베이스

  • 데이터베이스는 서비스에 필요한 데이터를 저장하는 역할
    • 온라인 클래스를 제공하는 서비스라면 데이터 중에 클래스 관련 정보들을 저장하는 데이터베이스가 존재
  • 데이터베이스도 데이터를 제공하는 서버이므로 즉, 하나의 서버 프로그램이고 운영체제(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