Oh My GHaaD: Git Hosting as a Database

Bookmark
Rate this content

Si entrecierras los ojos lo suficiente, git es una base de datos multijugador. Entrecierra un poco más y los proveedores de alojamiento de git llenan aún más las necesidades de un backend para tus aplicaciones. GitHub y la mayoría de los otros proveedores permiten la autenticación a través de OAUTH. Proporcionan permisos para asegurarse de que solo los usuarios autorizados puedan modificar los datos. Al aprovechar la API del proveedor de git, puedes crear lo que es esencialmente una aplicación sin servidor. Probablemente no querrías alojar aplicaciones a gran escala de esta manera, pero este tipo de aplicación es bastante convincente cuando estás construyendo herramientas internas. Esta masterclass profundizará en cómo se puede construir una aplicación de este tipo y, con suerte, inspirará a desarrolladores y empresas a construir más con menos gastos generales.

This talk has been presented at React Summit US 2025, check out the latest edition of this React Conference.

Chris Griffing
Chris Griffing
11 min
21 Nov, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Chris Griffin discute el concepto innovador de Git Hosting como una base de datos, enfatizando la importancia de los datos, la autenticación y la autorización en el desarrollo de backend. Destaca la utilización de bases de datos basadas en archivos como los archivos parket y la simplicidad de la autenticación y autorización en la construcción de plataformas similares a GitHub. La arquitectura de un backend basado en Git ofrece flexibilidad en copias de seguridad, características de privacidad y ventajas sin servidor. La integración con frameworks frontend a través de hooks personalizados y la consideración de problemas de limitación de tasa en plataformas como GitHub y GitLab son puntos clave en el desarrollo de aplicaciones con un enfoque sin backend utilizando GitHub y GitLab.

1. Exploring Git Hosting as a Database

Short description:

Chris Griffin discute su proyecto Oh My God, explicando el concepto de Git Hosting como una Base de Datos. Anima a pensar creativamente sobre el desarrollo de backend y la construcción de aplicaciones, destacando la importancia de los datos, la autenticación y la autorización en los backends.

Hola a todos. Mi nombre es Chris Griffin, y hoy voy a hablar sobre un proyecto paralelo que hice llamado Oh My God, que es Git Hosting como una Base de Datos. Ahora, puede que no entiendas lo que eso significa todavía, pero al final de esto, podría tener un poco más de sentido. Y el objetivo de esto no es que uses mi proyecto. Es más para hacerte pensar fuera de la caja y pensar en algunos proyectos divertidos que podrías hacer que reimaginen lo que podría ser un backend y cómo se pueden construir las aplicaciones.

Así que primero, un poco sobre mí. He sido desarrollador de software durante unos diez años. Soy defensor de desarrolladores en GitKraken, y soy un streamer de programación en Twitch. Transmito demasiado en Twitch. Si quieres conectarte conmigo en las redes sociales, solo escanea este código QR. Está pregrabado, así que puedes simplemente rebobinar esto cuando finalmente se publique. Pero, sí, conéctate conmigo y charlemos. Pero vamos a ello.

No tengo mucho tiempo. Primero, ¿qué es un backend? Va a ser importante reconocer qué hace que un backend funcione en nuestras aplicaciones, porque entonces podemos empezar a reimaginar dónde puede vivir ese backend. Así que realmente, tu backend es solo datos, autenticación y autorización. Realmente son solo esas tres cosas. Los datos pueden ser tu base de datos MySQL o una base de datos Postgres. Incluso podría estar en Mongo o CouchDB o DynamoDB o en todo tipo de lugares en NoSQL. Pero cada vez más en estos días, vemos que los datos pueden estar basados en archivos. Puedes simplemente tener archivos viviendo en S3 y consultarlos con Athena. También puedes consultar archivos con Presto o Hive.

2. Utilizing File-based Databases for Backend

Short description:

El concepto de consultar bases de datos basadas en archivos como archivos parket y la simplicidad de la autenticación y autorización son inspiraciones clave para construir Oh My God. GitHub, GitLab y Bitbucket pueden servir como un backend con datos JSON en repositorios y autenticación OAuth. La combinación de autenticación, autorización y gestión de datos puede llevar a plataformas que se asemejan a GitHub.

