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

JS+ TechTalks terceira edição

JS+ TechTalks terceira edição

Utilizamos essa apresentação na terceira edição do JS+ TechTalks, onde, abordei os conceitos da arquitetura serverless e também de GraphQL

More Decks by Murilo Cezar Amêndola de Oliveira

Other Decks in Programming

Transcript

  1. Quem sou eu? • Formado em Ciência da Computação na

    Universidade Presbiteriana Mackenzie; • MBA em Arquitetura de Soluções na FIAP; • 14 anos de experiência na área de tecnologia; • Coordenador de Engenharia na Juntos Somos Mais; Murilo Cezar Amêndola de Oliveira
  2. Expectativas • Entender o que é Serverless. • Entender os

    conceitos sobre GraphQL e saber quando usá-lo. • Conseguir iniciar um projeto utilizando GraphQL e arquitetura Serverless na Cloud AWS. • Introduzir alguns conceitos para que possam pesquisar a respeito e se aprofundar na tecnologia.
  3. • O que é Serverless? • Por que o GraphQL

    existe? • O que é GraphQL? • Aplicação: GraphQL + Serverless • AppSync e Apollo • Encerramento Agenda
  4. Agenda • O que é Serverless? • Por que o

    GraphQL existe? • O que é GraphQL? • Aplicação: GraphQL + Serverless • AppSync e Apollo • Encerramento
  5. Agenda • O que é Serverless? • Por que o

    GraphQL existe? • O que é GraphQL? • Aplicação: GraphQL + Serverless • AppSync e Apollo • Encerramento
  6. Por que o GraphQL existe? RESTful Routing Dado que um

    servidor possui uma coleção de registros, deveríamos possuir uma URL e um HTTP Request Method que nos permita utilizar esses registros.
  7. Agenda • O que é Serverless? • Por que o

    GraphQL existe? • O que é GraphQL? • Aplicação: GraphQL + Serverless • AppSync e Apollo • Encerramento
  8. O que é GraphQL? GraphQL is a query language for

    your API, and a server-side runtime for executing queries by using a type system you define for your data. GraphQL isn't tied to any specific database or storage engine and is instead backed by your existing code and data.
  9. O que é GraphQL? query { } query { user(id:"37")

    { } } query { user(id:"37") { friends { } } } query { user(id:"37") { friends { company { name } } } } { "data": { "user": { "friends": [{ "company": { "name": "Juntos" } }] } } }
  10. Agenda • O que é Serverless? • Por que o

    GraphQL existe? • O que é GraphQL? • Aplicação: GraphQL + Serverless • AppSync e Apollo • Encerramento
  11. Aplicação: GraphQL + Serverless - GraphQL Schema Schema Definition Language

    (SDL) "type User { id: String! name: String! company: Company! Position: Position! friends: [User] }" • Type • Query • Resolver • Mutation • Subscription "type Query { user(id: String!): User }" { Query: { user: (root, args) => ... } }
  12. Agenda • O que é Serverless? • Por que o

    GraphQL existe? • O que é GraphQL? • Aplicação: GraphQL + Serverless • AppSync e Apollo • Encerramento
  13. Agenda • O que é Serverless? • Por que o

    GraphQL existe? • O que é GraphQL? • Aplicação: GraphQL + Serverless • AppSync e Apollo • Encerramento
  14. Encerramento https://github.com/muriloamendola/graphql-serverless • Performance (N + 1): Considerar o uso

    de Cache (DataLoader) • Não existe bala de prata • Tempo de execução da Lambda function