Serverless Computing Powered by Google Cloud Platform (GCP)

The BTC Team

Over the last two decades, numerous technologies have brought innovation in IT with a key focus–letting developers do what they do best (coding) instead of worrying about the underlying infrastructure. Serverless computing is an ideal choice among them.

With serverless computing, developers don’t have to get slowed down with managing servers or OS as everything’s taken care of by a cloud provider. A provider handles any routine work, including provisioning, maintaining, and scaling the server infrastructure, hardware, and container management. Developers can write and deploy code to containers tackling business logic without hassle.

Serverless offerings are charged by public cloud providers based on execution time and resources needed instead of a monthly fee for physical or virtual machines maintenance. The billing cycle starts when execution begins and ends when it stops. This ‘pay-as-you-go’ model ensures that when a serverless function is idle, it costs developers nothing.

Serverless still has servers involved

The term ‘serverless’ may seem like no servers, but there are servers in the backend services, but all of that is handled by the cloud provider. ‘Serverless’ indicates that the servers are invisible to the developers, who don’t have to manage them.

Serverless framework typically falls under two categories: Backend-as-a-Service (BaaS) and Function-as-a-service (FaaS). The most common serverless computing model used is FaaS. This cloud computing service enables developers to write application code as a set of event-driven functions and run them as containers managed by cloud service providers. Each function is triggered by specific events or HTTP requests, and the cloud provider executes them on a running or new server. This entire execution process is invisible to developers, and hence serverless computing.

Most of the major public cloud providers have FaaS offerings, including AWS with AWS Lambda functions, Microsoft Azure with Microsoft Azure Functions, Google Cloud with Cloud Run, Apache Openwhisk, IBM with IBM Cloud functions.

Why serverless computing?

In recent years, there has been a significant increase in serverless adoption. According to the O’Reilly serverless survey 2019, 40% of organizations have adopted serverless architecture in some form or another. Global multinational companies and startups alike are leveraging serverless computing. The benefits of serverless computing includes:

  • Development in any language: Developers can write code in any language or framework, Java, Python, Javascript, or node.js, as they wish.
  • Cost-effective: With pay for execution model, the operational costs are significantly reduced in a serverless model, as opposed to running servers all the time.
  • Productivity: Serverless computing enables developers to focus on writing and deploying code, improving their productivity. By removing the routine tasks of infrastructure management, developers have more time to innovate.
  • DevOps: As developers don’t have to spend time provisioning infrastructure, serverless simplifies DevOps adoption.
  • Usage visibility: Serverless model provides visibility into system and usage information, including user times.

Google Cloud Platform (GCP) 

Google Cloud Platform offers a fully managed serverless platform with multiple components to develop and deploy highly scalable serverless applications. GCP’s serverless model automatically scales servers depending on traffic and adopts a pay-as-you-use model.

Cloud Run

Cloud Run is a serverless fully-managed platform to develop and deploy highly-scalable containerized applications on GCP. It allows the use of any programming language or operating system libraries. It also allows bringing your own binaries to build websites. Further, Cloud Run charges only for the resources that are used. Cloud Run works well together with other Google Cloud services so that full-featured applications can be built.

Cloud Run also enhance developer experience by providing a simple command-line and user interface to quickly deploy and manage applications and services. It also allows integration with Cloud Build, a turnkey CI/CD solution, and Cloud Code, a set of IDE plugins, for continuous deployment.

Cloud Functions

Cloud Functions is GCP’s scalable FaaS platform that allows users to run code in the cloud in response to events triggered by Firebase features and HTTPS requests. No need to manage servers or containers. It runs functions across multiple environments (on-premise, local environment, Cloud Run, and Knative-based open serverless runtime environment) and prevents lock-in. Google Cloud Functions can also be used to connect with third-party cloud services to streamline orchestration problems.

This pay-as-you-go platform helps write and run small code snippets on the GCP console or write them locally and deploy them using Google Cloud tooling on the local machine.

Service Integration Components

GCP also provides service integration products to integrate and orchestrate services and help developers focus on building applications. These products integrate services such that it is inherently asynchronous and loosely coupled. This ensures that the agility of each individual service is preserved and rapid innovation is enabled. They also offer multiple benefits, such as observability, security, scalability, and reliability.

Eventarc: Eventarc makes it easy to connect Cloud Run services with events from a variety of sources (Google Cloud services with Cloud Storage buckets, SaaS, or own code). It requires no infrastructure management and optimizes productivity and costs.

Scheduler: Cloud Scheduler on Google Cloud helps trigger batch processes and automation on a schedule. It is a fully managed enterprise-grade cron job scheduler that allows developers to schedule any job, such as batch and cloud infrastructure operations.

Workflows: Workflows enable developers to combine GCP services and APIs to build applications, ML pipelines, and process automation. It allows calling any service, whether it’s Cloud Functions or third-party APIs.

Tasks: GCP allows offloading asynchronous work with its Cloud Tasks queues. Cloud Tasks is a fully-managed service that enables managing execution, dispatch, and delivery of distributed tasks. Tasks can be executed on App Engine or any HTTP endpoint.

Use cases of Serverless computing

  1. Websites: Building websites using Cloud Run using any language or framework, including Go, Python, and Java) and accessing SQL databases on Cloud SQL.
  2. APIs and third-party services integration: Microservices can be surfaced using Cloud Functions and enable third-party services integration for powerful capabilities such as responding to Twilio text message events.
  3. IT process automation: Capabilities such as monthly workflow schedules to detect security compliance issues can be achieved by automating cloud infrastructure with Eventarc triggers and Google Cloud service workflows.
  4. Real-time analytics: Running real-time data analytics on files streamed from Cloud Storage into BigQuery using Cloud Functions.

BTC’s expertise

As a Google Cloud Partner, BTC has deep expertise in solving challenges in cloud technology. Our solutions help organizations automate routine tasks and simplify the operations of infrastructure management, thereby reducing costs and improving productivity. BTC’s best-in-industry pool of Google, Azure, and AWS Certified and experienced professionals helps develop the right solutions suited to business needs while taking care of cloud infrastructure. Our managed services include provisioning, orchestration, patch management, compliance and security management, governance, and more.

To see how BTC can help you achieve this, contact us.


What are your thoughts?

Your healthcare program deserves
all the advantages that digital technology delivers.

Get A Free Consultation