Incluso hay formas de consultar archivos parket con, creo, Snowflake o cosas como esa. No estoy muy versado en esas cosas. Pero la idea de simplemente consultar archivos que viven en algún lugar en lugar de consultar esta base de datos de conexión en vivo a la que puedes escribir y hacer todo tipo de cosas, sí, las bases de datos basadas en archivos son cada vez más comunes, y esa fue mi inspiración para construir Oh My God.

La autenticación es básicamente decirle al servidor quién eres, ¿verdad? Podría estar en una cookie o un token, pero es solo una forma de autenticarte con el servidor y que constantemente sepa quién está haciendo esta solicitud para que sepa qué hacer y todo eso. Así que realmente, bastante simple. Y luego la autorización es lo que puedes hacer con esa cookie o token. Así que eso podría ser tus permisos de lectura, tus permisos de escritura, tu capacidad para hacer cosas de administrador. Todo esto es algo separado de la parte de autenticación, pero van de la mano. Y cuando combinas todas esas cosas juntas, ¿verdad?

, si entrecierras los ojos y desenfocas tu visión un poco, podrías ver a través de este ojo mágico, y con un poco de ayuda, porque siempre fui malo en estos, con un poco de ayuda, podrías empezar a ver algo como GitHub. Así que piensa en eso, ¿verdad? Usé Oh My God como un marco. Construí una aplicación con esta arquitectura similar antes, pero decidí que quería construir algo que fuera un marco que pudiera usar para construir otras aplicaciones más pequeñas en el futuro, y fue simplemente un poco divertido Fue buen contenido de transmisión en mi transmisión de Twitch. Pensemos en GitHub, GitLab y Bitbucket. ¿Cómo podrían ser un backend? Bueno, los datos pueden ser simplemente JSON en un repositorio. La autenticación puede ser simplemente OAuth, ¿verdad? Es solo, ya sabes, iniciar sesión con GitHub y estás autenticado con OAuth, y luego tienes acceso a todos tus repositorios, incluso repositorios privados, etc. de tu organización. Y finalmente, la autorización, bueno, sí, todos tenemos formas de invitar a colaboradores y darles permisos específicos de solo lectura o solo escritura o incluso acceso a nivel de administrador.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

