SlideShare a Scribd company logo
1 of 30
Download to read offline
BrikL
A GraphQL Native
Tobias Meixner
Co-Founder & CTO
Brikl Ltd - www.brikl.io
12 April 2019
Agenda
2
▪ Startup Life
▪ BrikL GraphQL Journey
▪ Our GraphQL Stack
Tobias Meixner
3
▪ Born in Berlin
(born before it was cool)
▪ In Asia for over 6 years
▪ Based in Bangkok
& Guangzhou
▪ Co-Founder & CTO @
▪ @MeixnerTobias
Startup Life
Developing software on fire
5
6
Actually it is ... most of the time...
What is a startup?
7
▪ Focus on growth
▪ Solve a problem
▪ More questions than answers
▪ Find product/market fit
8
Startup Valley of Death
Source: Osawa and Miyazaki, 2006
9 Source: https://www.leadingagile.com/2017/11/planning-technical-debt/
Leverage
▪ Incur intentionally
for a purpose
▪ Useful when
cost-effective
Waste
▪ Sloppy coding
▪ Refactoring has no
immediate benefit
Technical Debt
Dev in Startup...
10
▪ Move fast, break
things?
▪ Delete more than you
add?
▪ Crave for stability and
a constant?
BrikL constants since 2016
11
BrikL & GraphQL
Journey with GraphQL as constant
About BrikL
13
▪ 2D & 3D
Design studio
▪ E-commerce
Platform for
Custom-Made
Products
▪ www.brikl.io
Why GraphQL
14
▪ Pure focus on Frontend development
▫ MVP-style / UI-Driven development
▪ GraphQL Schema as major constant in our
development
▪ GraphQL Schema as discussion base
between project shareholders
MVP (2016)
15
▪ React
▪ Redux
▪ graphql-js
▪ AWS Lambda (NodeJS)
▪ Amazon DynamoDB
Based on:
serverless/serverless-graphql
v1 (2017)
16
▪ React
▪ Redux Apollo Client
▪ graphql-js Apollo Server
▪ AWS Lambda (NodeJS)
▪ Amazon DynamoDB
BrikL GraphQL Stack
“Serverless GraphQL”
2018 - Today
18
▪ React
▪ Apollo Client
▪ Apollo Server
▪ AWS Lambda (NodeJS)
▪ Amazon DynamoDB
▪ + Gatsby
▪ + Apollo Engine
▪ + Elasticsearch
▪ + Tooling:
▫ Serverless framework
▫ Cypress
▫ Sentry
▫ Netlify + CircleCI
▫ AWS stuff
Architecture
19
▪ Serverless from Day 1
▪ Managed Services where possible
▪ GraphQL as thin layer
▪ DynamoDB to
▫ Store “State”
▫ Emit events to streams
▫ Similar to Hasura 3factor app
Architecture
20
CDN
Engine
Server
DynamoDB S3
Glue
Elasticsearch
ETL
Stream
Cognito
JWT Authn/z
X-Ray Logs
ClientGatsby API
Real
time
Gatsby
21
▪ Source data from GraphQL
▪ Generate storefront pages
▪ Source data based on
selected store integrations
▫ Instagram, …
▪ Future > Content Mesh
Apollo Client
22
▪ Query, Mutation components
▪ In-Memory-Cache
▪ Link Context > JWT
▪ Error link > Sentry
▪ HTTP Link > CDN vs POST
▪ SSR in Gatsby
Apollo Server
23
▪ Apollo Server Lambda
▪ Apollo Engine
▪ Context > User, Config
▪ Cache Control > CDN
▪ graphql-shield > Authz
▪ graphql-tools > make Schema
Schema directives
24
▪ Authorization
▪ Formatting
▪ Validation
▪ Data sourcing & ORM
@makeSthAwesome
Schema-first
25
▪ Great fit for getting started
▪ High velocity for startups
▪ Schema directives to rescue
▫ Schema = ORM
▫ SchemaDirectiveVisitor
Schema directives @ BrikL
26
▪ S3
▪ DynamoDB
▪ Elasticsearch
S3 directive
27
DynamoDB directive
28
What’s next?
29
▪ Typescript / Code-first?
▪ State Management
▪ publish DynamoDB Datasource library
▪ Subscriptions...
Thank you
Questions?
Find me at the speaker hours ~5pm
See you in

