배고프고가난한백수
797
2021-04-02 11:48:28
5
3047

웹 서버와 API 서버에 대한 개념과 개발 순서


언제나 okky에서 많은 도움을 받고 있어 정말 감사합니다.

전에 웹 서버와 API 서버에 대한 개념이 어떤건지 글을 썼었는데 제가 생각했던 개념이 완전 뒤죽박죽이었네요.

다행히 장독깨기님의 도움을 받아 정리할 수 있었습니다.

웹 서버는 말 그대로 사용자가 접속하는 서버라는 개념으로 이해했고, API 서버는 필요하다면 웹 서버에서 자료를 요청할 경우 DB에서 자료를 뽑아서 전달해주는 서버로 이해했습니다.

그러면 DB와 연결되있는 서버는 API 서버겠고요.

웹 서버와 API 서버는 논리적으로도 분리되나 물리적으로도 분리되는게 좋다고 하는데, 혹시 이는 DB의 보안을 위해서가 아닐런지요?

이를 바탕으로 개발 순서를 고려해보면,

역시 일단 처음에는 웹 페이지의 시안 작성과 제공할 기능들을 정리하고 이를 바탕으로 DB 테이블 설계 후,

시안을 바탕으로 웹 퍼블리싱이 들어가고요, 마찬가지로 정리한 기능과 DB 테이블을 바탕으로 실제 API 작성 및 사용자가 접하게 될 웹 페이지에서 실제 기능들을 접할 수 있도록 연결(?) 작업이 들어가면 되겠다고 생각했습니다.

혹시 제가 잘못 이해하거나 엉뚱하게 생각하는 부분이 있는지요?

웹 개발은 배운 적 없는 거의 백지 상태와 같다보니 처음에 감을 잡는게 쉽지가 않네요.

매번 염치 없지만 친절한 okky 회원 여러분들의 도움 말씀 부탁드립니다.

감사합니다.

0
  • 댓글 5

  • plmmm
    37
    2021-04-02 11:56:01

    API서버라고 하시니 저는 잘 이해가 안가네요. 제 경험으로는 보통은 웹서비스라고 rest나 soap을 이용하여  api서비스를 구성하여 웹서버에 같이 들어가 있습니다. DB의 보안때문에 서버를 분리한다고 생각하시는 것 같은데  어차피 api나 웹서버나 DB에 접근을 하여 사용되는데 분리 할 필요가 있나 싶네요.

  • ercnam
    7k
    2021-04-02 12:00:38

    plmmm

    웹 취약점을 통한 침입이 아니고 서버 자체가 털렸을 경우

    웹서버랑 DB가 같이 있으면 다 털리니까 하나라도 살라고 물리적 분리를 해놓는 것입니다.

  • ansdbduf
    915
    2021-04-02 12:14:44

    4 tier 아키텍쳐 : 클라이언트 - 웹서버 -WAS서버-DB서버

    클라이언트,웹서버는 보통 프론트엔드개발자, 

    WAS-DB서버는 백엔드개발자,

    개발순서는 성향에따라 틀림. 일단 프론트와 백엔드의 인터페이스를 결정후 진행

  • 장독깨기
    5k
    2021-04-02 12:31:48 작성 2021-04-02 12:34:23 수정됨

    글쓴님.. 분리하는게 좋다고 한건 운영, 성능 적인 측면에서 그냥 말씀 드린 겁니다. ㅎ

    그러니까, 서버 한대 있으면 분리할 수 없죠..ㅋ

    두대 있으면 DB 서버 먼저 분리하고 한대 더 있으면 API 서버 분리하고,

    서비스 잘 되서 접속 수 늘어나고 하면 돈도 잘 벌릴테니 분산하고 뭐 이런식입니다. 


    그리고, 글쓴님 개발순서 크게 이상없고 그 정도 감 잡았으면 충분해보입니다.

    웹 쪽 처음이라 하시니 실제 서비스 개발하다 보면 그 감이 구체화 될 겁니다.

    서비스 개발 계획이 있는 건가요? ㅎ

    그럼, 이제 개발 시작하시면 되겠습니다. ㅎ


  • 배고프고가난한백수
    797
    2021-05-16 18:23:14

    답변이 많이 늦었습니다.

    plmmm 님, ercnam 님, ansdbduf 님, 장독깨기 님 모두 감사드립니다.

    이렇게 감을 잡고도 막상 작업에 들어가니 굉장히 헤매게 되네요.

    답변이 많이 늦었지만 도움 주신 모든 분들께 정말로 감사드립니다.



  • 로그인을 하시면 댓글을 등록할 수 있습니다.