Sam Goodwin - Alchemy and the Next Generation of Infra as Code
Durée: 48m25s
Date de sortie: 14/04/2025
This week we're delighted to welcome Sam Goodwin to the show. Sam is the creator of Alchemy, a tool that allows you to create and manage your infrastructure as code. The current state of the art is built on all the tech debt of the past 10 years, Alchemy is a new approach to infrastructure as code that is more aligned with the modern web.
Episode sponsored By WorkOS (https://workos.com)
Become a paid subscriber our patreon, spotify, or apple podcasts for the full episode.
J'ai expéré 10 ans dans l'infrastructure de code pour pouvoir cliquer mes mains et avoir une nouvelle ressource.
C'est juste magique.
J'aimerais voir plus de gens expérimenter ça.
Et ne pas penser plus sur comment je peux m'abandonner de tout ce message et m'y manquer mon propre monde.
Bonjour, bienvenue à DevTools FM.
C'est un podcast sur les tools de développeur et les gens vont les faire.
Je suis Andrew et je suis ma hostesse, Justin.
Salut tout le monde, nous sommes vraiment excitées à avoir Sam Goodwin sur le podcast.
Sam, vous êtes en train de travailler sur ce projet, appelé Alchemy.
La ressource de l'infrastructure est code.
Je suis vraiment excité à parler de ça.
Ça ressemble à un fascinateur.
Et, dans mon avis, il n'y a pas de plus de choses à faire dans ce space.
Donc, je suis excité à voir un fresh take sur ça.
Mais avant de nous dépasser, nous aimerons entendre un peu plus de vous.
Donc, pouvez-vous nous dire un peu de votre background ?
Oui, sûr.
Alors, j'ai commencé à travailler sur ce projet,
et j'ai commencé à travailler sur ce projet,
en Seattle, au Amazon, en 2013.
Mais j'ai toujours été un développeur,
mais ça a été mon premier coup dans tout le cloud.
Parce que j'avais l'accès à l'AWS,
et je suis là pour les derniers jours,
quand j'ai dû bâtir avec des équipes,
pour avoir des instances.
Tu devrais aller sur une équipe et dire,
« Tu as des machines de spare ? »
Et ils vont dire, « Oui, je peux vous donner un M1 ? »
Donc, j'ai dû voir le développement de l'AWS,
en utilisant l'AWS,
mais en seeing it grow as a platform for developers.
C'est un peu mon background.
J'ai passé 10 ans,
ou alors, à Amazon,
avec 3 stints.
Donc, je suis un serial,
en essayant de faire quelque chose d'autre,
et puis, je vais retourner,
en particulier quand il vient de travailler à une équipe,
comme Amazon.
J'ai toujours voulu faire mon propre projet.
Mais après,
à Amazon,
j'ai eu de la même chose à construire.
J'ai commencé à construire
les équipes de robot de la mitigation.
Notre travail était de détecter qui était humain
et qui n'était pas,
et de bloquer leur argent sur Black Friday.
C'était un bon expérience,
j'ai fait des amis,
j'ai fait des hauts scales de CASCA,
avant qu'une fois, c'était même 1.0.
Donc, j'ai été dans des choses,
comme Scala,
et de la programmation fonctionnelle,
et de la construction de la data,
et de la apprendre que tout va au final,
et de la vie de la vie.
Ensuite, j'ai commencé à...
l'information de sécurité,
j'ai fait beaucoup d'autres processus de data,
et vraiment,
beaucoup de stuff de data,
et de Scala,
qui est où j'ai commencé
mes programmations de métro.
J'ai commencé à se faire envers des programmations de métro.
Je pense que chaque développeur
va se faire envers des programmations de métro,
eventually.
D'ici, j'ai commencé à Alexa,
où j'ai commencé à construire
une plateforme de data,
et la CDK a été envergée à ce moment.
J'ai juste spenté
des mois en éventuellement
sur comment s'est installée l'infrastructure,
et ça a été vraiment stupide.
Et puis, la CDK a été envers,
parce que j'ai hésité à la confirmation,
et j'ai vraiment été envers ça,
très rapidement.
J'ai construit un projet
qui s'appelle Punchcard.
Je pense que c'était 2019,
et c'est...
Vous pouvez voir,
c'est assez similaire,
en thème,
mais c'était l'idée de...
juste faire un type-scrut
et compiler tout à l'infrastructure.
Ne bougez pas l'infrastructure.
D'ici, je me suis évoqué,
et j'ai eu une très bonne expérience
de construire
ce qu'on appelle...
Alexa, pas beaucoup de gens connaissent,
Alexa a eu une langue de programmation,
appelée ACDL.
C'est pour les LLMs,
mais c'était pour la conversation de programmation.
J'ai donc eu à construire un compiler,
un type-checker,
et tout ça.
Il n'a pas été finalisé,
mais c'était une bonne expérience,
en tout cas.
Et puis, je me suis fait un bref stint
sur la team CDK en AWS,
mais...
pour des choses comme des zones de temps
et des difficultés,
j'ai fini par me laisser
et j'ai quitté
pour commencer ma propre compagnie.
Et je pense que je suis revenu en 2022,
j'ai...
apporté de pouvoir
faire des investissements
pour commencer une compagnie,
et j'ai travaillé sur ça depuis,
et j'ai essayé tous les différents trucs,
et je pense que j'ai finit de l'amener.
C'est tout été une infrastructure.
J'ai finit de l'amener.
Le problème de la solution
est à la route de ceci.
C'est pas sur le point de l'infrastructure
et de l'infrastructure qui existe aujourd'hui.
La route de l'infrastructure est un défi,
et c'est grave,
et ça peut être solvée
avec un type de script.
Et ça nous lead à ceci,
ce qui est l'alchemy.
Donc, il semble que vous avez vu
vraiment comment la whole cookie
a été faite.
Vous étiez là dans les derniers jours,
et vous êtes là maintenant.
Alors, quels sont les problèmes
que vous avez juste éloqué
dans ce space?
Oui, dans l'infrastructure et de l'infrastructure.
Pourquoi je l'ai inventée,
ou...
Qu'est-ce que vous avez fait maintenant?
Oui, ce qu'est-ce que vous avez fait maintenant?
Bien, dans mon avis,
ce qu'est-ce que vous avez fait maintenant
est le moyen de le décrire.
Ce que nous avons,
on va juste prendre un exemple.
On va voir que les SSDs
sont vraiment un bon produit, pour exemple.
Mais qu'est-ce que vous avez fait
si vous vous boisez?
C'est...
Terraform,
qui est ensuite répliquée par Pulumi.
Terraform est écrit en GO,
donc c'est un processus de GO.
Et puis, c'est répliqué en Pulumi,
qui est plus de GO code.
Et puis, ils génèrent
type script facades,
sur le dessus de ça,
dont les SSDs utilisent
et font leur propre facade
et leurs propres extensions
à la fin du jour,
pour juste coller
Fetch dans la bonne orderme.
L'infrastructure et le code ne fait pas ça,
tout ce qui fait, c'est
que je dois créer une fonction,
je dois l'éterner,
ou je dois déterner.
À la fin du jour,
c'est un outil
pour créer, éterner, déterner
dans la bonne orderme.
Et si vous regardez ça dans les premiers principes,
c'est purement un Fetch call.
Vous pouvez faire ça
avec juste la libraire standard de Node,
par exemple.
Mais,
tous les outils sont bêtes
sur cette histoire plus de 10 ans
de Terraform Up,
qui est, je pense, juste ridicule.
Donc maintenant,
par exemple,
je veux
faire ça dans un autre environnement.
Je ne peux pas,
c'est surtout local,
et il y a beaucoup de bêtes
dans les opinions
et les assumptions
qui ont été construites en temps,
avec Terraform.
C'est très difficile de comprendre
ce qui se passe derrière les scènes.
Donc,
oui, Alchemy,
qu'est-ce que l'infrastructure
est la code en minimum?
C'est une fonction
que vous avez fait,
et
vous voulez seulement
faire ça si quelque chose change
depuis la dernière fois.
Donc, oui.
Je veux avoir un exemple
sur ce que l'infrastructure est
bien maintenant,
mais ça a changé mon cerveau,
et peut-être que ça va me remettre.
Oui.
Nous aimerions que WorkOS
soit sponsorisé
aujourd'hui,
sur le débat de DevTills.
Quand vous faites un producte
de SaaS,
les features d'interprises
comme Single Sign-On,
Directory Sync,
et Audit Logs,
n'est pas juste un bon moment,
c'est souvent la première fois
que vous avez pu faire
votre prochaine stage de growth.
C'est là où WorkOS s'est venu.
WorkOS offre
une plateforme de développeur
qui fait ajouter
une fonctionnalité d'interprises,
comme d'autres,
de modernes,
d'intégration.
Ils ont des SDKs
et les langues
les plus populaires,
et un API bien pensé.
C'est vraiment facile
d'être commencé
et facile à faire.
Les docs sont vraiment bien,
ils sont très clairs,
très exemplaires,
pour lesquels ils sont
construits rapidement
et vous trouverez des guides
pour les plus commones
des intégrations.
C'est vraiment bien
pour avoir commencé
votre première service
pour vos clients.
Ils ont un ton de plus
de features,
tout d'une vérification
de la authorization de la
et c'est tout
construit
avec l'expérience
Si vous regardez
les clients
plus grands,
sans débarasser
une entreprise,
l'infrastructure
et l'infrastructure,
vous devez
faire un test
c'est WorkOS.com
Je veux
juste vous
dire un peu
de cette idée,
je pense
que
je ne sais pas,
l'infrastructure
de la production
de produits
ou les produits de la production
de la production de la production,
généralement,
ils ont tout le weight
de l'infrastructure
que vous essayez
de changer.
C'est
comme si vous essayez
de réagir
l'infrastructure
de l'ABS
ou quelque chose.
C'est celui
des gens qui
travaillent
tout ce excellent
l'achat que
je peigne
et
puis
certain
habitant
à
ponger
ώρα
une
展
anniversaire
patents
et
votre
On peut être compétitif où vous avez des coverages de feature où vous pouvez faire les choses basiques que les gens doivent faire.
Parce que je pense que l'une des choses avec Terraform, même si c'est comme...
Il y a beaucoup de choses non idéales.
C'est juste qu'il y a une whole communauté, il y a beaucoup de coverages.
Terraform, c'est des plans pour tout.
Et c'est comme...
Comment vous commencez à approcher de l'écosystème?
Oui, bonne question.
C'est un point qui m'a rappelé de ce que je vais faire avec l'infrastructure.
Où je commence, c'est Cloudflare.
Il y a des raisons pour pourquoi Cloudflare est le bon endroit à commencer.
Le premier est qu'il n'est pas très bien servi par Terraform.
Ce serait possible parce que des raisons comme leur API sont très polydesignées, en beaucoup de façon.
C'est certainement organiquement développé.
Mais vous regardez les SST, par exemple.
Ils ont des supports Cloudflare.
Mais quand vous vous demandez, ils vont admettre que ce n'est pas tout bas.
Et la raison pour laquelle ils sont en train de faire des changements dans Terraform, c'est l'extrême.
Ils sont en train de faire cela pour être possible.
Ils sont derrière Terraform et ça va devoir flowir dans le palume,
et puis finir, il peut flowir dans le product de SST.
Ou d'ailleurs, ils doivent construire autour de ça.
Et en faisant ceci, il y a plus de lait.
Je commence avec Cloudflare.
Cloudflare, comme vous pouvez le voir, est un vrai behemoth.
Ils sont en train de faire ce que je dirais, c'est l'expérience de JavaScript.
C'est une extension de votre browser qui se trouve partout dans le monde.
C'est global.
Mais surtout, si vous n'utilisez pas Rangler, vous vous créez.
Rangler, en mon avis, viola tous les principes d'infrastructure.
Pour mettre des ressources, tout commence avec,
« Rangler-Cli commande,
« copier un UUID que l'on utilise et le paste en JSON file.
» Et puis, « FINE, ça va vous faire un moment. »
Et puis, vous vous dites, « OK, mais je dois un environnement de développeur,
« je dois un stage de production. »
Et maintenant, je fais les mêmes commandes que j'ai déjà fait.
Et puis, je copie et paste en un autre part de JSON file.
Donc, je commence à expérer.
Maintenant, j'ai trois choses à ne pas se inquieter.
Elles sont effectivement les mêmes.
Donc, par commencer avec Cloudflare,
mais le terrain surface est un peu petit.
C'est un système de JavaScript qui est très vertique.
Vous pouvez faire beaucoup de progressions rapidement.
Juste faire des travailleurs, des workflows, des objectifs jurables.
Et vous avez beaucoup de gens heureux à ce point.
Oui, mais les coverages, je veux parler de la coverage un peu.
Je pense que l'AI est, en fait, la gamme de changer ici.
Si vous regardez à ce que vous avez dit sur Terraform,
le mot ou pourquoi les gens ont besoin est parce que le bret est tellement vaste.
Comment beaucoup de millions de dollars ont été sinkés
en leur avoir des gens qui se sont posés en main,
comment créer une fonction, comment créer un bucket,
vous savez, c'était beaucoup de laboratoires.
Mais, pourtant, tous les modèles sont traités sur ça.
Et ce n'est pas une chose dynamiquement changeante.
Je parle de Andrew, il a sa dernière femme,
mais il a dit quelque chose qui était vraiment smart,
qui était le système de changement de l'Ui dans 3 mois.
Mais l'API de la cloud n'a pas changé.
Il n'y a pas de limitation de la date de travail.
C'est 3 mois de vie, donc il ne sait pas comment travailler avec ce nouveau tool.
C'est juste un API resté.
Ce que je vous montre avec Alchemy, c'est que vous avez la documentation restée,
vous avez mon file de curseur,
vous le pastez, vous vous dites que vous avez créé une ressource pour ça.
Et ça va juste, c'est bien,
ça implique la ressource, crée un update,
il tient des choses comme de la waiting
quand c'est bien, pour attendre la consistance.
Et ça arrive à tous les tests,
on le tente jusqu'à la réussite.
Donc, ce que j'ai fait c'est que l'AI
est maintenant en train de mettre en place cette automatique personnelle.
Si vous pouvez résoudre votre propre problème,
c'est beaucoup mieux que de la waiting
et de la espèce pour quelqu'un d'autre pour faire le problème.
Et c'est possible avec l'infrastructure et la code.
Et parce que l'infrastructure et la code sont très simples,
c'est juste que chaque ressource a la même pattern,
vous pouvez généraliser les deux sur le slide.
Et c'est vraiment vrai pour AWS.
C'est moins vrai pour CloudFare
parce qu'ils ont un peu d'une situation de spaghetti.
La dernière chose que je voudrais dire,
c'est que pour AWS,
AWS expose leur handling de la formation cloud
par un truc appelé la API Cloud Control.
Et c'est à peu près 90% de toutes les ressources,
avec juste une implementation,
je peux avoir à peu près 90%
de la formation cloud et de l'album.
C'est un grand délire.
Et je pense que votre point ici,
on n'a pas de manière manuelle,
on peut faire beaucoup plus de générations,
c'est une très bonne chose.
Et plus tard, je veux parler de la façon dont vous avez
designé Alchemy avec cela en mind.
Mais avant de nous en parler,
on va juste parler un peu plus
de l'alchemy.
C'est une l'infrastructure,
la code, la libraire, c'est écrit en type script.
Telle-moi plus.
Qu'est-ce qui le fait unique ?
Un type script native est génial,
mais la plus unique que je vais dire,
par contre,
de la compétition de l'égo-système,
c'est que ce n'est pas une abstraction
complexe.
Si vous regardez les choses comme le CDK
ou le Pulumi,
ce que vous faites est que vous faites
des classes,
l'infrastructure abstracte
qui va exister plus tard.
Je vais vous dire
une nouvelle fonction en Pulumi.
Cette nouvelle fonction
n'existe pas encore,
jusqu'à la fin de la pulaise
de Pulumi.
Ce que je fais
c'est que
je peux créer une fonction
et puis faire le fonction ARM.
Je dois travailler avec cette abstraction
ou l'output.
En plus d'un string,
j'ai un output de string.
Ce n'est pas un promesse,
c'est un promesse,
mais vous ne pouvez pas le faire.
Vous devez
changer tout avec Don Apply.
Ce qui est limité,
c'est ce que vous pouvez faire.
Avec Alchemy, je vais réverser
ceci pour faire des fonctions
de la pulaise.
C'est plus près de la pulaise
si vous savez comment ces fonctions
sont faites.
C'est une fonction que vous appelez,
une pulaise très légère
qui tue la pulaise
et maintenant, je suis appelé avec ces fonctions.
Ils ne changent pas,
je ne vais pas faire de ce temps.
Je vais juste retourner au outil.
Je n'ai jamais été appelé
avant, donc je vais créer.
Au bout du programme, je vais vérifier
que ces sont les choses que nous avons créées
et que ces deux fonctions ne existent pas
plus, donc je vais les délaisser.
Ce que j'aime
c'est que maintenant c'est juste un programme standard.
Tout le monde sait ce que la fonction Async est.
Je peux changer les fonctions
de la pulaise et générer
l'infrastructure qui est conditionnelle.
à l'aise de la fonction 1,
je peux générer quelque chose d'autre.
Ce n'est pas possible avec la pulaise,
ou c'est très hackeux
avec la pulaise. Tout a dû être
statiquement déclaré
dans la pulaise.
Avec la pulaise, c'est juste un fonction Async
pour que je puisse les délaisser.
Par exemple, dans le CDK,
il y a un concept appelé le construct L2
qui est
le base-line, la formation de la pulaise
et nous construisons des laitiers de la pulaise
par exemple, il y a
un service qui a un balneur
et un container et un VPC
et tout.
Ils utilisent les constructs dans le construct.
Dans l'alchemy,
chaque ressource peut utiliser
d'autres ressources.
On implemente un ressource,
on appelle les fonctions pour créer le VPC,
créer le balneur et c'est juste un programme normal.
Je veux
que la pulaise soit en
des constructs pour être en JavaScript.
Il n'y a pas de fanciation,
pas de la PCI,
pas d'une opinion complexe, c'est juste un library
en JavaScript.
Le moyen que vous avez détenu
c'est que vous avez
ceci qui se passe
et qui ne fait que le tout.
Il s'agit de la pulaise
qui me fait un réacte
où vous avez créé
un dom pour
l'infrastructure
où vous vous write
un simple JavaScript sur le top et le déficient
et le réacteur.
C'est le même pattern
qui est plus spécifique
mais j'ai hâte de voir
si quelqu'un peut s'y arriver
si ils ont essayé de
faire un réacte.
C'est vraiment le même, c'est de faire
le construct.
Faites le nouveau state,
comparez-le avec le réacteur
et re-render.
C'est le même pattern.
Ce pattern est
tout le meilleur
de la vie.
Le réacte fait le réacteur
pour les UI.
Je ne me prépare pas
que les vents et les trucs
sont malade.
On a été très usés
et c'est très puissant.
Il y a un endroit où c'est utilisé
un workflow durable.
Un workflow durable est
que je dois faire
un programme JavaScript
qui peut faire 3 ans
et que je ne peux pas
réétenir
un processus de paiement
pour des paiements monthly
ou quelque chose.
C'est le même moyen.
C'est un programme que vous vous write
le réacteur et vous vous rassurez
que tout le temps il faut faire une nouvelle décision
et que tout le temps il faut faire une nouvelle décision.
Si quelque chose est déjà fait,
il faut le faire.
L'alchemy est le même.
C'est juste la memisation
des choses qui ont été faites
et une petite décision intelligente
pour la première fois.
On parle de Sunil Pai
un des gens qui a travaillé sur le réacteur
de la vie.
Il m'a mentionné qu'ils avaient un démon
qui était un peu plus près de le réacteur
mais ils avaient une application
pour tenthier protection
dans lesquelles ils su 분�.
Avec leur app,
votre questionnaire
Tinie gray
l'application~?
J'ai quand même
grupo à freakin
e d dd
et l'infrastructure est très réellement réellement réellement optimale.
Je suis assez excité à l'alchemy en dénavie ces types de cas de utilisation,
car maintenant, l'infrastructure des codes n'est pas le weight du universe.
Ce n'est pas ces trois tools qui sont étranges, c'est juste une fonction JavaScript,
mais par contre, elle est décisée pour la trichée, donc c'est probablement un peu de kilobytes.
On peut juste collocer notre application code avec notre infrastructure
et avoir un conditionnel là-bas.
Si l'environnement est libre, ne faites pas rien, juste retournez la valeur.
Maintenant, vous avez l'infrastructure Franca.
Je ne dois pas le construire, c'est juste un JavaScript.
Vous pouvez juste utiliser les primitives de base-line,
ou générer votre propre.
Ça commence à se sentir plus comme un écosystème qui peut être en train de se faire.
Ce n'est pas de la manière dont vous pouvez générer ce que vous voulez.
Vous pouvez le faire partout, vous ne pourrez pas payer de l'expérience,
vous devez avoir de la fin de la pétale, c'est juste un JavaScript.
Je veux plus vous dire pourquoi vous pensez que le partage de JavaScript est important et que l'invénibilité est importante.
Mais avant de nous faire ça, je veux aussi vous parler de quelque chose.
Vous avez parlé de votre histoire et vous avez touché beaucoup de langues programmées.
Vous avez été très profondes.
Et comme nous regardons l'infrastructure du code d'écosystème,
mais en général, l'écosystème des services est un peu plus type-script.
C'est beaucoup plus.
Dans l'infrastructure du code, mais aussi dans la configuration,
plus de personnes en compagnie,
et de la construction des services en général.
Avant de nous faire le texte de l'architecture de Alchemy,
pourquoi pensez-vous que le type-script est en train de gagner cette race ?
Pourquoi pensez-vous que vous pensez que vous avez utilisé un scola,
un programme de la function,
mais le type-script est évidemment la langue de la chose ici.
Pourquoi est-ce que c'est le cas pour vous ?
Oui, donc, à partir du scola,
j'ai été un grand scola-tunerd.
Il y avait un projet qui s'appelle Shapeless,
qui m'a vraiment appris à l'attention,
qui était un programme de métaprogrémation
pour générer des choses génériques.
Vous pouvez, pour exemple,
définir une classe qui a trois propres,
et qui automatiquement,
à la compagnie, analysez-le,
et générez, pour exemple,
comment se serialiser en dynamoDB,
ou pas, pour exemple.
C'était un peu comme Jackson et Java,
si vous vous souvenez de ces jours,
mais sans réflexion,
il n'y avait pas de temps de runtime,
il y avait des temps de compile.
J'étais vraiment déçus avec ça,
et j'ai commencé à apprendre plus de programme de fonctionnel,
et un peu de théorie de catégorie,
des bits de titres, et j'étais déçus avec les langues de compilers.
Mais ensuite,
le CDK m'a appris et m'a forcé
à me faire un type-script.
C'était une forme de type-script.
Je me disais, je vais apprendre ce langu.
Je n'ai jamais été un personif de front-end,
mais je me disais, je suis compétible maintenant,
parce que je suis très très en infrastructure.
Ça m'a appris à un type-script,
à peu près, un type-script 3.5, je pense,
et je m'ai immédiatement appris à un sessage,
et je me disais, oh mon Dieu,
parce que j'ai toujours l'air d'avoir l'air de la scola,
comme un hack,
la scola n'était pas vraiment en train de faire ça,
ils en ont utilisé un code primaire
pour le hacker.
Et maintenant, avec un type-script,
je me disais, oh, il y a un langu de programme
qui est à ce type-level,
c'est tout ce que j'ai voulu.
Mais sur ce que c'est cool
avec un type-script,
c'est que vous pouvez être un peu malade,
vous pouvez construire une abstraction
qui ne met pas vraiment en réalité,
et puis vous vous interviendrez
dans votre abstraction,
vous vous donnez un type-script très bien
et c'est un message.
Avec la scola, c'est très dur,
tout ça a dû être statiquement correct,
à peu près, en ma vie.
Donc, la nature dynamique
de ça,
avec un système de type très stade,
je pense que c'est un autre.
Mais un autre point sur ce que je fais,
c'est que je suis fait un an en Python,
et une des choses que j'ai remarquées
est pourquoi Python est en train de se défendre,
par exemple, avec un type-script.
C'est parce que tout le monde peut juste
suivre le type-script le plus tard.
Tout le monde peut toujours être
sur le langu le plus tard,
utiliser les features de langues les meilleures
et les types sont liés au temps de tour.
Vous pouvez donc seulement utiliser les types
qui sont supportés par le temps de tour
et je pense que la philosophie
de type-array
et les types-scripts
qui ont été passés par un JavaScript
ont vraiment aidé à se défendre.
Tout le monde peut juste suivre
la version de la langue qu'ils veulent.
Mais à votre point de vue,
pourquoi c'est bien pour les configurations,
c'est parce que c'est Jason,
c'est un programme avec un système type
que vous pouvez faire plus que juste
de vérifier si vous avez les mêmes propres.
Vous pouvez encoder les semantics
de votre tool
ou de votre service dans lesquels vous êtes.
Par exemple, j'ai écrit
un type, c'est le type-safed, dynamoDB,
c'est une autre libraire que j'ai construite
qui est une implementation type-system
dynamoDB de semantics.
Donc, ça va être type-checker
le contenu de la query.
Donc, si vous avez une expression et vous n'avez pas
l'expression attribute-value, vous allez le cacher.
Je pense que c'est pourquoi
le type-safed est venu.
Vous pouvez voir ça.
C'est un des aspects de type-safed
que vous pouvez dire « Effet » et mettre
les types complètement.
J'ai aidé ma sœur
avec des trucs de coding et c'était
en C++ et nous étions
achetés un complétionnaire.
Je ne sais pas, je ne sais pas,
je me dis juste « RUN, RUN, RUN »
C'est un paradigme différent.
La flexibilité de
ce type-system est
un peu plus de
dynamique.
Mais maintenant je vois la valeur.
Il y a des valeurs sur les côtés.
Je veux le type-system
mais je veux que la force
soit bien la force.
Ok, donc un des gros features
que vous appelez sur les docs
c'est que vous pouvez mettre l'alchemy
dans tout le temps.
Pourquoi vous pensez que c'est important?
C'est une question
d'affectation sur l'alchemy
mais il y a aussi des spectacles.
On peut parler de la browser
mais la plus interesting
c'est les objects d'alchemy
du cloudflare.
Il n'y a pas de chance
de faire un rame
dans un objectif durable.
Pourquoi vous voulez faire ça?
Je pense que
les produits sont
de l'air de la base.
Ils sont créés
pour des millions de
customers.
C'est un software personnel.
Je peux aller
pour mon petit business
et créer un piece de software pour moi-même.
C'est un stack.
C'est des codes,
des infrastructures,
des connections de stripe,
un worker de cloudflare.
On est en train de mettre
des millions de stacks.
Il n'y a pas de stack de 1 ou 2
pour un produit.
Je pense que les objectifs d'alchemy
sont de la meilleure abstraction.
Si vous avez une infrastructure
pour un customer,
c'est le meilleur moyen de représenter.
Vous devez changer l'infrastructure.
Je dois garantir que
il y a seulement un changement en temps.
Je ne veux pas que les changements
soient en série
ou que l'on se fasse mal.
Vous pouvez créer un objectif durable
qui est un stack durable.
Je pense que c'est un bon terme.
C'est un petit
type de run-time de 128 MB
de RAM avec un travail,
pour changer
l'infrastructure de tous les customers.
Je suis très excité
de parler avec des gens qui ont
un goût.
Je vais déployer
un worker
pour les plateformes,
et créer
ces objectifs d'alchemy
et créer un R2 bucket.
C'est tout isolé.
Je peux dire que le custom,
l'infrastructure est totalement isolé,
il ne touche pas
d'autres data.
C'est le meilleur
moyen pour
pour le betterment
d'être un renner dans nos environs.
Mais aussi,
des workflows d'alchemy.
Je pense que
l'alchemy programme
peut se passer
comme un jugement durable.
C'est tout le monde
qui peut se faire
pour s'entraîner
dans les communications
de processus.
Il faut utiliser
un filo système.
Il faut avoir un filo système.
Toutes ces choses sont des
dépendances qui ne sont pas
en place.
C'est un idea intéressant
et compétent.
Il y a
une nouvelle chose
de la browser.
Il y a
des applications
et des visualisations
qui sont intéressantes.
Mais le objectif durable
est fasciné.
C'est un place
très dur
pour la construction.
C'est incroyable.
C'est incroyable.
C'est incroyable.
Je ne sais pas.
On a dit
que c'est
un peu plus grand
mais c'est un web-worker
qui a
une application
d'un web-worker.
Il y a des apps
qui sont privés.
Ils ont l'alchemy
sans toucher mon service.
C'est très spectatif
mais c'est possible.
Mais
le cas du main
est le software
de la construction
d'un objectif durable
qui est très fort.
C'est ce qu'ils ont construit.
Ils ont été construits
pour la vision de des
travailleurs.
C'est un peu de la portability.
C'est un aspect important.
Surtout parce que
c'est un peu différent de la runtime
d'un Java script.
Il y a Dino, BUN,
whatever
qui va venir la prochaine année.
On a
un SM et on a
des runtimes.
Si tu es un clavif,
Dino, BUN,
tu peux stilles
y avoir des infrastructures.
C'est un grand premier.
Je suis un grand BUN
et j'adore BUN.
J'espère que ça va
et que c'est
un joyeux travail.
On va parler
un peu plus
de la façon dont
tu as un ressource
pour l'alchemy.
Je voulais faire
ceci pour ma infrastructure.
Peut-être que l'Oxide computer company
a été créé.
Comment ils ont commencé ?
Qu'est-ce que ça a fait
pour modeler un ressource en alchemy ?
Tu te dis
que c'est juste une fonction
pour créer, créer, élever
l'infrastructure.
Comment tu fais
pour que les choses soient en le bon état ?
Ce que je veux dire
c'est qu'il y a
des propres
qui sont lesquels tu as l'input
quand tu configures.
Et puis il y a des attributes
qui sont lesquels tu en parles.
Ou tu peux les parler
par les propres.
Tu penses simplement que ton ressource
est en termes
d'input ou output.
Qu'est-ce que je dois donner
pour l'infrastructure ?
Et c'est juste deux interfaces.
Mes propres et mes outils
ou les instances de ressource.
Et puis tu déclares
une fonction. Et il y a un rapeur
qui te donne
une FQN ou un nom
ou un type.
Mais c'est comme un identifiant
pour ce type de ressource.
Toutes les instances de ressource
peuvent être associées
avec le handler.
Et puis tu as un fonction
qui t'aimera
l'indice de ce ressource.
Par exemple, mon site
doit être unique
dans un scope, qui on peut parler de plus tard.
Et puis les propres.
Et c'est un fonction qui
doit être en train de prendre trois cas.
L'un est le cas de création
qui n'existe pas.
Qu'est-ce que je fais dans ce cas ?
Je prends poste
pour l'exemple.
Et puis il y a l'update phase
qui est que les propres ont changé mais la ressource
existe. Donc tu as accès
au state de la ressource.
Peut-être que tu dois
mettre un peu d'hôpital
pour exemple dans Cloudflare
et qu'il faut qu'on n'aie pas de bindings
parce qu'ils ne sont plus là
et qu'il faut faire un appel.
Et puis il y a le face de délicat
qui est un peu de la cleanness
de la ressource.
Et ça est généralement assez simple.
C'est poste,
de délicat. Si la ressource
est bien designée, ça se met à la suite.
La ressource est un ressource
qui est un peu plus possible.
Designé de ressources, poste,
poste pour créer, poste pour l'update,
délicat pour délicat. Les meilleures ressources
travaillent de cette façon.
Strype, pour l'exemple, a été une minute
pour générer parce qu'ils sont juste parfaites
ressources.
AWS est dans un bâtiment très similaire.
Et puis il y a
des cas de l'edge qui sont
les ressources qui sont
éventuellement consistantes.
Surtout les uns qui ont un bas
bâtiment, comme vous avez
de la VPC, Amazon a
des périodes de waiting
avant de propogater et tout comme ça.
Vous voulez
au moins penser à l'avant et
de faire des check
pour que ce soit
consistant pour que
le consommateur de la ressource
soit garantie que c'est consistant.
Ou je suis en train de
mettre une consistance éventuelle
pour que les choses puissent
résoluer la consistance plus tard.
Ce sont
des choses importantes pour considérer.
Et enfin, je pense que l'autre est
que vous voulez être item potent.
C'est généralement mieux que
si je fais la ressource et que
quelque chose se brise dans le milieu
et que je le fais encore, je ne veux pas être brisé.
Deuxièmement, être brisé
d'un état partiel est terrible.
Si je fais ça multiple de fois,
ça devrait être le même état. C'est un point important.
Avec ceux qui sont en main,
et ils sont tous encodés dans le file de la ressource
par exemple,
vous pouvez plus vider
l'API spec, pâtir,
et vous allez avoir le plus de ça.
Et puis vous utilisez ça un peu de temps
par les tests et vous trouverez les égages
et les réparer.
C'est quelque chose que vous avez dit, je veux plus vous dégager.
La page de la page de l'alchemy
s'appelle que c'est optimisé pour Gen AI.
Je veux vraiment savoir
ce que ça veut dire en termes
d'API design
et ce que ça veut dire
en termes de choses que vous vous envoyez
pour le user pour faire ça possible.
Vous avez juste mentionné le file de la ressource.
Je n'ai jamais utilisé un de ces.
Comment ça va faire le workflow?
Comment ça va faire
un code qui est toujours correct?
Vous pouvez juste dégager
un peu plus?
La main chose qui est en train
c'est la ressource de la ressource.
Parce que c'est juste une fonction
et c'est juste type script
et je n'ai pas de pattern
de flashed out.
Je pense que l'une des choses
qu'on va parler de c'est
ce que l'AI a fait me penser
plus en développement.
C'est des patterns et des conventions.
Si vous laissez l'AI faire un hamout
ça va faire un hamout,
surtout Cloud 3.7 et sonite.
Il va juste construire des choses randomes.
Mais si vous vous déclare
une convention très constraite
c'est extrêmement productif.
On parle d'une période
de travail et de réduire la production.
Si vous comparez le développement
d'une ressource custom
dans l'alchemy,
pour dire pour le plume
ou le terraform, je considère
une ressource custom en plume
comme un projet.
Ce n'est pas juste une nouvelle fonction.
Il y a beaucoup de choses
qui ne sont pas évident
pour l'LM.
Un terraform est un projet de goit
qui est un projet de construction
et de structure.
C'est un grand projet
de construction.
En ce cas,
la construction est plus difficile
que la construction de la fonction.
Le plume a aussi beaucoup de
des égages.
Il peut utiliser le SM.
Ils sont en train de
faire des choses de la ressource
qui est un erreur.
Mais ça se passe avec des goitres.
Le AI ne comprend pas.
Il y a aussi
des deux pièces.
Il y a toujours un erreur
où l'alchemy est
une fonction pure type safe
avec une convention
qui peut être établi par un AI.
Ça est optimisé pour l'A.I.
Parce que
c'est un type pure type
de la production, je suis commencé
d'expérimenter avec l'AISDK
et de construire des ressources
autour de l'AIS.
Vous pouvez se placer un workflow
qui génère des codes
et récompute
un file si c'est en train de changer
les dependencies.
Je suis là pour l'import.
Quand je change
l'import, je devrais penser
à récomputer et de réactiver.
Mais si ça ne change pas, ne fais pas
rien. C'est l'autre angle
que je suis expérimenté.
Je fais ça pour générer mon doigt.
Par exemple,
quand je change
l'implementation, je réimpe
les doigts et je pense
à des cas de reuse. C'est cool.
Il y a beaucoup de choses
qui peuvent être faites.
Mais l'engineering est difficile
et je ne suis pas là.
C'est l'AISDK
à l'époque.
Je me demande
si c'est intéressant de penser
à vous. Vous travaillez à l'heure?
Vous êtes en train de se faire un solo?
Oui, totalement.
C'est intéressant de penser à quelqu'un
qui travaille en
infrastructure et producteur.
C'est classiquement un grand
problème.
Parce que pour être vraiment utile,
vous devez couvrir un grand
swath.
On a parlé
de la façon dont le gen AISDK
fait ceci plus possible.
Je suis inquiétant.
Comment vous pensez
à la façon dont le gen AISDK
s'est construit
dans quelque chose d'alchemy?
On parle de la terraform.
Quand Hesher Kwerp
construit la terraform, vous avez besoin
d'un keyboard. Vous avez besoin
d'un équipe magnifique
pour le booster et
pour le faire.
Et puis la pression
pour les gens de celles et les contracts
et la forme du business est vraiment
dédiée par le fait
que vous devez
mettre des salauds de salauds,
et avoir beaucoup de monnaie pour
faire ce produit.
Il y a
des effectus de networks.
Vous avez
une nouvelle
développement qui signifie
que vous pouvez faire beaucoup plus
avec moins d'efforts.
Vous essayez aussi de constater
les abstractures et faire
un produit simple pour commencer.
En pensant
à la production et de la team
sur ce sujet, vous avez
une question
de la question.
Mon sujet n'est pas là
maintenant.
Je peux construire le meilleur produit possible?
Il y a
plein de temps,
de flexibilité et de la
façon dont je vais faire
le meilleur produit.
Je ne suis pas en train de
faire le produit
par tenter de moneter quelque chose
qui ne devrait pas être monété.
Je suis
en train de bâtir mon temps.
Je pense que mon stratégie est
que
l'alchemy devient le roi de
les applications.
L'infrastructure
déclarée en programmes d'alchemy
et la communauté qui s'occupe
et qui s'occupe de la base.
Les stories AI
ont commencé à s'évoluer.
Nous avons un autre jump
de la GPT
à 3.5 sonnard
et un autre jump à 3.7.
Comme ces choses
s'improvent
sur le côté, je vais
s'occuper de la position
de la personne
qui a un problème
avec les calendaires.
C'est un des problèmes plus
plus anciens.
C'est pas un problème,
il veut générer le software.
L'alchemy
ou un product adjacent
peut s'occuper de ça.
Je commence à s'occuper
de la problème d'infrastructure.
L'infrastructure est déclarée.
Je vais s'appliquer
pour l'infrastructure
à la construction
pour que l'AI s'occupe de la base.
Je vais s'exprimer
des systèmes d'alchemy
et des designs domaines.
Je vais s'occuper
de l'application
et je vais s'occuper
de la question de la base.
L'article d'un appui
qui se suit
de la base
de la base
va changer rapidement.
Il y a un plan de construction
de la base
qui est la base de ma base,
et je vais s'occuper
de la base.
j'ai B eggs sur A.
C'est mon problème.
J'av encounters my
je suis en train de travailler sur un produit de données qui était dans ce espace.
Si vous allez au website, vous verrez cela.
Je vais l'abandonner pour maintenant.
Mais je pense que c'est un domaine de tic-ass.
Il pourrait être un nom de bon nom pour l'alchemy, en fait.
Les aspects.
Mais je n'ai pas le MPM package.
Je préfère le MPM package et le domaine.
Donc, ce n'est pas un aspect.
Il pourrait devenir un produit de design de domaines ou quelque chose.
C'est juste un autre domaine.
Tu pourrais bien sûr avoir le MPM package.
Il est super ligné avec des noms de park.
Ce n'est pas été réveillé dans 9 ans et n'a pas de rèd.
Donc, tu peux facilement avoir ce nom.
Je vais l'aider ce gars 3 fois.
Je pense que c'est probablement le temps de l'escalier.
Oh oui, l'alchemy va le faire dans un jour ou deux.
Je l'ai fait quelques fois.
Bonne chance.
Vous pouvez l'entendre, les gens.
C'est pas moi.
Oui, oui.
On va attendre, on va attendre, et on va te donner une chance.
Oui, oui, merci.
On va l'entendre aussi.
C'est comme ça que je baisse un auto sur MPM,
ce qui est très, très fort.
Oui, oui.
Je voulais acheter Self.ai.
Il a un nom très cool.
Il est listé comme 100$ minimum offert.
Mais je suis sûr qu'ils veulent 2 millions de dollars.
Oh, pour sûr.
Donc, ce n'est pas une conversation très fascinante.
On a découvert beaucoup de space.
Je suis vraiment inquiétant de voir où vous êtes à l'alchemy
et de voir ce que vos priorités de la prochaine.
Oui, je pense que le corps de l'alchemy est très établi,
sur des features, peut-être des rollbacks ou des approvals.
Donc, un qui est intéressant de parler,
c'est que le trait de l'offre que j'ai fait avec les fonctions Async,
est maintenant que c'est égale, en fait, de la laze.
Ce qui veut dire que ce n'est pas facile de prévoir un changement.
Avec Pulumi, je peux dire,
« Hey, qu'est-ce que vous pourriez faire si je vous aimais ? »
Et je dirais, « Ah, je vais créer ça, je vais délire ça. »
Sans moi, vous ne pouvez pas faire ça.
C'est un trait de l'offre majeur.
Mais la solution est que vous mettez des rails en place
pour les choses qui ont besoin d'approval.
Et vous vous surfiez.
« Hey, je suis prêt à changer le rôle de l'IAM
pour avoir l'accessibilité et vous envoyer à quelqu'un. »
Je vous dis un petit shout-out à Yuhuda, qui m'a donné cette idée.
J'espère qu'il est en train de l'écouter.
Il y a des approvals.
Il y a des choses là-bas qui sont en train de se faire,
mais la plupart des corps sont déclinés.
Et maintenant, je suis en train de faire un tour de la web,
de faire un tour de la cloudflare.
Donc mon but est que Rangler ne faut pas être existé anymore.
Peut-être que c'est un peu grave,
mais je pense que Rangler est un peu en train de se faire,
c'est à la fin et j'aimerais que, si Altony pouvait le remplacer.
Je ne veux pas de remplacer,
je n'ai pas besoin d'une structure de manager.
Je dois mettre des objectifs drôles,
je dois ajouter des travaux,
je dois savoir les changements qui ont été faits
pendant la semaine,
et je dois penser à qui je dois soutenir.
Si on a des travaux et des travaux,
le reste devient facile,
parce qu'ils sont des ressources standalonees.
Je pense que Cloudflare
sera la plus grande de la prochaine 2 ou 4 semaines.
Je dois mettre un autre sur ma couche,
qui est l'application de Cloud Control,
qui est la coverage de 95% de AWS.
Un grand AWS fan, donc je veux ajouter ça.
C'est vraiment la communauté de la construction
et de la utilisation des gens,
sur lesquels on travaille, c'est génial.
On va essayer de construire une communauté,
contribuer une ressource.
Je vais probablement mettre des databases de neon,
et des choses autour des égages
qui ont vraiment aidé à placer un tout produit.
Ici,
le template Cloudflare agence,
mais il s'agit aussi d'un stripe,
qui fait un billet de payments,
et il a aussi été installé dans le site,
donc vous pouvez faire votre login avec GitHub,
ou login avec Gmail.
Cette histoire qui est déclinée
et qui a été réalisée en code,
est ma première priorité.
Et puis, en suivant,
c'est difficile de prédiquer.
Si rien ne s'est fait,
peut-être que je vais en faire un peu plus
ou des choses qui vont se faire,
je vais en faire un et en faire un,
comme je peux.
C'est difficile de prédiquer.
Mais la stabilité des couvres
est le problème maintenant.
Comment vous aimeriez les gens s'interrompre?
C'est une nouvelle chose,
c'est seulement vous.
Qu'est-ce que les gens peuvent contribuer?
Je pense que la plus
excitante pour moi
serait les gens qui joignent le Discord.
Star the repo.
Je ne sais pas comment les stars
sur ma repo,
s'il vous plaît,
ça serait incroyable,
ça serait bien de me sentir bon le matin.
Mais s'il vous plaît,
joinz le Discord
et parlez-vous de ça.
Faites des questions
et peut-être vous pensez
sur comment contribuer les ressources
ou utilisez,
trouvez ce que vous avez mis
et vous l'avez fait.
J'aime vraiment
voir les gens
essayer de l'expérience
de la génération AI.
C'est
une des les plus joyeuses
des choses pour moi,
c'est
avoir expérimité
10 ans
dans l'infrastructure
pour pouvoir
cliquer mes mains
et obtenir une nouvelle ressource.
C'est juste magique.
Vous savez,
j'aimerais voir
plus de gens expérimer ça.
Et
ne pensez plus sur
comment,
je peux
m'enbondir
de toute cette honte
et m'aider mon propre monde.
Je dirais
que
Star the repo
et Join the Discord
sera la plus
plus utile pour moi.
Oui,
il sera intéressant de voir
ce que les gens construisent.
Il semble que vous avez
construit un très bon
primaire
qui peut être composé
pour faire
beaucoup de nouvelles
choses intéressantes
qui pourraient être
incombres
dans le passé.
Donc, j'ai très hâte
de voir ce que les projets
vont faire.
Oui,
il y a à moins de deux gens
qui commencent
à vraiment
mettre en place
des travailleurs
pour les plateformes.
Donc, ça va être
vraiment
très fun
de voir
des stacks
de l'infrastructure
customaire
pour les gens.
C'est cool.
C'est tout pour nos questions
cette semaine.
Merci pour votre
soutien, Sam.
C'était un très
intéressant
delve
dans les choses
de l'infrastructure
et de la code
où il semble
qu'il y a beaucoup
de thorns
pour être mises.
Donc, merci pour votre
et merci pour le tour.
Merci pour votre
soutien, Sam.
C'est génial.
Oui, Sam.
Merci pour votre
Je suis vraiment
content de voir
ce que vous venez
avec
l'alcool.
Je pense que
le space
a besoin
beaucoup plus...
Je ne sais pas.
Il a besoin de plus de vie.
Et je suis heureux
de voir
les joueurs
dans le space.
C'est...
C'est assez
intéressant de voir
le développer.
Je pense que
le Palomy est bien.
Je pense que
le SSD est bien.
La Terraforme
a évidemment
ouvert beaucoup de
l'alcool.
Je suis heureux
de voir
le plus facile
et plus simple.
Donc,
je vous souhaite
le meilleur de la
blogue.
Et je vais vous
suivre très
très close.
Oui,
c'est le temps
pour les...
Tout va
dans les cycles,
tu le construis
et puis tu le burnes
et tu le burnes.
C'est
environ 10 ans
depuis que nous l'avons
de essayer le meilleur
pour produire ceci
pour le plus petit
petit piece
que ça peut être
et voir ce qui se passe.
Je pense que
avec l'AI
comme j'ai mentionné
avant,
le mode de Brett
n'est plus un mode.
Tout le
AI
est trainé
sur
chaque piece de Terraforme
et
chaque piece de Palomy
et maintenant
vous pouvez juste
et nous sommes plus
plus close
à juste
cliquer vos doigts
et faire ce que vous avez besoin
pour faire le prochain
step forward.
Et
ce est tellement plus
puissant
que d'être
en train de faire.
Je pense
que l'un des choses
que je voulais dire
c'est que
je me sens
que les submodules
devraient
devenir plus
de choses.
Je me suis commencé
juste
ne pas
couper
un problème
avec les gens
dans la repository
et juste
placer le repos
et mettre le en train
et juste
changer le sur le vol.
Ce qui est
de votre
autonomie
et
être un solo team
et faire le truc
que vous avez besoin.
l'AI
va faire 90%
de la travail
et faire les meilleures décisions.
Je pense que
l'Alchemy
est
la révolution
en jijin.
C'est
trois
dés Wasn't
me
should
n pie
t
m
non
...
Episode suivant:
Les infos glanées
devtools.fm:DeveloperTools,OpenSource,SoftwareDevelopment
A podcast about developer tools and the people who make them. Join us as we embark on a journey to explore modern developer tooling and interview the people who make it possible. We love talking to the creators front-end frameworks (React, Solid, Svelte, Vue, Angular, etc), JavaScript and TypeScript runtimes (Node, Deno, Bun), Languages (Unison, Elixor, Rust, Zig), web tech (WASM, Web Containers, WebGPU, WebGL), database providers (Turso, Planetscale, Supabase, EdgeDB), and platforms (SST, AWS, Vercel, Netlify, Fly.io).
Tags