More Related Content

What's hot

What's hot (20)

Condé Nast Italy: Serverless Cost Optimization
Condé Nast Italy: Serverless Cost OptimizationCondé Nast Italy: Serverless Cost Optimization
Condé Nast Italy: Serverless Cost Optimization
 
Bringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseBringing JAMStack to the Enterprise
Bringing JAMStack to the Enterprise
 
Activiti Cloud Overview & BluePrint: Trending Topic Campaigns
Activiti Cloud Overview & BluePrint: Trending Topic CampaignsActiviti Cloud Overview & BluePrint: Trending Topic Campaigns
Activiti Cloud Overview & BluePrint: Trending Topic Campaigns
 
Customer Information File in NoSQL Database
Customer Information File in NoSQL DatabaseCustomer Information File in NoSQL Database
Customer Information File in NoSQL Database
 
Lessons Learned: From Java EE to Spring Cloud in the context of Activiti OSS
Lessons Learned: From Java EE to Spring Cloud in the context of Activiti OSSLessons Learned: From Java EE to Spring Cloud in the context of Activiti OSS
Lessons Learned: From Java EE to Spring Cloud in the context of Activiti OSS
 
Creating Data Driven HTML5 Applications
Creating Data Driven HTML5 ApplicationsCreating Data Driven HTML5 Applications
Creating Data Driven HTML5 Applications
 
Cloud: Shift in the Mindset
Cloud: Shift in the MindsetCloud: Shift in the Mindset
Cloud: Shift in the Mindset
 
Activiti & Activiti Cloud DevCon
Activiti & Activiti Cloud DevConActiviti & Activiti Cloud DevCon
Activiti & Activiti Cloud DevCon
 
Cloud Native and CNCF
Cloud Native and CNCFCloud Native and CNCF
Cloud Native and CNCF
 
Lessons Learned: Spring Cloud -> Docker -> Kubernetes
Lessons Learned: Spring Cloud -> Docker -> KubernetesLessons Learned: Spring Cloud -> Docker -> Kubernetes
Lessons Learned: Spring Cloud -> Docker -> Kubernetes
 
What's new in Gradle 4.0
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0
 
Google cloud infrastructure workshop
Google cloud infrastructure workshopGoogle cloud infrastructure workshop
Google cloud infrastructure workshop
 
Automate your Dynamics 365 admin tasks with Flow!
Automate your Dynamics 365 admin tasks with Flow!Automate your Dynamics 365 admin tasks with Flow!
Automate your Dynamics 365 admin tasks with Flow!
 
Multisite Implementation Within Nonprofit Organization by Wigid Triyadi
Multisite Implementation Within Nonprofit Organization by Wigid TriyadiMultisite Implementation Within Nonprofit Organization by Wigid Triyadi
Multisite Implementation Within Nonprofit Organization by Wigid Triyadi
 
Forge - DevCon 2016: From Desktop to the Cloud with Forge
Forge - DevCon 2016: From Desktop to the Cloud with ForgeForge - DevCon 2016: From Desktop to the Cloud with Forge
Forge - DevCon 2016: From Desktop to the Cloud with Forge
 
Sugcon 2018 Highlights
Sugcon 2018 HighlightsSugcon 2018 Highlights
Sugcon 2018 Highlights
 
Part 3 Docker Concepts - Kitematic
Part 3 Docker Concepts - KitematicPart 3 Docker Concepts - Kitematic
Part 3 Docker Concepts - Kitematic
 
Creating Data Driven HTML5 Applications
Creating Data Driven HTML5 ApplicationsCreating Data Driven HTML5 Applications
Creating Data Driven HTML5 Applications
 
CRMUGUK 11 09-18 - Go with the Flow with Dynamics 365
CRMUGUK 11 09-18 - Go with the Flow with Dynamics 365CRMUGUK 11 09-18 - Go with the Flow with Dynamics 365
CRMUGUK 11 09-18 - Go with the Flow with Dynamics 365
 
GatsbyJS - A static site generator in React
GatsbyJS - A static site generator in ReactGatsbyJS - A static site generator in React
GatsbyJS - A static site generator in React
 

Similar to BrikL - A GraphQL Native - GraphQL Asia 2019

Similar to BrikL - A GraphQL Native - GraphQL Asia 2019 (20)

