Title Text

Serverless Architecture

FaaS

Text

SOMMAIRE

  • Qu'est ce que le serverless ?
  • Cas d'usages
  • Architectures
  • Présentation de AWS Lambda
  • Le role des obs et l'administration

Qu'est ce que le serverless ?

FaaS

PaaS

Serverless

VS

VS

JCRaaS

Je comprend rien as a Service

Du code sans serveur ?

Le mouvement NoOps ?

Amazon AWS Lambda

Microsoft Azure Functions

Google Cloud Functions

Et Cloudwatt dans tout ça ?

https://github.com/fnproject/fn

http://fnproject.io

FN Project

C'est Marine ou Jean-Marie qui s'en occupe ?

Cas d'usage du FaaS

Développement Backend

Applicatif fortement intégré au Cloud

Besoin d'exécution de code "à la volée"

Architecture Microservice

Besoin scalabilité forte

Sécurité

Time to market

Optimisation des coûts

Application avec un besoin de faible latence

Applications sensibles

SLAs pas forcément suffisants

Limitations des langages

Couplage fort avec le Cloud choisi

Architectures Faat

Architecture "Backend"

Architecture "event-driven"

AWS Lambda

using System.IO;

namespace Example{

            
    public class Hello
    {
     public Stream MyHandler(Stream stream)
     {
       //function logic
     }
    }
}
package example;

import com.amazonaws.services.lambda.runtime.Context; 
import com.amazonaws.services.lambda.runtime.RequestHandler;

public class Hello implements RequestHandler<Integer, String>{
    public String myHandler(int myCount, Context context) {
        return String.valueOf(myCount);
    }
}
exports.myHandler = function(event, context, callback) {
   console.log("value1 = " + event.key1);
   console.log("value2 = " + event.key2);  
   callback(null, "some success message");
   // or 
   // callback("some error type"); 
}
package main

import (
	"github.com/aws/aws-lambda-go/lambda"
)

func hello() (string, error) {
	return "Hello ƛ!", nil
}

func main() {
	lambda.Start(hello)
}
def my_handler(event, context):
    message = 'Hello {} {}!'.format(event['first_name'], 
                                    event['last_name'])  
    return { 
        'message' : message
    }  

Triggers

Pricing

Limites

Pour aller + loin: 

AWS CodePipeline

AWS CodeBuild

AWS CloudFormation

DEMO!

La fin des OPs ?

Qui gère le monitoring, le déploiement, la sécurité et le réseau ?

Je fais tout moi

Questions ?

Jsui pas d'acord sur ....

deck

By Erwann Cloarec

deck

  • 568