서비스 형 백앤드(Backend as a Service)- Baas는 무엇인가요?

서비스형 백엔드(BaaS, 이하 BaaS), 서비스형 모바일 백엔드(mBaaS, 이하 mBaaS) , 또는 서비스  백엔드(Backend as a Service, 이하 Backend as a Service) 백엔드(backend,이하backend) 측면 개발을 자동화시키고 클라우드 인프라(cloud infrastructure, 이하 클라우드 인프라) 다루는 플랫폼입니다.

BasS를 사용하면서 제 3자에게 서버들을 운영하고 관리하는 책임감을 위탁하게 되고, 프론트엔드(frontend, 이하 frontend)또는 고객 측면 개발에 초점을 맞추게 될 것입니다. 

거기에 더불어, BasS는 backend코드를 만들고 개발 과정의 속도를 높이는데 도움을 주는 도구들을제공할 것입니다. 이는 확장 가능한 데이터베이스, API, 클라우드 코드 함수, 소셜 미디어 통합서버, 파일 저장 장치, 푸시 알림과 같은 기능들을 사용할 준비가 되었습니다. 

클라우드 backend as a service에 대해서 더 알고 싶으신가요? 계속 읽으십시오. 

Contents

프론트엔드 대 백엔드

가장 중요한 것을 먼저 해봅시다! frontend와 backend사이의 차이점들을 간단하게 설명한 것이 여기있습니다. 

  • Frontend:  모든 소프트웨어 응용 프로그램은 frontend라 불리는 사용자들이 볼 수 있는 부분이 있습니다. 
  • Backend:  backend라고 불리는 사용자들이 볼 수 없는 부분도 있습니다. 이 두 부분은 APIs를 통해서 결합됩니다. 

BaaS vs. 커스텀 백엔드(Custom Backend)  

커스텀 백엔드(custom backend, 이하 custom backend)를 만들거나 BaaS체계(framework, 이하 체계)를 사용하며 여러분이 만든 모든 앱을 개발할 선택권이 있습니다. 이 두 가지 접근법에 대한 차이점을 알아보도록 합시다. 

Custom backend를 한다면, 아무런 사전 준비 없이 backend를 만들고 인프라(infrastructure, 이하 인프라)를 다뤄야만 하게 될 것입니다.  이 접근법의 장점은 유연성을 제공하고 맞춤화 가능성들이 있다는 것입니다. 단점은 더 높은 개발 비용과 상품을 내놓는데 더 긴 시간이 걸린다는 것입니다. 

반면에, BaaS는 사용할 준비가 된 만들어진 블록과 코드 생성 도구를 전달할 것입니다. 이 접근법의장점은 훨씬 빠른 개발 과정과 상품을 내놓는데 시간을 줄여준다는 것입니다. 단점은 더 낮은 유연성과 표준화한 아키텍처(architecture, 이하 architecture)를 따르게 될 것이라는 것입니다. 

다음의 예시들은 커스텀 코딩(custome coding)과 BaaS을 사용하는 것 간의 차이점을 이해하는데도움을 줄 것입니다. 

예시 01- BaaS vs. AWS EC2 인스턴스(Instances)

새로운 소프트웨어 프로젝트를 만들기를 원하고 BaaS를 사용하지 않을 것이라고 상상해 보십시오. backend사이드 코드를 개발하기 전, 첫 단계는 서버를 설치하는 것입니다. 어떻게 작동하는지에 대한 것이 여기에 나와았습니다:

  • 아마존 웹서비스(AWS, 이하 AWS)또는 다른 클라우드에 로그인 하십시오. 
  • 인스턴스(Instance, 이하 인스턴스)로 가십시오.
  • 인스턴스를 시작하십시오. 
  • 운영 체제를 선택하십시오. 
  • 인스턴스크기, 유형
  • 인스턴스상세 사항 구성하십시오. 
    • 인스턴스의 수
    • 네트워크
    • 아이피(IP)
    • 모니터링
    • 자동 스케일링(Scaling), IAM 등과 같은 다른 설정
  • 저장 공간 추가하기
  • 보안 설정

좋습니다, 여러분의 인스턴스는 나와서 운영 중이고, 이제 코딩을 시작하실 수 있습니다! 사실 그렇지는 않습니다! 이건 그저 과정 중 단지 첫 번째 단계일 뿐이고, 웹 서버, 데이터베이스, 체계 등을 설치해야만 할 것입니다. 

이 모든 것이 끝나고 나면, 코딩을 시작할 수 있습니다. 이 과정을 시행하는 시간은 몇 시간(숙련된backend 개발자들이 진행하는 작은 프로젝트의 경우)에서 큰 환경들을 위한 하루 이상의 시간까지이를 수 있습니다. 

Backend as a service를 사용한 이와 같은 과정은 몇 번의 클릭으로 끝이 나고, 몇 분이 채 걸리지 않는 시간만이 걸릴 것입니다.  

예시02- BaaSvs. 커스텀코딩(Custom coding)  로그인특징

서버 구성이 준비되었고 응용 프로그램의 첫 번째 특징을 개발하기를 원한다고 상상해보십시오.  코드화 할 첫 번째 특징이 페이스북(Facebook, 이하 페이스북)으로의 소셜 로그인이라고 생각해 봅시다. 

역외회사로의 아웃소싱(outsourcing, 이하 아웃소싱) 개발을 가정한다면, 시간당 25달러의 비용이들 것입니다. 이 간단한 작업은 약 16시간이 걸리고 400달러의 비용이 들 것입니다. 

반면에, BaaS는 한 시간 보다 적은 시간 내에 같은 특징을 실행할 수 있도록 도움을 줄 것입니다. 15시간과 375달러를 절약하게 될 것입니다. 간단한 하나의 작업 시행에 있어 나쁘지 않습니다! 

예시3- 유럽연합일반데이터보호규칙(GDPR) 보안 설정

유럽 연합 일반 데이터 보호 규칙 (GDPR)의 개인 정보 보호 요건은 꽤 복잡하고, 시행은 많은 공학적 노력이 요구될 것입니다. 그 요건의 범위는 데이터를 운송하는HTTPS의 시행부터 저장되고(몇가지 다른 조건들의) 서버 측면 데이터를 암호화하는 것까지 이를 것 입니다. 

