All Projects → jasonumiker → serverless-multicloud-example

jasonumiker / serverless-multicloud-example

Licence: other
An example Node Express app that can be deployed in any major cloud by the Serverless framework

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to serverless-multicloud-example

Serverless
⚡ Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! –
Stars: ✭ 41,584 (+207820%)
Mutual labels:  serverless-framework, azure-functions, google-cloud-functions
hyperform
⚡ Lightweight serverless framework for NodeJS
Stars: ✭ 156 (+680%)
Mutual labels:  serverless-framework, google-cloud-functions
boilerplate-googlecloudfunctions-nodejs
A Serverless Framework Boilerplate for Google Cloud Functions support in Node.js
Stars: ✭ 15 (-25%)
Mutual labels:  serverless-framework, google-cloud-functions
Serverless Azure Functions
Serverless Azure Functions Plugin – Add Azure Functions support to the Serverless Framework
Stars: ✭ 213 (+965%)
Mutual labels:  serverless-framework, azure-functions
Guide
Serverless Guide - An open-source definitive guide to serverless architectures.
Stars: ✭ 421 (+2005%)
Mutual labels:  serverless-framework, azure-functions
Jazz
Platform to develop and manage serverless applications at an enterprise scale!
Stars: ✭ 254 (+1170%)
Mutual labels:  serverless-framework, azure-functions
action-serverless
GitHub Action for interacting with the Serverless CLI
Stars: ✭ 36 (+80%)
Mutual labels:  serverless-framework
amazon-ivs-ugc-web-demo
This repository shows how you can build a compelling user-generated content (UGC) live streaming webapp with Amazon IVS.
Stars: ✭ 14 (-30%)
Mutual labels:  serverless-framework
AzureWebAppSSLManager
Acquires and manages free SSL certificates for Azure Web App and Azure Functions applications.
Stars: ✭ 70 (+250%)
Mutual labels:  azure-functions
CloudFrontier
Monitor the internet attack surface of various public cloud environments. Currently supports AWS, GCP, Azure, DigitalOcean and Oracle Cloud.
Stars: ✭ 102 (+410%)
Mutual labels:  serverless-framework
CfpExchange
An online community website used to share interesting call for papers with speakers.
Stars: ✭ 24 (+20%)
Mutual labels:  azure-functions
noiiice
a serverless blog built on NuxtJS, AWS, serverless framework, and irrational exuberance.
Stars: ✭ 42 (+110%)
Mutual labels:  serverless-framework
firebase-functions-es6-example
Use ES6 to develop Cloud Functions for Firebase today!
Stars: ✭ 20 (+0%)
Mutual labels:  google-cloud-functions
serverless-nestjs-typeorm
Example how to nestjs using the serverless framework with TypeORM
Stars: ✭ 99 (+395%)
Mutual labels:  serverless-framework
azure-event-driven-data-pipeline
Building event-driven data ingestion pipelines in Azure
Stars: ✭ 13 (-35%)
Mutual labels:  azure-functions
TextMood
A Xamarin + IoT + Azure sample that detects the sentiment of incoming text messages, performs sentiment analysis on the text, and changes the color of a Philips Hue lightbulb
Stars: ✭ 52 (+160%)
Mutual labels:  azure-functions
Juka
🥣 Juka Programming Language - Fast Portable Programming Language. Run code anywhere without complicated installations and admin rights. Simple, yet powerful new programming language [Easy to code and run on any system] IOT devices supported!
Stars: ✭ 68 (+240%)
Mutual labels:  azure-functions
namevault
Account creator & name generator for users on EOS and EOSIO compatible blockchains.
Stars: ✭ 17 (-15%)
Mutual labels:  serverless-framework
sls-photos-upload-service
Example web app and serverless API for uploading photos and saving to S3 and DynamoDB
Stars: ✭ 50 (+150%)
Mutual labels:  serverless-framework
Funcaster
⚡ Serverless .NET solution for hosting your 🔊 podcasts with (nearly) zero costs using Azure Functions and Azure Storage Account.
Stars: ✭ 44 (+120%)
Mutual labels:  azure-functions

serverless-multicloud-example

This is the example for my blog post - Blog Post

An example Node Express app that can be deployed in any of the major clouds by the Serverless framework (https://serverless.com). The differences in handler for each serverless service is abstracted by the serverless-express plugin (https://www.npmjs.com/package/serverless-express) - which has been isolated in handler.js - leaving app.js for our cloud-agnostic business logic.

I intend for it to be a working example of the serverless without lock-in concepts discussed here - https://www.thoughtworks.com/insights/blog/mitigating-serverless-lock-fears

To use copy the relevant severless-xxx.yml file for the cloud you want (AWS, GCP or Azure) to serverless.yml and do a sls deploy.

You also need to provide an Internet-facing Mongo URL via environment variable in the serverless-xxx.yml file to use the Mongo CRUD functionality (all the /document APIs).

Note that for GCP some initial setup is required as described here - https://serverless.com/framework/docs/providers/google/guide/credentials/. The other clouds you just need valid login details and CLIs configured to proceed.

Note that for Azure the URIs have to start with /api/app and in Google they have to start with /handler. I am investigating how to have them start at the root like in AWS.

For the AWS side you can use the offline testing functionality by doing a sls offline.

The example app is a todo list application with a description and due date field for each task.

The APIs are:
GET - / - App description and version
POST - /documents/new - Create a task/document (takes two parameters - description and duedate)
GET - /documents/all - Return all tasks/documents
GET - /documents/id - Return a particular document by ID (via id parameter)
DELETE - /documents/id - Delete a particular document by ID (via id parameter)
PATCH - /documents/id - Update a particular document by ID (via id parameter and it takes description and/or duedate as the fields to update)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].