Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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.

02b3f64a1d67d061c3be08729322a90b?s=128

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
  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
  3. O que é Serverless? s := &Serverless{Event:”S3”}

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

  5. type Serverless struct { Web *Event}

  6. type Containers struct{ Pod *Node}

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

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

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

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

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

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

  13. S3Event(s, f, function(result) { s3List(result, function(result) { s3Records(result, function(result) {

    …... }); }); }); O que é Lambda?
  14. func Get(c *Serverless){c.Domain = “serverless.com”)}

  15. Lambda.Start(Handler) gohello.go

  16. publishLambda <- awscli

  17. awsconsole <- createFunction

  18. awsconsoleList <- true

  19. actions <- struct{}

  20. Qualifiers <- AliasVersion

  21. NetWorkFila <- List

  22. Execute <- true

  23. TimeDuration <- true

  24. LambdaLog <- true

  25. Graficos <- true

  26. publishLambda <- awscli

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

  28. creteIAM <- awscli

  29. attachRolePolicy <- iamExecutaor

  30. functionName <- createFunction

  31. LambdaInvoke <- gohello

  32. LambdaPublish <- gohello

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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