모든 요소들을 시행하는 정확한 공학 시간은 프로젝트의 크기와 복합성에 따라 달라질 것이지만, 시행하는데 100시간을 쉽게 뛰어넘을 수 있습니다. 

Backend as a service회사로의 이 시행을 아웃소싱하는 것은 타당합니다. 특히 작거나 중간 크기의프로젝트에 대해서는 말입니다. backend플랫폼은 수백 또는 수 천 개의 앱들 사이에서 유럽 연합 일반 데이터 보호 규칙 (GDPR)설정에 맞게 시행되는 투자를 약화시킬 수 있고, 각 앱의 지분이 최소화될 것입니다. 

단 하나의 프로젝트를 가진 한 회사는 단 하나의 응용프로그램의 모든 투자들을 벌충해야 할 것입니다. 앱이 성공적이더라도, 투자 수익을 내는데 더 많은 시간이 요구될 것입니다. 

BaaS vs. MBaaS

BaaS – Backend as a Service와 MBaaS – Mobile Backend as a Service 는 거의 같은 것입니다! 웹프로젝트 또는 모바일 프로젝트를 위해 backend as a service를 사용할 수 있습니다. 그러면, backend as a service무엇일까요? 모바일 개발을 위해 사용될 때, mBaaS 또는 mobile BaaS으로 인식되는 것입니다. 

Bakcend as a Service를 사용해야 하는 이유는 무엇입니까?

하나의 Backend as a service는 두 문제를 해결하는 것에 도움을 줄 것입니다: 

  • 클라우드 인프라 관리와 크기 변경하기  
  • backend관리 속도 높이기  

BaaS클라우드를 사용하는데 많은 이점들이 있고, backend as a service를 사용하는 이유들은 사업과 기술의 측면들로 나눠집니다. 

BaaS를사용하는사업적이유

backend as a service의 사업적 장점은 주로 생산성 획득과 아웃소싱 클라우드 관리 책임입니다. 특히, 작거나 중간 크기의 프로젝트들에서, backend플랫폼을 사용하며 상당한 혜택을 얻을 수 있을 것입니다.  

계산은 꽤 간단합니다. 미국 내 backend/ 인프라 엔지니어는 일 년에 8만 달러의 비용이 들 것 입니다. 그 작업의 제 3자로의 아웃소싱 부분은 이 비용을 벌충하도록 허용할 것입니다. 

다른 장점은 소프트웨어 프로젝트 시장에 더 빠르게 전달하는 것입니다. 소프트웨어 제품을 제공하는데 몇 개월을 기다려야 하는 것은 시장 기회를 잃게 하거나 경쟁에 뒤쳐지게 만들 것입니다. 그래서, BaaS의 비즈니스 장점들은 아래와 같습니다:

  • 상품을 내놓는 시간 단축  
  • 비용 절약과 개발 비용의 감소
  • 한 프로젝트에 대한 더 적은 backend개발자 배정 (더 적은 개발자로 같은 결과 도출)
  • 클라우드 인프라 관리 위탁

BaaS로비용을줄이는실제예시

VantageBP

빈티지BP(VantageBP, 이하 VantageBP)는 브랜드가 모조품들을 근절하고, 사기꾼 리셀러(reseller)들을 확인하고, 100개의 온라인 시장에서 공인되지 않은 판매들을 시행하는 것에 도움을 주는 서비스형 소프트웨어(SaaS, 이하 SaaS) 회사입니다. BaaS를 사용하는 것은 회사들이 그들의 MVP(최소 실행 제품, 이하 MVP)를 훨씬 빠르게 시장에 내놓고 승인하고, 데브옵스(DevOps)기술자의 요건을 제거하고, 자동적으로 기반 시설을 확장하는데 시간을 줄이게 해 줍니다.

좋은 점은 가동시간, 확장성 또는 데브옵스(DevOps) 문제들을 걱정할 필요가 없다는 것입니다. Joren Winge, VantageBP 최고경영기술자

VantageBP의 사용에 대해 더 알고 싶으시다면, 아래 기사를 통해 더 확인해 보십시오:

BaaS를사용하여VantageBP로 500K달러를어떻게절약할수있나요

푸드 카우보이 상황(The Food Cowboy Case)

“어떻게 하나의 응용프로그램의 backend를 구성하고 개발할지 결정하는 것은 많은 스타트업(startups)에게 힘든 일입니다. 특히, 증명된 시장과 고객 토대가 설립되어 있지 않은 새로운 컨셉 또는 아이디어일 때 말입니다. 대부분의 상황에서, 저희는 확장성의 선택지와 낮은 선불 요금을 제공하는 견고한 BaaS플랫폼에서 MVP 응용프로그램을 출시할 것을 추천 드립니다. 저희의 고객 중 하나인 푸드 카우보이(Food Cowboy) 는 파스(Parse)에서 그들의 플랫폼의 첫 버전을 출시함으로써200,000달러 이상을 클라우드와 소프트웨어 개발 비용을 절약했습니다.  이것이 그들이 제공하기로계획했던 몇 가지 특징을 제한하기는 했지만, 잠재적인 투자자들과 고객들에게 MVP를 공개하는데낮은 정비환경을 제공했습니다.”

BaaS를사용해야하는기술적인이유

좋은 backend기술자들을 찾기는 어렵고, 그들은 보수를 많이 받는 전문가들입니다. 그들 중 한 명을찾는 다면, 그의 시간을 현명하게 사용하고, 높은 가치의 코드를 받는 것을 확실히 하십시오. 프로그래밍, 반복되는 활동, 그리고 보일러 플레이트(boilerplate) 코드는 시간과 돈을 낭비하는 것입니다. 그러니, 이를 피해야만 합니다. 