You Don’t Know How to SSR
DevOps.js Conf 2024DevOps.js Conf 2024
23 min
You Don’t Know How to SSR
Top Content
The Talk covers the speaker's personal journey into server-side rendering (SSR) and the evolution of web development frameworks. It explores the use of jQuery for animations in SSR, the challenges faced in integrating React with Umbraco, and the creation of a custom SSR framework. The Talk also discusses the benefits of Next.js and the use of serverless artifacts for deployment. Finally, it highlights the features of Astro, including its function per route capability.
AWS Lambda bajo el capó
Node Congress 2023Node Congress 2023
22 min
AWS Lambda bajo el capó
Top Content
In this Talk, key characteristics of AWS Lambda functions are covered, including service architecture, composition, and optimization of Node.js code. The two operational models of Lambda, asynchronous and synchronous invocation, are explained, highlighting the scalability and availability of the service. The features of Lambda functions, such as retries and event source mapping, are discussed, along with the micro VM lifecycle and the three stages of a Lambda function. Code optimization techniques, including reducing bundle size and using caching options, are explained, and tools like webpack and Lambda Power Tuning are recommended for optimization. Overall, Lambda is a powerful service for handling scalability and traffic spikes while enabling developers to focus on business logic.
Arquitecturas Avanzadas de GraphQL: Serverless Event Sourcing y CQRS
React Summit 2023React Summit 2023
28 min
Arquitecturas Avanzadas de GraphQL: Serverless Event Sourcing y CQRS
Top Content
GraphQL is a strongly typed, version-free query language that allows you to ask for specific data and get it in JSON format. It simplifies data retrieval and modification by allowing the server to handle all necessary operations. Serverless architectures, such as AWS Lambda, are scalable, cost-effective, and good for event-driven applications. Event sourcing and CQRS are techniques that ensure consistency and separate reading and writing parts of an application. Building a GraphQL API with commands and queries can be achieved using AWS AppSync and DynamoDB. This approach offers low latency, scalability, and supports multiple languages. Challenges include application complexity, data modeling, and tracing, but starting with simplicity and making something work first can lead to success.
Construyendo Dapps con React
React Advanced 2021React Advanced 2021
30 min
Construyendo Dapps con React
The Talk discusses building decentralized applications (DApps) with React and explores the benefits of smart contract technology. It highlights the characteristics and infrastructure of Web 3 applications, including decentralized indexing, off-chain data storage, and decentralized file storage. The Talk also covers identity in Web 3, with a focus on self-sovereign identity and the use of blockchain for identity verification. The process of building a DApp with React and Hard Hat is explained, along with deploying contracts and interacting with them. Overall, the Talk provides insights into the world of DApps and the technologies involved.
Serverless para Frontends
DevOps.js Conf 2022DevOps.js Conf 2022
8 min
Serverless para Frontends
Premium
Welcome to my session on Serverless for Front-ends. Serverless functions eliminate the need for a runtime and handle orchestration for you. Microfrontends require a runtime and orchestration, but side-less UIs provide a runtime-free solution. In the demo, a new team adds functionality to an application and publishes it easily. Building and deploying applications is quick and easy with micro apps and PowerCLI, offering true loose coupling and instant availability without a runtime.
Escribiendo Aplicaciones Serverless Testeables Utilizando Arquitectura Hexagonal
TestJS Summit - January, 2021TestJS Summit - January, 2021
28 min
Escribiendo Aplicaciones Serverless Testeables Utilizando Arquitectura Hexagonal
The scariest thing about serverless is the fear of vendor lock-in and losing control. Planning, good architecture, and deployment procedures help keep switching costs reasonable. Hexagonal architecture is a useful approach for writing testable serverless apps. Integration testing is crucial for serverless apps, and hexagonal architecture helps fight vendor lock-in and reduce switching costs. Docker is used for testing serverless functions, and the practicality of hexagonal architecture remains a question.

Workshops on related topic

IA a demanda: IA sin servidor
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
IA a demanda: IA sin servidor
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
En esta masterclass, discutimos los méritos de la arquitectura sin servidor y cómo se puede aplicar al espacio de la IA. Exploraremos opciones para construir aplicaciones RAG sin servidor para un enfoque más lambda-esque a la IA. A continuación, nos pondremos manos a la obra y construiremos una aplicación CRUD de muestra que te permite almacenar información y consultarla utilizando un LLM con Workers AI, Vectorize, D1 y Cloudflare Workers.
Construyendo Aplicaciones Serverless en AWS con TypeScript
Node Congress 2021Node Congress 2021
245 min
Construyendo Aplicaciones Serverless en AWS con TypeScript
Workshop
Slobodan Stojanović
Slobodan Stojanović
Este masterclass te enseña los conceptos básicos del desarrollo de aplicaciones serverless con TypeScript. Comenzaremos con una función Lambda simple, configuraremos el proyecto y la infraestructura como código (AWS CDK) y aprenderemos cómo organizar, probar y depurar una aplicación serverless más compleja.
Tabla de contenidos:        - Cómo configurar un proyecto serverless con TypeScript y CDK        - Cómo escribir una función Lambda testeable con arquitectura hexagonal        - Cómo conectar una función a una tabla DynamoDB        - Cómo crear una API serverless        - Cómo depurar y probar una función serverless        - Cómo organizar y hacer crecer una aplicación serverless


