크몽 지식창고
백엔드 프레임워크 선택 시 고려해야 할 5가지
2023-07-22

백엔드 개발 시 프레임워크는 기본 구조나 기능 등을 제공하여 개발 생산성을 향상시키고 반복적인 작업을 사전에 구현 및 제공하여 개발자들의 반복적인 작업을 줄이고 핵심 로직에 집중할 수 있게 도와주기 때문에 백엔드 프레임워크 사용은 필수라고도 볼 수 있습니다.
백엔드 프레임워크 선택 시에는 프로젝트 요구사항, 개발자 스킬, 커뮤니티 지원, 보안, 확장성 등을 신중하게 고려해야 합니다.
💡이 콘텐츠를 다 읽으면 알 수 있어요 (3분)
1. 프레임워크 선택의 중요성
2. 프레임워크 선택 시 고려해야 할 것
3. 대표적인 프레임워크
4. 백엔드 개발 외주 전 알아야 할 용어
5. 백엔드 개발 외주 유의사항
1. 프레임워크 선택의 중요성
백엔드 프레임워크 선택은 ① 확장성 ② 보안 및 안정성 ③ 개발 생산성 ④ 호환성과 플랫폼 지원 등의 이유로 매우 중요합니다.
- 확장성: 애플리케이션의 확장성을 고려하여 설계된 백엔드 프레임워크는 클러스터링, 모듈화 등을 지원하여 애플리케이션의 성장과 변화에 대응하는 확장성을 높이기 때문에 신중하게 선택해야 합니다.
- 보안 및 안정성: 데이터베이스 보호, 취약점 방어 등을 내장하고 있는 백엔드 프레임워크는 다양한 기능을 제공하여 애플리케이션의 보안 및 안정성을 강화합니다.
- 개발 생산성: 개발자들이 하나씩 직접 만들어야 했던 구조나 기능들을 프레임워크는 코드 구조, 템플릿 등을 제공하여 개발 시간과 노력을 절약할 수 있게 만듭니다.
- 호환성과 플랫폼 지원: 애플리케이션을 배포하고자 하는 특정 플랫폼에서 백엔드 프레임워크를 지원하는지, 언어 및 운영 체제 등과 호환성을 가지고 있는지 등을 고려해야 합니다.

2. 프레임워크 선택 시 고려할 것
프레임워크 선택 시에는 ① 프로젝트 목표와 요구사항 ② 필요 기능 ③ 개발자 실력/난이도 ④ 성능과 확장성 ⑤ 보안 등을 고려해야 합니다.
- 프로젝트 목표와 요구사항: 프로젝트의 목표와 요구사항을 정의한 후 만들고자 하는 애플리케이션의 규모는 얼마인지, 필요한 기능은 무엇인지 등을 고려해야 합니다.
- 필요 기능: 데이터베이스 연동, API 개발, 세션 관리 등 애플리케이션에 필요한 기능에는 무엇이 있는지 나열한 후, 선택하고자 하는 프레임워크가 해당 기능들을 지원하는지 확인해야 합니다.
- 개발자 실력/난이도: 개발자의 실력과 난이도에 따라 Flask처럼 초보자도 쉽게 사용할 수 있는 마이크로 프레임워크를 선택해야 하는지, Django처럼 높은 수준의 경험이 필요한 프레임워크를 선택해도 되는지가 달라지므로, 개발자의 실력과 난이도를 고려해야 합니다.
- 성능과 확장성: 확장 가능한 애플리케이션 개발이나 대량의 트래픽 처리 등을 하기 위해서는 프레임워크의 성능과 확장성을 확인해 보는 것이 좋습니다.
- 보안: 입력 유효성 검사, 사용자 인증 등 보안 기능을 충분히 제공하는 프레임워크인지 체크해 보는 것이 좋습니다.
3. 대표적인 프레임워크
대표적인 백엔드 프레임워크에는 ① 장고 Django ② ASP.NET ③ 루비온레일즈 Ruby on Rails ④ 플라스크 Flask 등이 있으며, 프레임워크별 특징을 미리 확인해 두는 것이 좋습니다.
- 장고(Django): 파이선으로 작성된 풀스택 프레임워크로 데이터베이스와의 상호작용을 쉽게 처리할 수 있는 ORM(객체 관계 매핑) 기능을 가지고 있으며 장고 REST 프레임워크를 활용하여 RESTful API 개발이 쉽게 가능합니다.
- ASP.NET: 마이크로소프트가 개발한 백엔드 프레임워크이며 SignalR을 활용한 실시간 웹 기능 구현이 가능하고 다양한 기능과 도구를 제공하여 보안과 안정성을 강화합니다.
- 루비 온 레일즈(Ruby on Rails): Ruby 언어를 기반으로 하며 컨벤션 기반 개발 및 자동 코드 생성으로 생산성이 뛰어나고 높은 확장성을 가지고 있습니다.
- 플라스크(Flask): 파이선을 기반으로 하는 플라스크는 필요한 기능만 제공하여 가볍고 간결한 코드 작성이 가능하고 개발자들에게 자유로운 개발 경험을 제공합니다.