backend서비스의 다른 장점들은 여러분의 frontend개발자들이 그들이 잘하는 것에 집중하게 해준다는 것입니다. 즉, 여러분의 응용프로그램의 뛰어난 유용성과 frontend코드를 제공한다는 것입니다. 그래서, BaaS의 기술적인 장점은 아래와 같습니다:

  • frontend개발에 초점
  • 불필요한 스택(stack) 배열 배제
  • 보일러 플레이트(boilerplate)코드를 프로그램 할 필요가 없음
  • 코딩 환경 표준화
  • backend개발자들의 높은 가치의 코드라인 프로그램 가능
  • 인증(authentication, 이하 인증), 데이터 저장장치, 그리고 검색과 같은 사용 될 준비가 된 특징들 제공
  • 앱들을 복제하고 테스트 환경들을 운영하도록 허용
  • 보일러 플레이트(bolier plate)코드 보다 코딩 비즈니스 로직(coding business logic)에 초점
  • 사용될 준비가 된 보안 설정과 백업 절차 포함

BaaS를사용하여게임을확장하는방법에대한실제예시

투포티(Two4Tea)는 프랑스에 위치한 한 개발 회사 이고, 그들의 열망은 모바일 게임들을 만드는 것입니다. 그들의 가장 큰 히트는 파이트 리스트(Fight List, 이하 파이트 리스트)라고 불리는 트리비아게임입니다. 이 게임은 전 세계적으로 55백만 번 이상의 다운로드 수를 기록했고, 7개의 다른 언어를 제공하며 수 천명의 동시 사용자들을 보유하고 있습니다. 

파이트 리스트가 출시 되자마자, 성공은 꽤 빠르게 찾아왔습니다! BaaS의 사용은 몇 명의 사용자들에게서 수 천명의 동시 사용자들로 빠르게 확장시키는데 도움을 주었습니다.  파이트리스트에 대해더 알아보고 싶으시다면, 아래 기사를 참고하십시오: 

BaaS를사용한모바일게임의규모확장

BaaS을언제사용해야합니까? 

backend as a service플랫폼 사용이 상용화되는 세 가지 상황이 있습니다. 

  • MVP생성- 최소 실행 제품(Minimum Viable Product)
  • 독립 형 응용 프로그램들 또는 적은 수의 통합을 요구하는 응용 프로그램들
  • 임무 수행에 필수적이지 않는 기업 응용 프로그램들

이와 같은 상황들에서, BaaS를 사용하는 것은 간단한 결정이고 많은 시간과 돈을 절약해 줄 것입니다. 

BaaS의장점과단점

여기 backend as a service사용의 장점과 단점이 있습니다. 

Backend as a Service의장점

  • 개발 속도 – 매우 빠름
  • 개발 비용 – 매우 저렴함
  • 서버가 필요 없고, 기반시설을 관리할 필요가 없습니다

Backend as a Service의단점

  • 커스텀 코딩(custom coding)에 비교하여 낮은 유연성
  • custom backend과 비교하여 낮은 레벨의 맞춤화
  • 비개방형 소스(closed source)플랫폼을 위한 벤더 종속(vendor lock-in)

BaaS vs. 클라우드제공자(Cloud Provider)

서비스로서의 인프라스트럭처(IaaS, 이하 IaaS), 서비스로서의 플랫폼(PaaS, 이하 PaaS), 그리고BaaS의 차이점을 간단하게 여기서 설명하도록 하겠습니다. 

IaaS 정의

  • IaaS는 서비스로서의 인프라스트럭처를 나타냅니다.
  • IaaS의 예시들은 AWS, 구글 클라우드(Google Cloud), 애저(Azure)들이 있습니다.

PaaS 정의

  • PaaS는 서비스로의 플랫폼을 나타냅니다.
  • PaaS의 예시로 헤로쿠(Heroku), 엔진 야드(Engine Yard)가 있습니다.

BaaS 정의

  • BaaS 는 서비스형 백엔드를 나타냅니다
  • Bass의 예시로서 백포앱(Back4App), 파스(Parse), 파이어베이스(Firebase)가 있습니다

IaaS x PaaS x BaaS

IaaS에서 PaaS로, 그리고 PaaS에서 BaaS로 이동할 때마다, 어려분은 서비스의 단계들(또는 가치부분들)을 응용 프로그램에 추가해야 합니다.  여기 간단한 개요가 있습니다: 

  • IAAS =데이터 센터 + 서버 + 저장 공간 + 네트워킹
  • PAAS = IAAS + 배포(Deploy) + 관리(Manage)+ 스케일(Scale)
  • BAAS = PAAS + Backend를 만드는 특징들

서버리스(Serverless)와 BaaS는같은것입니까? 

서버리스 컴퓨팅(Severless computing)은 더 넓은 용어로, BaaS, 또한 FaaS와 PaaS와 같은 서비스들을 포괄하는 것입니다. 차이점에 대해서 더 깊은 이해를 원하신다면, BaaS vs. Faas를 읽어 주십시오. 

어떤특징들을 backend as a service이가지고있습니까?

backend as a service는 여러분에게 모든 유형들의 응용프로그램들에 배치 할 수 있는 특징들을 제공합니다. 여기backend as a service의 가장 흔한 특징들이 있습니다. 

  • 스케일러블 데이터베이스(비관계형 또는 관계형)
  • APIs (그래프QL(GraphQL)과 REST)
  • 클라우드 코드 함수들을 통한 비즈니스 로직(business logic) 
  • 사용자 인증
  • 소셜 네트워크 통합 (페이스북, 링크드인(LinkedIn), 트위터(Twitter) 등)
  • 이메일 인증
  • 푸시 알림
  • 위치정보
  • 데이터베이스 그래픽 사용자 인터페이스(GUI)
  • 로그
  • 콘텐츠 전송 네트워크(CDN)와 캐시(Cache) 
  • 인프라 (보안설정, 자동 스케일링(scaling), 데이터 백업, DB 최적화)

어떤frontend기술들이 BaaS를지원합니까? 