Materiales mencionados en el masterclass:
https://excalidraw.com/#room=57b84e0df9bdb7ea5675,HYgVepLIpfxrK4EQNclQ9w
Blog de DynamoDB de Alex DeBrie: https://www.dynamodbguide.com/
Excelente libro para DynamoDB: https://www.dynamodbbook.com/
https://slobodan.me/workshops/nodecongress/prerequisites.html
Masterclass de Serverless para Desarrolladores de React
React Summit 2022React Summit 2022
107 min
Masterclass de Serverless para Desarrolladores de React
Workshop
Tejas Kumar
Tejas Kumar
Introducción a serverlessAntecedentes: Docker, Contenedores y KubernetesActividad: Construir una aplicación con Docker y desplegarla en un proveedor de nubeAnálisis: ¿Qué es bueno/malo de este enfoque?Por qué se necesita/mejora ServerlessActividad: Construir la misma aplicación con serverlessAnálisis: ¿Qué es bueno/malo de este enfoque?
Construyendo un backend serverless nativo de GraphQL con Fauna
GraphQL Galaxy 2021GraphQL Galaxy 2021
143 min
Construyendo un backend serverless nativo de GraphQL con Fauna
Workshop
Rob Sutter
Shadid Haque
2 authors
¡Bienvenido a Fauna! Este masterclass ayuda a los desarrolladores de GraphQL a construir aplicaciones de alto rendimiento con Fauna que se escalan a cualquier tamaño de base de usuarios. Comienzas con lo básico, utilizando solo el playground de GraphQL en el panel de Fauna, luego construyes una aplicación completa de pila completa con Next.js, agregando funcionalidad a medida que avanzas.

En la primera sección, Comenzando con Fauna, aprendes cómo Fauna crea automáticamente consultas, mutaciones y otros recursos basados en tu esquema de GraphQL. Aprendes cómo realizar tareas comunes con GraphQL, cómo usar el lenguaje de consulta de Fauna (FQL) para realizar tareas más avanzadas.

En la segunda sección, Construyendo con Fauna, aprendes cómo Fauna crea automáticamente consultas, mutaciones y otros recursos basados en tu esquema de GraphQL. Aprendes cómo realizar tareas comunes con GraphQL, cómo usar el lenguaje de consulta de Fauna (FQL) para realizar tareas más avanzadas.
Escalando Bases de Datos para Aplicaciones Globales sin Servidor
Node Congress 2022Node Congress 2022
83 min
Escalando Bases de Datos para Aplicaciones Globales sin Servidor
Workshop
Ben Hagan
Ben Hagan
Este masterclass discute los desafíos que enfrentan las empresas al escalar la capa de datos para admitir implementaciones multi-región y entornos sin servidor. Las funciones de borde sin servidor y la orquestación de contenedores livianos permiten que las aplicaciones y la lógica empresarial se implementen fácilmente a nivel mundial, dejando a menudo la base de datos como el cuello de botella de latencia y escalabilidad.
Únase a nosotros para comprender cómo PolyScale.ai resuelve estos desafíos de escalabilidad, almacenando en caché de manera inteligente los datos de la base de datos en el borde, sin sacrificar la transaccionalidad o la consistencia. Aprenda a implementar, observar consultas y realizar pruebas de latencia global con funciones de borde utilizando PolyScale.
Tabla de contenidos        - Introducción a PolyScale.ai        - Gravedad de los datos empresariales        - Por qué es difícil escalar los datos        - Opciones para escalar la capa de datos        - Observabilidad de la base de datos        - Gestión de caché con IA        - Aprenda a utilizar PolyScale.ai
Depuración en vivo de pruebas de extremo a extremo para una aplicación serverless distribuida
TestJS Summit 2021TestJS Summit 2021
146 min
Depuración en vivo de pruebas de extremo a extremo para una aplicación serverless distribuida
Workshop
Serkan Ozal
Oguzhan Ozdemir
2 authors
En este masterclass, construiremos un entorno de pruebas para una aplicación preconstruida, luego escribiremos y automatizaremos pruebas de extremo a extremo para nuestra aplicación serverless. Y en el último paso, demostraremos lo fácil que es entender la causa raíz de una prueba errónea utilizando pruebas distribuidas y cómo depurarla en nuestro pipeline de CI/CD con Thundra Foresight.

Tabla de contenidos:
- Cómo configurar y probar tu infraestructura en la nube
- Cómo escribir y automatizar pruebas de extremo a extremo para tus cargas de trabajo serverless
- Cómo depurar, rastrear y solucionar problemas de fallas en las pruebas con Thundra Foresight en tus pipelines de CI/CD