4. 백엔드 개발 외주 전 필수용어
백엔드 개발 외주를 맡기기 전에 ① API ② 서버 ③ 데이터베이스 ④ 클라우드 ⑤ 스케일링 등의 용어에 대해 알아두는 것이 좋습니다.
- API: Application Programming Interface의 약자로 데이터 요청이나 기능 등을 정의하며 개발자들이 애플리케이션의 데이터를 교환할 수 있도록 합니다.
- 서버: 서버는 웹 브라우저나 모바일 앱 등에서 요청을 받아들이고 그 요청에 대한 응답을 반환하는 소프트웨어를 의미하며 애플리케이션의 핵심 구성 요소입니다.
- 데이터베이스: 데이터베이스는 데이터를 테이블, 행, 열 등의 형식으로 구성하고 저장하는 시스템으로 애플리케이션의 정보를 영구적으로 저장합니다.
- 클라우드: 인터넷을 통해 데이터베이스, 서버 등의 컴퓨팅 리소스를 제공하는 것으로 사용자는 클라우드를 사용함으로써 컴퓨팅 리소스를 동적으로 확장하거나 축소할 수 있습니다.
- 스케일링: 애플리케이션의 사용량에 따라 리소스 조정을 통해 성능을 유지하거나 향상시키는 프로세스를 의미합니다.
5. 백엔드 개발 외주 유의할 점
백엔드 개발 외주를 맡길 때는 ① 명확한 요구사항 ② 코드 품질과 보안 고려 ③ 커뮤니케이션과 일정 관리 ④ 개발 외주의 전문성 등을 유의해야 합니다.
- 명확한 요구사항: 개발 외주를 맡기기 전에 프로젝트의 목표와 요구사항을 정리한 후 외주사에 구체적인 내용을 공유하여 원활한 의사소통과 협업이 가능하도록 해야 합니다.
- 코드 품질과 보안 고려: 외주로 백엔드 개발을 진행하는 만큼 코드 품질과 보안 측면은 각별히 신경 써야 하며, 외주사에서 보안과 품질 체크를 위한 테스트 및 별도의 프로세스를 가졌는지 확인해 보는 것이 좋습니다.
- 커뮤니케이션과 일정 관리: 백엔드 개발은 중요성은 높지만, 전체 프로젝트의 일부분인 만큼 일정 관리가 제대로 되어야 하므로 개발 외주사와 함께 주기적인 보고 체계를 논의하고 커뮤니케이션 방법을 정해야 합니다.
- 개발 외주의 전문성: 개발 외주사의 포트폴리오나 이전 고객들의 리뷰 등을 확인하여 신뢰할 수 있는 외주사인지, 전문성은 있는지 등을 확인하는 것이 좋습니다.

복잡한 백엔드 개발은? 크몽에서!
- 15년 이상의 백엔드 서비스 개발 경험으로 단순 개발뿐 아니라 정리된 구조 및 코드 구현으로 진행
- Django, Express.js 등의 서버 프레임워크에서 oracle, mysql 등 데이터베이스로 Rest API까지 개발 가능
- 관공서부터 대기업, 스타트업까지 여러 프로젝트를 수행한 전문가가 빠르고 신속하게 개발 진행
백엔드 프레임워크 요약
백엔드 프레임워크 선택은 확장성, 보안 및 안정성, 개발 생산성, 호환성 및 플랫폼 지원과 관련해 중요합니다. 대표적인 프레임워크로 Django, ASP.NET, Ruby on Rails, Flask 등이 있습니다.
외주 시에는 명확한 요구사항, 코드 품질과 보안, 커뮤니케이션과 일정 관리, 개발 외주사의 전문성을 고려해야 합니다.
5.0 ★★★★★
실제 크몽 의뢰인의 후기
프레임워크 선택에서 막막했는데
덕분에 가장 적합한 프레임워크를 선택하고
효율적으로 개발할 수 있게 되었습니다.



