MJay

Introducing Serverless 본문

Cloud Computing/Serverless

Introducing Serverless

MJSon 2019. 3. 29. 20:50

Setting the Stage

The birth of the AWS

EC2 - 2006

S3 -> Lambda

The Birth of the Cloud

In August of 2006 something happened which would fundamentally change this model. Amazon’s new IT Division, Amazon Web Services (AWS), announced the launch of Elastic Compute Cloud (EC2).

EC2’s five key advantages are:

  1. Reduced labor cost
  2. Reduced risk
  3. Reduced infrastructure cost
  4. Scaling

The Cloud Grows

Slightly more specifically, we can group all three of these (IaaS, PaaS, CaaS) as Compute as a Service;

Enter Serverless, Stage Right

So here we are, a little over a decade since the birth of the cloud. The main reason for this exposition is that Serverless, the subject of this report, is most simply described as the next evolution of cloud computing, and another form of infrastructural outsourcing.

Defining Serverless

Serverless actually covers a range of techniques and technologies. We group these ideas into two areas: Backend as a Service (BaaS) and Functions as a Service (FaaS).

Backend as a Service

BaaS앱 개발자가 서버 기술을 몰라도 그 환경에 연결되는 모바일 앱을 만들 수 있게 돕는 서비스이다

개발자는 앱을 개발할 때마다 자주 필요한 사용자 관리 및 접속 제어, 푸시 알림, 데이터 저장, 누리 소통망 서비스(SNS), 위치 서비스 등의 백엔드 기능을 구현하기 위해 코드를 직접 개발해야 한다. 그러나 서비스형 백엔드(BaaS)를 이용하면, 직접 코드를 개발하지 않고 앱을 클라우드와 연동시켜 BaaS에서 제공하는 응용 프로그램 인터페이스(API: Application Program Interface)를 호출하여 사용할 수 있다. 따라서 개발 시간을 단축하고 코드의 복잡성을 줄일 수 있다.

BaaS is all about replacing server-side components that we code and/or manage ourselves with off-the-shelf services.

It’s closer in concept to Software as a Service (SaaS) than it is to things like virtual instances and containers.

SaaS is typically about outsourcing business processes though—think HR or sales tools, or on the technical side, products like Github—whereas with BaaS, we’re breaking up our applications into smaller pieces and implementing some of those pieces entirely with external products.

BaaS services are domain-generic remote components (i.e., not in-process libraries) that we can incorporate into our products, with an API being a typical integration paradigm.

Examples

Google's firebase. Firebase is a database product that's fully managed by a vendor that can be used directly from a mobile or web application without the need for our own intermediary application server. This represents one aspect of BaaS. services that manage data components on our behalf.

Backend as a Service as a term became especially popular with the rise in mobile application development; in fact, the term is sometimes referred to as Mobile Backend as a Service (MBaaS). However, the key idea of using fully externally managed products as part of our application development is not unique to mobile development, or even front-end development in general.

Functions as a Service

The other half of Serverless is Functions as a Service (FaaS). FaaS is another form of Compute as a Service—a generic environment within which we can run our software, as described earlier. In fact, some people (notably AWS) refer to FaaS as Serverless Compute. Lambda, from AWS, is the most widely adopted FaaS implementation currently available.

FaaS is a new way of building and deploying server-side software, oriented around deploying individual functions or operations. FaaS is where a lot of the buzz about Serverless comes from; in fact, many people think that Serverless is FaaS, but they’re missing out on the complete picture.

The functions are not constantly active in a server process though, sitting idle until they need to be run as they would in a traditional system (Figure 1-3). Instead, the FaaS platform is configured to listen for a specific event for each operation. When that event occurs, the vendor platform instantiates the Lambda function and then calls it with the triggering event.

즉 종합을 하자면 Serverless 는 Baas 랑 Faas 로 구성되어있다

공통점은 둘다 서버에 대해서 걱정할 필요가 없다는 것이다.

'Cloud Computing > Serverless' 카테고리의 다른 글

Benefits of Serverless  (0) 2019.04.03
What Do Serverless Applications Look Like?  (0) 2019.03.29
Benefits of Serverless  (0) 2019.03.29