$30 off During Our Annual Pro Sale. View Details »

Serverless & Go

Serverless & Go

Esta apresentação é uma simples e humilde tentativa de apresentar o contexto da arquitetura de serverless e sua aplicabilidade em cenários e problemas enfrentados atualmente para resolver problemas quando o assunto se trata de aplicações na nuvem.

Foi mostrado como funcionar um servidor serverless, quais soluções existentes no mercado, quais soluções open source existentes caso tenha interesse de montar seu próprio servidor serverless, e por fim relatamos a utilização dos "Lambdas" na plataforma da Aws.

Falamos dos custos e qual cenário seria mais interessante a sua utilização.

Jefferson Otoni Lima

August 28, 2018
Tweet

More Decks by Jefferson Otoni Lima

Other Decks in Technology

Transcript

  1. s3wf.com
    @jeffotoni
    GO Meetup BH, Ago 28 2018
    Jefferson Otoni
    Serverless Go

    View Slide

  2. @jeffotoni
    O que é Serverles ?
    Lambda.Start(Handler)
    go get deploy / var Sam *PublicBeta
    01
    02
    03
    Quanto Custa $ ? 04
    Limites & concorrência 05
    Microsserviço vs Lambda 06

    View Slide

  3. O que é
    Serverless?
    s := &Serverless{Event:”S3”}

    View Slide

  4. go func(p chan bool){ p<- true }(pizza)

    View Slide

  5. type Serverless struct { Web *Event}

    View Slide

  6. type Containers struct{ Pod *Node}

    View Slide

  7. L := &Serverless{ l *Lambda}

    View Slide

  8. func main() { lambda.Start(HandleRequest) }

    View Slide

  9. func AuroraServerless(bd *Mysql){ bd.Aws{Ativar: true, Time: 5, ACUs: 0.06}}

    View Slide

  10. O que é
    FaaS?
    func GoHello(event MyEvent) (*MyResponse, error) {}

    View Slide

  11. func FaaS(e MyFaaS) (*MyResponse, error) { return &MyResponse{Body: e.Name, nil }

    View Slide

  12. func Plataformas_Open_SourceFaaS( P map[string]interface{}) { f := (*T).Name }

    View Slide

  13. S3Event(s, f, function(result) {
    s3List(result, function(result) {
    s3Records(result, function(result) {
    …...
    });
    });
    });
    O que é
    Lambda?

    View Slide

  14. func Get(c *Serverless){c.Domain = “serverless.com”)}

    View Slide

  15. Lambda.Start(Handler)
    gohello.go

    View Slide

  16. publishLambda <- awscli

    View Slide

  17. awsconsole <- createFunction

    View Slide

  18. awsconsoleList <- true

    View Slide

  19. actions <- struct{}

    View Slide

  20. Qualifiers <- AliasVersion

    View Slide

  21. NetWorkFila <- List

    View Slide

  22. Execute <- true

    View Slide

  23. TimeDuration <- true

    View Slide

  24. LambdaLog <- true

    View Slide

  25. Graficos <- true

    View Slide

  26. publishLambda <- awscli

    View Slide

  27. creteIAM <- awscli
    File: trust-policy.json

    View Slide

  28. creteIAM <- awscli

    View Slide

  29. attachRolePolicy <- iamExecutaor

    View Slide

  30. functionName <- createFunction

    View Slide

  31. LambdaInvoke <- gohello

    View Slide

  32. LambdaPublish <- gohello

    View Slide

  33. Deploy := &Serverless{...}

    View Slide

  34. Serverless := &Install{...}

    View Slide

  35. Serverless := &create{...}

    View Slide

  36. Serverless := &Deploy{...}

    View Slide

  37. Serverless := &Invoke{...}

    View Slide

  38. Simulation := &SamBeta{...}

    View Slide

  39. Simulation := &SamBeta{...}

    View Slide

  40. Simulation := &SamCode{...}

    View Slide

  41. CustoInvoke := &AwsLambda{...}

    View Slide

  42. CustoInvoke := &SendValDolar{...}

    View Slide

  43. CustoInvoke := &SendValDolar{...}

    View Slide

  44. Calcular := &Lambda{...}

    View Slide

  45. AwsLambdaInvoke := &Limites{...}

    View Slide

  46. AwsLambdaDeploy := &Limites{...}

    View Slide

  47. microServiços := &vsLambda{...}

    View Slide

  48. codeApiServer := &Requests{...}

    View Slide

  49. microServiços := &vsLambda{...}

    View Slide

  50. Thanks := &Obrigado{...}
    Obrigado...
    github.com/jeffotoni
    instagram.com/jeffotoni
    https://t.me/devopsbh
    https://t.me/go_br
    https://t.me/awsbrasil

    View Slide