BaaS 소프트웨어가 다루는 가장 흔한 고객 측면 기술들이 여기 있습니다: 

  • React Native
  • iOS 네이티브(Navtive) (스위프트(Swift) 또는 오브젝티브-C(Objective-C)
  • 안드로이드 네이티브(Android Native)
  • Ionic
  • Xamarin
  • Flutter
  • Unity

누가 backend as a service를사용해야합니까? 

BaaS 플랫폼은 기술적인 서비스이고, 앱 개발자들을 위해 만들어졌습니다. 전문적인 기술들이 없는사용자는 이를 사용하는데 어려움을 직면하게 될 것입니다. 가장 흔하게 사용하는 상황들은 아래와같습니다: 

  • backend개발에 있어 한정된 지식을 가진 frontend기술자들  
  • 개발에 속도를 내고 싶은backend기술자들
  • 제 3자에게 낮은 가치/ 반복되는 작업을 아웃소싱하기를 바라는 기술자들

BaaS플랫폼은 기술적이고 프로그래밍 기술이 요구되기 때문에 시민 개발자들을 위한 이상적인 선택이 아닙니다.

BaaS architecture는어떻게보입니까? 

일반적으로, 하나의 서비스 architecture로서 모바일 backend는 세가지 층들로 나눠져 있습니다. 

첫 번째 층은 기초로 데이터베이스 서버들을 포함하고 있습니다. 데이터베이스 무리들은 데이터를자기 복제하는 적어도 두 개의 서버들과 데이터를 되찾아오는 백업 루틴을 가지게 될 것입니다. 

대부분 BaaS 제공자들은 스케일링(scaling) 유연성 때문에 그들의 기술 더미에서 비관계형(NoSQL) 데이터베이스를 사용하지만, 포스트그레스(Postgres)와 같은 관계형(SQL) 데이터베이스를 사용하는 것이 증가하는 경향이 있습니다. 

두 번째 층은 응용프로그램 무리와 요청들을 처리하는 여러 서버들을 포함하고 있습니다. 서버들의양은 하루 내내 변동이 거듭되고, 자동 스케일링(scaling) 절차들은 정확한 서버의 양으로 그룹을 이행하는 것은 필수적입니다. 

세 번째 층은 응용프로그램 서버들을 인터넷으로 연결하고, 로드 벨런서(load balancer)들과 콘센츠전송 네트워크(CDN)들로 구성되어 있습니다. 

어떤 유형의 프로젝트가 Backend as a Service에서 가장 잘운영됩니까? 

  • 실시간 응용프로그램 (채팅, 메시지 앱)
  • 교통 앱들 (우버(Uber)와 비슷함)
  • 소셜-네트워크 유형 앱들
  • 전자상거래 앱들
  • 음악 또는 영상 스트리밍 앱들
  • 게임들

1001두바이가 SaaS 응용프로그램을만드는 backend서비스를어떻게사용하는지에대한실제예시

1001두바이는 슈퍼마켓들과 편의점들을 위한 앱을 만드는데 집중하는 모바일 상업 제공자입니다. 회사는 중동 지역에 수 백만 명의 클라이언트들과 8만 번 이상의 다운로드 수를 가지고 있고, SaaS 모델을 통해 앱을 유통합니다.

응용프로그램의 backend architecture은 backend as a service에서 운영되고, 데브옵스(DevOps) 팀운영 서버들은 없습니다. 그리고 회사는 전체 인프라를 backend제공자에게 아웃소싱합니다. 더 많은 것을 알고 싶으시다면, 아래 기사를 읽어 주십시오. 

backend as a service를사용하여 SaaS앱을어떻게만들수있습니까?

시장사이즈로서의Backend as a Service

Backend as a service는 급격한 성장 산업이고, 마켓앤드마켓(Marketsandmarkets) 에 따르면, 시장은 2020년 20억에서 2025년 약 60억으로 성장하게 될 것입니다. 이는 23.9% 의 연평균 성장률을의미합니다. 

모바일 기기의 확장된 채택과 BaaS의 인상된 모바일 개발 생산성은 이 산업 성장을 정당화 하는 두개의 주요 이유들입니다. 

Backend as a service회사들

BaaS 제공기관들의 포괄적인 목록이 여기 있습니다.

1. Back4App

 이 기사에 많은 시간을 투자하고 현재 11시8분을 향하고 있는 것을 고려하여, 현재 근무 중인  백포앱(Back4App)에 대해 시작해 보겠습니다. 먼저 그것을 시작해 보십시오. 여러분은 그것이 정말 마음에 들어서 다른 플랫폼들을 사용할 필요를 느끼지 못할 것이고, 이는 여러분의 시간을 절약할 것입니다. 마음에 들지 않는다면, [email protected] 로 이메일을 보내주시고 이유를 말씀해주십시오. 

저희 제품은 다음의 특징들을 가지고 있습니다: 

  • 확장 가능한 실시간 데이터 베이스 (비관계형(NoSQL) 또는 관계형(SQL))
  • APIs (레스트(REST) 또는 그래픽QL(GraphQL))
  • 비즈니스 로직(business logic)을 위한 클라우드 코드 함수들
  • 알림
  • 파일 저장공간
  • 인증

기술 스택(stack, 이하 stack)은 오픈 소스(open source, 이하 open source) 기술에 근거를 둡니다. 저희의 stack은 파스 서버(Parse Server), 노드JS(NodeJS), 그리고 다른 open-source 들을 포함합니다. open-source뿐만 아니라, 일반적인 수행을 향상시키는 이행과 플랫폼을 더 편안하게 사용할 수있게 하는 대시보드(dashboard, 이하 dashboard)를 가지고 있습니다. 이는 전문적인 호스팅(hosting, 이하 hosting)서비스와 함께하는 hosting에 비해 워드 프레스(Word Press)를 스스로hosting하는 것과 같습니다.  

저희 플랫폼의 다른 중요한 부분은 스케일링(scaling)을 처리하는 것입니다. 저희와 함께 운영하는꽤 큰 앱들이 있고, 잘 설계된 architecture는 성능과 신뢰도를 제공하는데 중요한 역할을 합니다. 

가격적인 측면에서, 이용 가능한 제한적인 무료 체험 단계와 한 달에 5달러로 시작하는 유료 버전이있으며, 제작 응용프로그램들은 주로 유로 버전에서 운영됩니다. 

백포앱(Back4App)을 사용하는 장점들은 다음과 같습니다: 

  • Open-Source: 벤더 종속(vendor lock-in)은 없지만, 더 나은 시행을 위해 코드를 맞춤화할 수 있습니다. 
  • 관계형 쿼리(Query)들: 고객들이 비관계형(NoSQL)데이터베이스 또는 포스트그레스(Postgres) 데이터 베이스에 대한 쿼리(query)에 있어 스키마(schema) 수준의 크로스 테이블 관계(cross-table relation)들을 생성하는 것을 허용해줍니다.
  • 이용편의성: 플랫폼은 사용하기에 쉽고, 간단한 앱의 코딩을 시작하는데5분 이상이 걸리지 않습니다.
  • 유용성: 여러분의open-source 코드 버전을 관리할 수 있고, 최고의 수행을 위해 필요하다면 소스(source) 코드는 조정될 수 있습니다.
  • Hosting: 몇 가지 사용한 hosting 옵션들과 서비스는 매우 신뢰할 수 있습니다. 이는 완전한 서버리스(serverless) 구조 또는 전용 인스턴스(dedicated instances)를 제공합니다
  • CDN – 콘텐츠 전송 네트워크: 백포앱(Back4App)에서 호스트(host)된 앱들은 자동적으로 내용을전 세계로 유통합니다.
  • 그래픽QL(GraphQL): 이 새로운 이행은 API를 위한 가장 고급 쿼리(query)언어를 제공할 것입니다. 이 혜택들은 하나의 요청에서 예측할 수 있는 방법으로 데이터를 검색할 것입니다.
  • 지원: 연중 무휴 지원: 각 고객의 예산에 따라 이용 가능한 지원 레벨이 다릅니다.

BaaS 솔루션에 대해서 더 알아보도록 합시다. 

2. Parse

이는 거대한 규모의 앱 개발자들의 커뮤니티에 의해 지원받는 open-source 체계 입니다. 이는 깃허브(Github)에서 17만 이상의 스타와 4만 이상의 포크를 가지고 있습니다. 파스(Parse)의 목표는 개발자들에게 앱을 더 빠르게 만들어 내는데 하나의 방법을 제공하는 것입니다. 이 체계는 개발자들에게 노드.JS(Node.JS), 앱들을 관리하는 dashboard인  SDK&Libraries, 어댑터(adapter), 그리고 문서를 위한 API 서버 모듈을 포함하는 stack을 제공하여 이를 해냅니다. 

페이스북이 이 체계를 호스트(host)하곤 했지만, 2017년부터 더 이상 hosting서비스를 제공하지 않기로 결정하였습니다. 즉, 체계를 스스로 호스트(host)할 필요가 있거나 전문적인 hosting서비스를사용할 필요가 있습니다. 셀프 호스트(self-host)의 대안으로, AWS, 애저(Azure), 또는 디지털 오션(Digital Ocean)과 같은 선도적인 클라우드 제공회사입니다. open-source체계는 완전히 무료이고, 발생되는 단 하나의 비용은 체계을 hosting할 때 입니다. 

특징들은 아래와 같은 사항을 포함합니다:

  • 데이터베이스와 같은 스프레드시트(Spreadsheet)
  • APIs
  • 소셜 네트워크를 위한 SSO
  • 푸시 알림
  • 파일 저장공간

파스(Parse) 체계를 사용하는 장점들은 다음과 같습니다:

  • 데이터관리: 필수적인 데이터 유형들, 쿼리(query), 장소, 그리고 몇 개의 코드 라인(code line)들이 있는 사진들을 저장하는 것은 가능합니다. 파스(Parse)는 웹 기반 데이터 브라우저로 여러분의 내용을 다루고, 검색하고, 필터를 쓰며 업데이트하는 것을 허용합니다.
  • 간단함: 체계는 간단하고, 학습곡선은 작은 프로젝트일 경우 한 시간 이내의 시간만 소요될 것입니다.
  • 유연성: open-source체계와 운영하는 것은 다음 수준으로의 다양성을 필요합니다. 소스 코드(source code)를 조정할 수 있고 여러분의 특정한 요구들을 조정할 수 있습니다.
  • 커스텀 코드(Custom Code): 파스(Parse)는 클라우드 코드라고 불리는 한 특징을 제공할 것입니다. 이 특징으로 자바스크립트(Javascript)를 사용한 커스텀 코드(custom code)를 할 수 있을 것입니다.
  • 멀티플랫폼: 사용 가능한 많은SDK들이 있고, 거의 모든 플랫폼에서 파스(Parse)를 사용할 수있습니다. 이는 모바일, 웹, 그리고 사물인터넷(IoT) 기술들을 다룹니다. 
  • 그래픽QL(GraphQL): 이는 단 하나의 전화로 당연하게 데이터를 되찾는데 도움을 줍니다. 

3. Firebase

2014년 구글(Google)소유의 비개방형 소스(closed-source, 이하 closed-source)로, 이 backend서비스는 응용프로그램들을 빠르게 만드는 것을 지원합니다. 파이어베이스(Firebase)는 분석, 인증, 실시간 데이터베이스, 그리고 hosting과 같은 특징들을 포함하고 있습니다.  

가격적 측면에서, 제한적인 사용 가능한 무료 체험버전이 있고, 유료 버전은 소비 베이스를 운영할수 있습니다. 더 많이 사용할수록, 비용은 더 높아 질 것이고, 적게 사용할수록 비용은 적어질 것입니다. 매달 25달러의 고정된 유료 금액 버전은 더 이상 사용 가능하지 않습니다.  

2016년 구글(Google)은 파이어베이스(Firebase)에 크게 투자하기 시작했고, 전략은 세 개의 주요 기둥들을 포함하고 있습니다: 

  • 개발 특징: 이 블록(block)은 모바일 앱 개발을 가속화하는 도구들을 포함하고 있고, 사용자 인증, 저장공간, 실시간 데이터베이스, 기계 학습, 그리고 클라우드 함수들을 포함하고 있습니다.  클라우드 파이어스토어(Cloud Firestore) 은 데이터를 여러 기기들, 쿼리(query), 그리고 컬렉션 및 문서들이 있는 구조 데이터와 동기화하게 해주고, 온라인 및 오프라인 데이터와 동기화 해줍니다.
  • 앱 품질: 파이어베이스(Firebase)는 일반적인 앱 수행을 향상시키는데 도움을 줄 포괄적인 모바일분석 서비스들의 제공합니다. 이 서비스들은 수행 관리, 구글 애널리스틱(Google Analytics), 충돌보고(crash reports), 그리고 자동화 테스트를 운영하는 테스트 실험실을 포함하고 있습니다.
  • 성장: 파이어베이스(Firebase)는 애드몹(Ad Mob)이라고 불리는 앱 내 광고를 가능하게 해주는 서비스를 통합시킵니다. 파이어베이스(Firebase)가 제공하는 다른 성장 도구는 에이비 테스팅(A/B testing), 메시징(messaging), 동적 링크(dynamic link)입니다.

파이어베이스(Firebase)사용의 장점들은 아래와 같습니다. 

  • 실시간 데이터베이스: 이 특징은 하나의 예시로, 데이터를 기기들에 거의 곧 바로 업데이트 해 줄왓츠앱(WhatsApp)과 같은 메시지 앱을 만드는 것을 허용해 줄 것입니다.
  • 머신 러닝(Machine Learning): 머신 러닝은 파이어 베이스(Firebase)에서 사용 가능한 좋은 기능이지만 다른 backends as a service플랫폼에서 사용이 불가합니다. 이는 얼굴 인식, 스캐닝, 그리고글 인식과 같은 표준 머신 러닝 이용 경우들을 포함한 사용할 준비가 된 API 한 세트를 제공할 것입니다.
  • 애드몹(Ad Mob): 이 특징은 여러분의 앱을 상품화 하게 하고, 구글이 관리하는 전 세계 광고네트워크에 이를 통합할 수 있게 할 것입니다. 

4. Cloudkit

클라우드키트(CloudKit)는 애플(Apple)의 closed-source backend 플랫폼 입니다. 이는 iOS 응용프로그램들을 개발하는데 사용되고, 그를 위한 네이티브 SDK(native SDK)를 가지고 있습니다. 이 서비스는 2015년부터 이용 가능했고, iOS 앱들과 간단하게 통합할 수 있습니다. 이 구조는 개발자들이고객 측 개발에 집중하도록 해주는 데이터 베이스, 어스(auth), 파일 저장공간 서비스들을 제공합니다. 

클라우드키트(CloudKit)는 필수적인 아이클라우드 인증(iCloud identification), 인증 지원 그리고 그앞에 있는 API를 가진 주요 데이터 저장소 입니다. 이는 여기에 작성된 다른 서비스들과 비교하여 적은 특징들을 가지고 있습니다. 가격은 꽤 빠르게 상승하고 매 10개의 요구 사항마다 100달러의 비용이 듭니다. 

클라우드키트(CloudKit) 사용의 주요 장점들은 iOS를 위한 네이티브 SDK(native SDK)입니다. 네이티브(Native) 응용프로그램은 아이폰(iPhone) 운영 체제에서 작동하고 기기와 기능성에 대한 완벽한접근을 가지고 있습니다. 그러니, 이는 가능한 가장 최고의 수행, 사용자 경험, 그리고 디자인을 이끌것입니다. 

5. Kinvey

기업 중심의 backend as a service로, 2017년, 프로그레스 소프트웨어(Progress Software)가 킨베이(Kinvey)를 소유하였습니다. 서버리스(serverless)를 사용하여 기업 앱들을 작동하게 해주고, 그특징들은 다른 backend제공 기관들과 비슷합니다. 이는 데이터베이스, 인증, 푸시알림, 그리고 정보서비스를 포함하고 있습니다. 

모든 버전들은 hosting과 운용을 포함합니다. 이용 가능한 무료 체험 버전이 있고, 요금은 꽤 비쌉니다. 초보자용 버전은 매년 2,500달러부터 시작합니다.  

킨베이(Kinvey)사용에 대한 장점들은 아래와 같습니다: 

  • 유명기업통합: 언급했듯이, 이 backend플랫폼은 기업들에 알맞다는 것입니다. 이 서비스는세일즈포스(Salesforce), SAP, 워크데이(Workday), 마이크로소프트 액티브 디렉토리(Microsoft Active Directory), 그리고 오라클(Oracle)과 같은 통합들을 포함하고 있습니다. 
  • 운용상정보도구들: 준수 와 분석 보고. 이는 건강관리를 위한 미국 의료정보보호법 호환앱(HIPAA compliant app)들을 제공합니다. 
  • 지원: 연중무휴 가능. 

6. Backendless

백엔드리스(Backendless)는 이 시장의 첫 선수들 중 하나로 벤처 펀딩 없이 긴 시간 운영된 플랫폼입니다. 이 벤더는 두 가지 종류의 hosting을 제공합니다. 온라인 서비스를 사용하거나 부분적으로체계를 운영할 수 있습니다. 

측면에서, 온라인 호스팅hosting에 대한 제한적인 무료 체험 버전이 있고, 매달 25달러부터 시작하는 유료 버전도 있습니다. 

백엔드리스(Backendless)사용에 대한 장점들은 다음과 같습니다:

  • 시각적프로그래밍: 코딩 없이 앱 들을 만드는 UI개발자
  • 독립형버전: 서버 또는 어떤 클라우드 플랫폼에서 이 버전을 부분적으로 운영할 수 있습니다. 
  • 캐시(Cache) 특징: 이 특징은 독립형과 클라우드 hosting에서 이용가능 하고 편리합니다. 
  • 지원: 사용자들에게 연중 무휴 지원을 제공합니다. 

7. AWS Amplify

아마존 웹(Amazon Web) 서비스와 함께 운영되는 오픈 소스 라이브러리(open-source library)입니다. 이는 개발자들이 확장 가능한 서버리스(serverless) 응용 프로그램들을 만들고, iOS, 안드로이드(Android), 리액트 네이티브(React Native), 그리고 웹 frontend과 매끄럽게 통합하는 것을 지원합니다. 이 사용 가능한 특징들은 분석, 알림, AR/VR, 저장 공간, API들을 포함합니다. 

이 서비스는 조그마한 무료 체험 버전과 제작 환경들을 위한 선불요금제도 있습니다.

AWS 앰플리파이(AWS Amplify)사용에 대한 장점들이 아래에 있습니다: 

  • CDN – 콘텐츠 전송 네트위크: 클라우드프론트(CloudFront)와 통합하고, 전 세계적으로 내용을 유통합니다.
  • 그래픽QL(GraphQL): 앰플리파이(Amplify)는 개발의 과정을 더 쉽게 만들어 주는 그래픽QL 변형(GraphQL Transform)이라고 불리는 특징을 제공합니다.
  • 원자 배치: 이 특징은 여러분의 앱이 새 출시에 에서 건설 과정에서 충돌이 생긴다고 해도 계속 작동하게 해 줄 것입니다.

8. Azure Mobile Apps 

마이크로소프트(Microsoft)는 이 게임에서 벗어날 수 없고backend as a service 해결책을 가지고 있습니다. backend플랫폼은 frontend 크로스 플랫폼인 자라밈(Xaramim)과 애저(Azure)와 통합합니다.  

애저 모바일 앱(Azure Mobile Apps)의 사용에 대한 장점들이 아래에 나와 있습니다

  • 보안 프로토콜(Protocols): 마이크로소프트(Microsoft)는 앱을 만드는데 있어 기업 수준의 보안을알맞게 제공합니다.
  • 오프라인동기화: 이 특징은 유용하고, 사용자들이 자동적으로 데이터를 동기화하는 것을 허용합니다. 
  • 광고통합: 이는 공동 접속 개시를 허용하는 또 다른 기업적 특징입니다. 

9. Kii

게임, 사물인터넷(IoT), 일반적인 앱들을 위한 backend 개발 플랫폼입니다. 공동 클라우드, 프라이빗클라우드(private clouds), 로컬 클라우드(local clouds). 이 특징들은 푸시 알림, 데이터와 사용자 관리, 에이비 테스팅(A/B testing), 지리위치, 분석을 표함하고 있습니다. 

키(Kii)를 사용하는 것에 대한 장점들이 아래에 있습니다. 

  • 다양한개발선택지: 어느 클라우드나 지역에서 솔루션을 사용할 수 있습니다. 
  • 사물인터넷(IoT): 플랫폼은 IoT 상호작용을 위한 준비 된 특징들을 가지고 있습니다. 
  • 적합한해결책: 농업, 자산 관리, 무선 표지 등을 위해 구체적인 해결책들을 가지고 있습니다. 

10. Kumulos

모바일 앱 개발 회사들과 모바일 디지털 에이전시들을 위해 만들어진 backend플랫폼입니다. 이는그 회사들이 고객들을 위한 응용 프로그램들을 개발하는 것을 도와줍니다. 

이 특징들은 푸시 알림, 보고 및 분석, 그리고 앱 스토어 최적화를 포함합니다. 이는 스타트업(Startups), 디지털 에이전시, 그리고 기업들을 포함하는 세 가지 요금제가 있습니다. 

쿠물로스(Kumulos)를 사용하는 것에 대한 장점들이 아래에 있습니다. 

  • 충돌 보고 & 진단: 개발자들이 더 빠르게 문제들을 찾고, 해결책을 찾는데 도움을 줍니다
  • 앱스토어최적화: 이는 모든 backend as service회사들 중 하나의 독특한 특징이고, 쿠물로스(Kumulos)에서만 사용이 가능 합니다. .
  • 에이전시조작:  이는 편리하고 소프트웨어 개발 회사가 다양한 앱들을 공동 계정에서 관리할수 있는 것을 허용합니다. 

11. GameSparks

 이는 전적으로 게임들에 초점이 맞춰진 backend서비스입니다. 이는 2013년에 설립되어2017년 아마존(Amazon)이 소유하였습니다. 특징들은 소셜 멀티 플레이어, 메타 게임 경제, 라이브 게임 운영, 확장 가능한 hosting, 그리고 여러 통합들을 포함하고 있습니다. 

가격은 세 가지 주요 요금제로 나눠져 아래에 상세히 나와있습니다. 

  • 개발을 위한 무료 체험버전
  • 매 달 299달러로 시작하는 표준 요금제  
  • 견적에 따른 기업 요금제

게임스파크(GameSparks)가 포함한 장점들: 

  • 특징들과 관련한 사용할 준비가 된 게임
  • 확장 가능한 backend
  • 아마존(Amazon)에 의해 지원

새로운 계정들이나 게임 생성은 게임스파크(Game Sparks)에서 사용이 불가능 합니다. AWS는GDC 2021 에서 이것이 게임 스파크(Game Sparks)의 더 우수하고 향상된 버전인, AWS 게임기술서비스를 개발할 것이라고 발표했습니다. 

12. 8Base

이는 모바일과 웹 응용프로그램들에 이상적인 backend서비스를 작동시키는 하나의 그래픽QL(GraphQL)입니다. 이 특징들은 서버리스 아키텍처(serverless architecture), 비즈니스 로직(business logic), 인증, 알림 등을 포함하고 있습니다. 

이 플랫폼의 장점들은 이와 같습니다: 

  • 그래픽QL(GraphQL)과 같은 새로운 기술들과도 작동합니다. 
  • 셀프 hosting옵션을 제공합니다. 
  • 커스텀 소프트웨어(custom software) 개발이 이용 가능합니다. 

13. NHost

앤호스트(NHost)는 backend as a service시장에서 새로운 플레이어 입니다. 앤호스트(NHost)는 스스로를 그래픽QL(GraphQL)이 있는 파이어베이스(Firebase)의 대안이라고 말합니다. 이 특징들은데이터베이스, API, 인증, 저장 공간, 그리고 서버리스(Serverless) 함수들을 포함합니다. 

이 플랫폼의 주요 장점들은 아래와 같습니다: 

  • SQL 데이터베이스와 함께 작동합니다
  • API 그래픽QL(GraphQL) API를 제공합니다
  • 사용자 친화적인 dashboard

14. Supabase

이 회사는 2020년에 시작되었고, 파이어베이스(Firebase)의 (open-source대안입니다. 주요 특징들로 데이터 베이스, 즉석 API, 실시간 구독, 그리고 저장 공간이 있습니다.

주요 장점들이 여기 있습니다: 

  • 이는 open-source입니다
  • 포스트그레스(Postgres) 데이터베이스와 함께 작동합니다
  • 사용하기 쉽습니다

15. appwrite

웹과 모바일 개발자들을 위한 open-source backend서버입니다. 이는 셀프 hosting 솔루션을 제공하고, 깃허브(GitHub)에서 다운로드 할 수 있습니다. 주요 특징들은, 데이터 베이스, 저장 공간, 사용자관리, 현지화, 함수, 그리고 보안을 포함합니다. 

주요 장점들은 아래와 같습니다:

  • 간단함
  • 자세한 문서
  • 일관성

웹사이트에 가격 정보는 올라와 있지 않습니다. 

16. Kuzzle

사물 인터넷(loT)와 모바일 앱들을 위한 open-source backend as a service입니다. 이 특징들은 인증및 보안, 실시간 데이터베이스, 지오펜싱(Geofencing), 관리자 제어를 포함하고 있습니다. 

가격적인 측면에서, open-source체계는 무료로 다운로드 할 수 있고, hosting서비스는 매달 요금1,200달러에서 시작합니다. 

이 플랫폼의 장점들이 여기 있습니다: 

  • 이는 오픈 소스open-source입니다
  • 온 프레미스(On-premisses)옵션을 무료로 사용할 수 있습니다
  • 유료 회원들은 관리되는 프라이빗 클라우드(private cloud)를 사용할 수 있습니다

다른 BaaS 플랫폼

다른 백엔드(backend) 제공 기관들을 아래 목록에서 확인할 수 있습니다. 

  • 플레이팹(Playfab)(게임들을 위한 backend) 
  • 앱셀러레이터(Appcelerator)(는 2022년에 종료될 것입니다.)
  • 오라클 모바일 허브(Oracle Mobile Hub)
  • IBM 모바일 파운데이션(IBM Mobile Foundation)
  • 바켄드(Baqend)(종료)
  • 콘버티고(Convertigo)
  • 바스박스(BaasBox)
  • 후디(Hoodie)(셀프 hosted backend)

BaaS제공 기관들 비교 

backend서비스 제공기관 모음 표가 아래에 있습니다. 

제공기관주요 특징가격요금제
백포앱(Back4app)확장 가능한 실시간 데이터 베이스         레스트(REST) 와 그래픽QL(GraphQL)      APIs       클라우드 코드 함수(CloudCode Functions)무료체험매달 5달러 요금제부터 시작
파스(Parse)데이터 베이스 같은 스프레드시트(Spreadsheet)   푸시 알림다운가능 다운로드 무료오직 다운로드만 가능
파이어베이스(Firebase)실시간 데이터베이스            분석          
머신러닝(Machine Learning)
무료체험선불요금
클라우드키트(CloudKit)데이터 베이스                         
APIs                                         
파일 공유
무료체험선불요금
백엔드리스(Backendless)시각적 프로그래밍       실시간 데이터베이스    사용자 관리무료체험매달 25달러 요금제부터 시작
킨베이(Kinvey)서버리스 backend               기업 연결 장치들               데이터 파이프라인(Data pipeline)     무료체험매년 2,500달러 요금제부터 시작
AWS앰플리파이(AWS Amplify)데이터스토어(Datastore)                    인증      
그래픽QL(GraphQL) APIs
무료체험선불요금
애제 모바일 앱(Azure Mobile Apps)공유 가입                오프라인 동기화      확장 가능한 hosting무료체험선불요금
키(Kii)데이터 관리    사용자 관리    지리 위치 무료체험
쿠물로스(Kumulos)앱 내 메시징(Messaging)                              분석
앱 스토어 최적화 
무료체험선불요금
게임스파크(Gamesparks)소셜 멀티플레이어(Social Multiplayer)                확장 가능한 hosting           분석무료체험매달 299달러 요금제부터 시작
8베이스(8Base)    서버리스(Serverless) 함수        그래픽QL(GraphQL)API                 관계형 데이터베이스 무료체험매달 25달러 요금제부터 시작
앱라이트(appwrite)데이터베이스
저장공간
보안
없음없음
커즐(Kuzzle)실시간 발행/구독      사용자 인증           지오펜싱(Geofencing)무료체험매달 1,200달러 요금제부터 시작

결론

응용프로그램들은 frontend, backend, 그리고 그 두 개의 모든 면에서 APIs 연결을 가지고 있습니다. backend as a service또는 BaaS (모바일 앱들을 위한 mBaaS)는 개발 backend 코드를 자동화하는것을 도와 줄 것입니다. backend서비스 제공 기관들은 응용프로그램들을 배치하고, 관리하고, 크기를 변경하는데 책임을 가지고 있습니다. 

backend as a service플랫폼을 사용하는 주요 이유들은 앱을 출시하는 시간과 개발비용을 줄이고, 인프라 관리를 아웃소싱하기 위해서 입니다. BaaS의 가장 흔한 특징들은 확장 가능한 데이터베이스, APIs, 클라우드 코드 함수, 알림, 그리고 인증입니다. 

시장 내 선두적인 플레이어들은 백포앱(Back4App), 파스(Parse), 그리고 파이어베이스(Firebase)를포함하고 있습니다. 

자, 저희가 성취해 낸 결과들을 어떻게 생각하시나요? backend as a service가무엇인지아는데도움이되었나요?

이 사용지침서에 더 많은 정보를 추가하길 원하신다면, 문의해 주십시오, 여러분의 의견을 넣는 건언제나 환영입니다. 

자주 묻는 일반 질문

BaaS- Backend as a Service는 무엇입니까?

BaaS, mBaas, 또는 Backend as a Service는 backend 측면 개발을 자동화시키고 사용할 준비가 된APIs를 제공하고, 클라우드 인프라를 제공하는 것입니다. BaaS는 APIs와 SDKs를 통해 여러분의앱 fronted를 backend로 연결하는 것을 허용할 것입니다.

BaaS사용에 대한 장점들은 무엇입니까?

BaaS를 사용하면 backend 측면 개발의 속력을 높일 수 있게 해주고, 소프트웨어(software)프로젝트의 시간을 줄이고, 클라우드 인프라 관리의 책임을 아웃소스 할 수 있게 해줍니다. 

backend as a service는 어떤 특징들을 가지고 있습니까?

가장 흔한 BaaS 특징들은 확장 가능한 데이터베이스, APIs, 클라우드 코드 함수, 알림, 그리고 인증입니다

최고의 BaaS 제공 기관들은 무엇입니까?

– Back4app
– Parse
– Firebase
– CloudKit
– Backendless
– Kinvey
– AWS Amplify
– Azure Mobile Apps
– Kii
– Kumulos
– GameSparks
– 8Base
– NHost
– Supabase
– appwrite
– Kuzzle


Leave a reply

Your email address will not be published.