Slide 1

Slide 1 text

Topic: Everything Serverless with Google Cloud Run @odirionyeo E OBINNA ODIRIONYE | DEVFESTUYO 2019

Slide 2

Slide 2 text

OBINNA ODIRIONYE. Student Partner, Microsoft. Campus Ambassador, Ingressive. DevOps Engineer, Deimos.

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

“Serverless computing is a paradigm shift in application development that enables developers to focus on writing code without worrying about infrastructure.” - Google Cloud What is serverless? “Serverless computing enables developers to build applications faster by eliminating the need for them to manage infrastructure.” - Microsoft Azure

Slide 5

Slide 5 text

“FaaS is a serverless backend service allowing developers to write modular pieces of code on the fly that can be executed in response to certain events” - Cloudflare. Such examples are sending mails, payment processing, uploading file to Google cloud Storage, Posting a tweet and many more. Serverless: FUNCTIONS-AS-A-SERVICE

Slide 6

Slide 6 text

“FaaS is a serverless backend service allowing developers to write modular pieces of code on the fly that can be executed in response to certain events” - Cloudflare. Such examples are sending mails, payment processing, uploading file to Google cloud Storage, Posting a tweet and many more. Serverless: FUNCTIONS-AS-A-SERVICE Serverless/FaaS architecture.

Slide 7

Slide 7 text

Google trends: What does the statistics say over the last five years about serverless?

Slide 8

Slide 8 text

Serverless Cloud Providers(FAAS): 1. Google Cloud 2. Microsoft 3. Amazon Web Services 4. IBM 5. Netlify 6. Zeit 7. Cloudflare 8. Alibaba Cloud 9. Apache and more...

Slide 9

Slide 9 text

Advantages: ● No Server Management. ● Pay for what you use, reducing cost ● Auto scaling. ● Fast Deployments and updates. Deeper Dive into Serverless Computing Disadvantages: ● Testing and debugging is hard ● Performance becomes an issue, Cold boots. ● Not built for long processes. ● Vendor lock-in a risk. Hint: Use Serverless framework.

Slide 10

Slide 10 text

“Serverless framework is a cross-platform, free and web open-source framework which allows developers to deploy functions to FaaS providers.” What is the Serverless Framework? Supported FaaS Providers(Framework): ● AWS Lambda ● Microsoft Azure functions ● Kubeless ● Google Cloud functions ● Cloudflare workers ● Alibaba Cloud Functions ● Apache Openwhisk

Slide 11

Slide 11 text

THE PROBLEMS OF FUNCTIONS: ● Unconventional way of writing/deploy apps Microsoft Azure Functions config Netlify functions config

Slide 12

Slide 12 text

Zeit Now config Cloudflare workers Firebase functions config

Slide 13

Slide 13 text

Google Cloud functions: ● Node.js 8 -10 ● Go 1.11 ● Python 3.71 MORE PROBLEMS: Limited Multiple Language Runtimes: Microsoft Azure functions: ● Node.js 8 -10 ● C# ● F# ● Bash ● PHP(Experimental)

Slide 14

Slide 14 text

KEY QUESTIONS: ● What happens to your app when no runtime is available? ● What happens when developers want to deploy apps using latest versions of their runtime like Node.js v12 ? ● How long do I have wait for my runtime to be released? ● Does this mean containers are finally going to die? And more...

Slide 15

Slide 15 text

Developer: Hay God! What sort of compound complex problem is this?

Slide 16

Slide 16 text

Google trends: What does the statistics say over the last five years about serverless and containers?

Slide 17

Slide 17 text

“Serverless has evolved beyond FaaS...” - Kelsey Hightower, Developer Advocate at Google Cloud

Slide 18

Slide 18 text

Serverless + Containers = Google Cloud Run CONTAINERS AS A SERVICE A SOLUTION AT LAST!

Slide 19

Slide 19 text

How containers will be feeling like right now

Slide 20

Slide 20 text

“Containers finally solves the compound complex problems of functions” - Obinna Odirionye.

Slide 21

Slide 21 text

Serverless + Containers(CAAS): ● Developers can ship their products and tools with their favorite choice of language(PHP, Kotlin, Java, Ruby, etc) ● No more Vendor lock-in problems. ● Custom Domain with autoSSL. ● Openness to Business Logic. ● There’s no need to know Kubernetes.

Slide 22

Slide 22 text

Developers: Obinna, Your talk talk is too much, how do we deploy?

Slide 23

Slide 23 text

Prerequisites: Docker, Basic Knowledge of Containers. Steps: 1. Build your Docker image of your app. [docker build --rm -f "Dockerfile" -t *name of app* /path/to/your/app] 2. Tag your Docker image to the Google Cloud Container Registry [docker tag *name of the built image* us.gcr.io/[PROJECT ID]/*name of the built image*] 3. Push the tagged image to Google Cloud [docker push us.gcr.io/[PROJECT_ID]/*name of the built image*]. 4. Deploy to Cloud Run from your Google Cloud Console. *Here’s a link: Google cloud Run Docs* Packaging and Deployment(CLI)

Slide 24

Slide 24 text

That’s all. Start moving those apps to Serverless.

Slide 25

Slide 25 text

Before using Serverless. After using Serverless.

Slide 26

Slide 26 text

Thank You! Reach me on twitter via odirionyeo and check out my work on Github via nerdeveloper.

Slide 27

Slide 27 text

No content