Workflow Engines + Luigi
Workflow Engines + LuigiWorkflow Engines + Luigi
Workflow Engines + Luigi
 
What's new in ms graph api nilesh shah 5 apr 2018
What's new in ms graph api nilesh shah 5 apr 2018What's new in ms graph api nilesh shah 5 apr 2018
What's new in ms graph api nilesh shah 5 apr 2018
 
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorOptimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
 
MongoDB Charts Meetup - 7-24-2018
MongoDB Charts Meetup - 7-24-2018MongoDB Charts Meetup - 7-24-2018
MongoDB Charts Meetup - 7-24-2018
 
Getting started with BigQuery
Getting started with BigQueryGetting started with BigQuery
Getting started with BigQuery
 
JS digest. April 2018
JS digest. April 2018JS digest. April 2018
JS digest. April 2018
 
[Public] 7 archetipi della tecnologia moderna [italy]
[Public] 7 archetipi della tecnologia moderna [italy][Public] 7 archetipi della tecnologia moderna [italy]
[Public] 7 archetipi della tecnologia moderna [italy]
 
Angular, the New Angular JS
Angular, the New Angular JSAngular, the New Angular JS
Angular, the New Angular JS
 
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
 
IV Technology Workshop GFT - AWS Serverless Architecture
IV Technology Workshop GFT - AWS Serverless ArchitectureIV Technology Workshop GFT - AWS Serverless Architecture
IV Technology Workshop GFT - AWS Serverless Architecture
 
Build Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdfBuild Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdf
 
Coinietrade Project Overview
Coinietrade Project OverviewCoinietrade Project Overview
Coinietrade Project Overview
 
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
 
Google Cloud Dataflow
Google Cloud DataflowGoogle Cloud Dataflow
Google Cloud Dataflow
 
JAMstack with gatsby, contentful and netlify aka the dream stack
JAMstack with gatsby, contentful and netlify aka the dream stackJAMstack with gatsby, contentful and netlify aka the dream stack
JAMstack with gatsby, contentful and netlify aka the dream stack
 
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
 
[Public] 7 arquetipos de la tecnología moderna [españa]
[Public] 7 arquetipos de la tecnología moderna [españa][Public] 7 arquetipos de la tecnología moderna [españa]
[Public] 7 arquetipos de la tecnología moderna [españa]
 
NE Scala 2016 roundup
NE Scala 2016 roundupNE Scala 2016 roundup
NE Scala 2016 roundup
 
Not Your Father’s Web App: The Cloud-Native Architecture of images.nasa.gov
Not Your Father’s Web App: The Cloud-Native Architecture of images.nasa.govNot Your Father’s Web App: The Cloud-Native Architecture of images.nasa.gov
Not Your Father’s Web App: The Cloud-Native Architecture of images.nasa.gov
 
WSO2 Workshop Sydney 2016 - Analytics
WSO2 Workshop Sydney 2016 -  AnalyticsWSO2 Workshop Sydney 2016 -  Analytics
WSO2 Workshop Sydney 2016 - Analytics
 

More from Tobias Meixner

More from Tobias Meixner (7)

Public GraphQL APIs
Public GraphQL APIsPublic GraphQL APIs
Public GraphQL APIs
 
GraphQL Server - Single point of opportunities
GraphQL Server - Single point of opportunitiesGraphQL Server - Single point of opportunities
GraphQL Server - Single point of opportunities
 
GraphQL Asia Speakers
GraphQL Asia SpeakersGraphQL Asia Speakers
GraphQL Asia Speakers
 
GraphQL Bangkok meetup 5.0
GraphQL Bangkok meetup 5.0GraphQL Bangkok meetup 5.0
GraphQL Bangkok meetup 5.0
 
GraphQL Meetup Bangkok 4.0
GraphQL Meetup Bangkok 4.0GraphQL Meetup Bangkok 4.0
GraphQL Meetup Bangkok 4.0
 
GraphQL Meetup Bangkok 3.0
GraphQL Meetup Bangkok 3.0GraphQL Meetup Bangkok 3.0
GraphQL Meetup Bangkok 3.0
 
GraphQL Bangkok Meetup 2.0
GraphQL Bangkok Meetup 2.0GraphQL Bangkok Meetup 2.0
GraphQL Bangkok Meetup 2.0
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

BrikL - A GraphQL Native - GraphQL Asia 2019