2022. 11. 27. 23:49ㆍDevOps
Firebase는 웹 및 모바일 애플리케이션을 개발하고 관리하기 위한 다양한 도구와 서비스를 제공하는 Google 지원 플랫폼이다. Firebase의 핵심 구성 요소 중 하나는 확장 가능한 클라우드 기반 NoSQL 데이터베이스인 Firestore다. 이번 글에서는 Firestore와 다른 두 가지 중요한 Firebase 기능인 Cloud Functions 및 Hosting에 대해 자세히 살펴볼 것이다.
Firestore
Firestore는 개발자가 데이터를 실시간으로 저장, 검색, 쿼리할 수 있는 문서 기반 데이터베이스다. 유연하고 확장 가능하도록 설계되어 광범위한 응용 프로그램 및 사용 사례에 적합하다.
Firestore의 주요 이점 중 하나는 연결된 모든 장치에서 데이터를 자동으로 즉시 업데이트할 수 있는 실시간 동기화 기능이다. 따라서 협업 앱을 구축하거나 주가 또는 스포츠 점수와 같은 실시간 데이터를 표시하는 데 이상적이다.
또한 Firestore는 오프라인 기능을 강력하게 지원하므로 기기가 인터넷에 연결되어 있지 않아도 앱이 계속 작동할 수 있다. 데이터는 장치에 로컬로 저장되고 연결이 설정되면 클라우드와 동기화된다.
Firestore는 NoSQL 데이터베이스다. 즉, 개발자가 보다 자연스럽고 직관적인 방식으로 데이터를 저장하고 검색할 수 있는 유연한, JSON과 유사한 데이터 모델을 사용한다. 또한 풍부한 쿼리 기능을 지원하여 개발자가 다양한 필터 및 조건을 사용하여 특정 데이터 포인트 또는 데이터 컬렉션을 검색할 수 있다.
Cloud Functions
Firebase Cloud Functions는 개발자가 Firebase 서비스 또는 HTTP 요청에 의해 트리거된 이벤트에 대한 응답으로 백엔드 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스다. 이를 통해 개발자는 서버나 인프라를 관리할 필요 없이 Firebase 애플리케이션용 맞춤 로직을 구축하고 배포할 수 있다.
Cloud Functions는 데이터 유효성 검사, 인증, 알림 트리거를 비롯한 다양한 작업에 사용할 수 있다. 또한 타사 API와 통합하거나 복잡한 데이터 처리 작업을 수행하는 데 사용할 수도 있다.
Cloud Functions는 JavaScript로 작성되며 Node.js 환경에서 실행된다. Firestore 데이터베이스에 저장된 데이터 변경 또는 새 사용자 계정 생성과 같은 특정 이벤트에 의해 트리거된다.
Hosting
Firebase 호스팅은 개발자가 웹 애플리케이션을 쉽게 호스팅하고 제공할 수 있는 정적 웹 호스팅 서비스다. 빠르고 안전하며 확장 가능하도록 설계되어 광범위한 웹 사이트 및 웹 응용 프로그램을 호스팅하는 데 적합한 옵션이다.
Firebase 호스팅은 Cloud Functions 및 Firestore와 같은 다른 Firebase 서비스와 원활하게 통합된다. 이를 통해 개발자는 단일 플랫폼을 사용하여 완전한 웹 애플리케이션을 구축하고 배포할 수 있다.
Firebase 호스팅은 또한 자동 SSL 인증서 관리 기능을 제공하므로 개발자가 사이트의 SSL 인증서 설정 또는 갱신에 대해 걱정할 필요가 없다. 또한 Firebase에서 호스팅되는 웹사이트와 웹 앱이 높은 수준의 트래픽을 처리할 수 있도록 HTTP/2 및 자동 확장에 대한 기본 지원이 포함되어 있다.
결론적으로 Firebase는 웹 및 모바일 애플리케이션을 개발하고 관리하기 위한 다양한 도구와 서비스를 제공하는 강력한 플랫폼이다.
본문 글을 요약하자면 다음과 같다.
- Firestore는 개발자가 데이터를 실시간으로 저장, 검색 및 쿼리할 수 있는 확장 가능한 클라우드 기반 NoSQL 데이터베이스다.
- Cloud Functions는 개발자가 Firebase 애플리케이션용 맞춤 로직을 구축하고 배포할 수 있는 서버리스 컴퓨팅 서비스다.
- Firebase 호스팅은 웹 애플리케이션을 쉽게 호스팅하고 서비스할 수 있게 해주는 정적 웹 호스팅 서비스다.
이러한 도구는 최신 웹 및 모바일 애플리케이션을 구축하고 배포하기 위한 포괄적인 솔루션을 제공한다.
'DevOps' 카테고리의 다른 글
트렁크 기반 개발(Trunk-based development) 개념 정리 (0) | 2022.12.14 |
---|---|
애자일 소프트웨어 개발(Agile software development) 개념 정리 (0) | 2022.12.12 |
단일 저장소(Monorepo)에 대한 개념 정리 (0) | 2022.12.11 |
CI/CD란? - 테스트, 배포 자동화 (0) | 2022.10.25 |
서버(Server)와 클라우드 컴퓨팅(Cloud Computing) (0) | 2022.09.26 |