
Elastic - with Steve Gordon
Durée: 61m18s
Date de sortie: 16/04/2023
In this episode, I was joined by Steve Gordon to chat about the Elastic Stack, and his work on the Elasticsearch .NET client.Steve is a senior engineer at Elastic, maintaining the .NET client libraries. He’s a Microsoft MVP, Pluralsight author, speaker, and blogger, and user-group organiser.For a full list of show notes, or to add comments - please see the website here
Bonjour à tous et bienvenue à l'Unhandled Exception podcast. Je m'appelle Clark et c'est épisode 52.
Aujourd'hui je suis joined par Steve Gordon qui était sur le show près de la première fois,
en épisode 3, où nous n'avons pas vraiment un sujet, nous avons juste fait des choses.
Mais aujourd'hui nous allons parler de l'élastique search, parce que vous savez, qu'est-ce que c'est que l'élastique search ?
Bienvenue à la show Steve, bienvenue à vous.
Merci d'être là, c'est génial de vous être là. Je ne peux pas croire combien de fois que la récordation est venue, en fait, quand je l'ai regardé.
C'est comme 50 épisodes, ce n'est pas beaucoup, mais c'est pas mal de temps.
C'est impressionnant de garder les podcasts, je suis un éclair régulier, j'aime les choses que vous avez mis à l'écouter.
C'est bien de l'écouter, mais oui, je pense que l'éditing est un peu le temps, c'est-à-dire que nous avons commencé à faire cette vidéo YouTube,
c'est comme si nous étions en train de faire un record, de trouver le temps pour les choses, et beaucoup de chocs, mais je suis content de le faire,
donc c'est bon, je vais pouvoir parler à beaucoup de personnes différentes.
Oui, c'est le bon moment, on a des opinions différentes, des idées différentes.
Je l'ai fait sur Verify.net, c'est un peu de temps avant, et je l'ai utilisé Verify,
et on a eu beaucoup de tests de test en termes de verifier l'outil de Jason,
c'est toujours bon de l'écouter pour les choses, pour prendre des conseils comme ça.
Oh, c'est bien, donc ça a été le cas dans l'épisode?
Oui, je pense que j'ai entendu ça à un moment, et puis, j'ai oublié de l'écouter,
et puis l'épisode de podcast m'a rappelé de me prendre une belle vue,
et de l'utiliser pour quelque chose que j'ai besoin de résoudre.
Oh, c'est incroyable, c'est beaucoup plus que le Salmon.
Oui, c'est vraiment facile de commencer, et merci à lui et à toi pour m'attendre à mon attention.
Je vais inclure un lien dans la description, parce que c'est la chose YouTube,
les notes de la show, j'ai eu deux termes de remises,
je vais inclure un lien dans les notes de la show, et aussi dans l'épisode de podcast.
Pour vous donner une introduction propre, et je vais vous faire ressortir les blanques,
parce que je suis juste en train de lire votre Twitter bio,
mais vous êtes un author de Microsoft MVP, un author de Pluralsight,
beaucoup de fois, un chercheur en sénier, un chercheur de l'élastique,
ce qui est ce que je vais vous parler aujourd'hui, un blogueur, un speaker,
et aussi un hero de AWS, je ne sais pas ce que c'est,
mais est-ce que c'est comme l'équivalent de Microsoft MVP ?
C'est ça, je dois prendre ça au profil, parce que je n'ai pas été réunis sur ceci,
parce que je n'ai pas fait vraiment rien avec AWS en anglais,
donc ils ont fait une sorte de réunir,
ils ont dit qu'on ne va pas vous renouer cette fois-ci,
donc ça doit venir de l'article.
Cool, donc d'autant que vous avez un travail en search en élastique,
et qu'est-ce que vous avez été en search ?
C'est été longtemps depuis que vous avez eu un travail en search ?
Oui, je pense que c'est un peu étrange,
parce qu'on a évidemment passé les années de pandémie,
et le manque de des choses à faire,
on a fait un nombre de meetings et des conférences remotely durant cette période,
je dois dire que j'ai un peu de fatigue en Zoom à un moment,
et j'ai un peu de peur,
juste tenter de les attendre et de les parler,
mais maintenant les choses sont en train de se réunir,
de pouvoir réunir des conférences dans l'année dernière,
et c'est bien de pouvoir rencontrer les gens en personnel,
et de parler des soucis en personnel,
et de pouvoir voir si l'audience peut comprendre ce que vous avez dit,
et de prendre des questions,
c'est beaucoup plus dynamique que les sessions remotely.
Je me souviens d'avoir fait beaucoup de paroles,
de voyager dans le monde,
et tout ça,
est-ce que vous faites ça ?
Ou est-ce que vous vous démarrez de votre tête en personnel ?
Oui, j'ai fait quelques événements,
plus tard que l'année dernière,
j'ai été à la Belgique,
qui était une des meilleures,
et j'ai fait quelques événements,
j'ai fait quelque chose en Berlin,
pour les développeurs,
j'ai fait un peu de tour,
et j'ai quelques envers,
je vais être en Romainie,
pour la conférence de la dotnet,
et puis je pense que je vais en tourner en April,
à la Suédois,
pour la dédissante,
Et puis,
plus de tour.
Cette fois, on va essayer de faire un petit peu
avec notre bébé aussi,
alors qu'on avait un bébé.
Depuis l'abri,
depuis que nous avons parlé sur le podcast,
donc,
elle est nul,
il y a presque huit mois,
donc on va voir si elle enjoy en tour,
et commencer à aller avec des flights européennes
pour tester les waterons sur cette.
Je vais問,
comment est-ce que vous faites votre secret ?
Pour les enfants,
si vous les faites avec vous,
cela serait probablement le secret.
Oui, c'est ça.
Nous pensions qu'on lui ferait un tour.
J'ai fait l'NDC London et en général,
et on ne voulait pas essayer de faire ce travail avec tous les uns.
Mais, oui, on peut en faire Romainie,
on va faire quelques jours avant la conférence,
pour voir la ville là-bas,
et puis, oui, même pour la Suède aussi.
Et en between, je pense que je vais avoir Tekerama,
Belgera, mais je pense que ce sera juste
un tour de plus pour moi,
parce que je pense que nous allons peut-être
pouvoir se dévouer sur le voyage, ou autrement.
Vous vous êtes en train de faire DDD Bristol ?
D'accord, je ne pense pas que je vais être ici,
parce que ça va falloir,
c'est juste après, je pense que la conférence Romainie
va être un peu plus tôt, je pense.
Donc, oui, j'aimerais bien être en train de faire ça,
parce que j'ai vraiment aimé les choses.
Et je me suis regardé à DDD,
les Midlands, qui ont ouvert les coups pour les papiers,
comme je l'ai pensé.
Et puis, ça se fait sur le même jour
que l'autre conférence, plus tard dans l'année.
Donc,
j'ai failli probablement pas aller
à l'événement de DDD, ce soir, beaucoup.
Je n'ai pas oublié ceci,
c'est juste pour ce qui est un peu, non ?
Oui, c'est ça.
Je me suis dit que je vais faire ce dernier,
et puis je ne pouvais pas le faire en fin.
Je pense que ça a été un peu,
et puis,
oui,
j'espère que ça va faire ce année.
Et, encore une fois,
c'est le problème avec ces choses.
Ils tendent à être
clôtés ensemble
à des fois similaires,
les meilleurs gens évoient
comme le milieu de l'année,
donc ils sont comme un pré-summer
et puis des événements post-summer.
Et oui,
il faut juste
choisir et choisir
les deux que vous pouvez faire chaque année.
Oui,
c'est certainement,
c'est certainement que vous êtes en train de faire ça.
Oui, donc avant de faire
une recherche élastique,
je vais juste faire ce épisode rapidement,
le mentor.
Et ceci va au Daniel sur Twitter.
Et il a tweeté sur un épisode précédent
où je suis allé avec Tanya Yanker
pour parler de sécurité de l'application.
Et il a tweeté un bon épisode,
il a complètement appris que la sécurité psychologique
est importante dans les équipes.
Merci Tanya
pour partager votre voyage
comme speaker
et pour faire
Alison Bob
apprendre la sécurité de l'application
disponible comme un audiobook.
Donc, merci Tanya.
Et c'était un bon épisode.
J'ai vraiment aimé chanter avec Tanya.
Et si vous voulez en parler sur le show,
vous pouvez envoyer un tweet
en utilisant le hashtag
UnhandledException.
Tout le public est très apprécié.
Et je suis Dragon sur Twitter,
qui est D-R-A-C-A-N.
Je suis aussi sur MasterDom,
mais ça va plus tard.
Donc je ne vous le ferai pas.
Ça va être sur le site de l'on.
Et, en plus, je vous remercie
que ce podcast est responsable
par Everstack,
qui est mon propre company
qui a été offert par l'application
et des services de consultation.
Pour plus d'informations, visitez
Everstack.com.
C'est bien.
Donc, une recherche élastique.
Je pense que
je peux probablement s'assurer
que la plupart des listeners
ont entendu de l'élastique.
Mais on s'assure que
certains listeners n'ont pas.
Qu'est-ce que l'élevateur
pour l'élastique?
Je pense que
la somme de la somme
est une somme de l'opinion
de recherche et de l'enlétiquage.
Donc, beaucoup de gens
ont utilisé pour détruire
les données qu'ils veulent
chercher en quelque façon.
Beaucoup d'experts de la fonte
ou des sortes de searches
de range
de recherche
par la date.
Mais la fonte
en particulier,
est où
l'élastique a commencé,
au-dessus de l'opinion LUCINE,
qui est un projet d'opinion d'opinion.
Et il a été first
introduit en 2010.
Et ça a été
créé, considérablement,
depuis, en termes
de capacités
et de fonctionnalité.
C'est un système de distributions
donc, si vous la faites
dans vos propres environnements,
vous serez capable de
mettre un nombre de notes
qui ont travaillé ensemble
dans une cluster
pour profiter de toutes les fonctionnalités.
Et vous pouvez la scale
pour que les besoins
que vous avez besoin
avant de rejoindre
l'élastique
soient travaillées
en compagnie
où nous faisions
les métriques,
surtout les métriques
et les aggregations
sur des types de
des données d'événement
et nous étions
en train de rejoindre.
Je pense que
quand nous nous avons
étendu à un cluster
de 40 notes,
donc c'est un grand BFE,
AWS, VMs
et je pensais
à la fois
que nous étions
probablement
assez grands
mais depuis que nous avons
rejoint l'élastique,
j'ai appris
qu'il y a des gens
qui ont détenu
des énormes,
des énormes amountes de données
et de faire
plus grand
de nos clusters
que nous
nous avons réagi.
Donc c'est un cluster
ou un node
dans un cluster?
Est-ce que c'est
d'un compute
ou d'un storage
ou est-ce que c'est les deux?
C'est les deux aujourd'hui,
oui,
donc
vous pouvez configurer
les notes
pour avoir différents rôles.
Donc
par défaut,
les notes
vont juste commencer
avec les capacités
pour
toutes les fonctionnalités standardes.
Comme vous êtes
tendus à m'enturer
dans les sizes de cluster
où vous avez un grand
compterre
de où votre load est,
vous pouvez
faire un peu de tournevis
donc
certains systèmes
vont être
très dégâts
où
la moitié de votre load est
en gestion
et
en transformant
le data
et en détenant
et peut-être un peu
plus léger
sur leur usage de search.
Ou d'autres organisations
peuvent être
complètement de l'autre façon
et ne peuvent pas
avoir
beaucoup de données
que ils ont détenu
mais ils ont
un grand nombre
de searches
sur ces données.
par configurer
différents rôles
sur ces nodes,
vous pouvez définir
des nodes
qui sont
juste
ordinateurs
qui sont
en train de
la search
pièce
qui est
en train de
la sécherche
pour tous les nodes
qui peuvent
tenir le data
pour ce certain
search
qui va
gérer ce data
et présenter
les résultats
de la search
pour
le caller.
Mais aussi, vous pouvez
avoir les nodes
qui sont
spécifiquement
guérés
par des nodes
pour la sécherche
de l'actualité.
Et nous aussi
vous savez
comme les gens
moutourent
dans leur voyage
nous avons
plus
spécifiques
types de nodes
pour
la management
de la vie
pour différents types
de nodes
donc
c'est typiquement
où vous avez
des données
qui
sont
comme les âges
qui sont
moins importantes
donc le typiquement
sort de
exemple
c'est
le data log
les gens
veulent
détruire
leur data log
pour un long
période
pour qu'ils soient
en train de
régler les nécessaires
ou qu'ils doivent
aller en temps
mais la plupart
les données qui
sont
passées
une semaine ou deux
plus
les gens ne sont pas
nécessairement
recherchés
sur ce
en temps
et en espérant
très vite
les réponses
ce sont
ces sortes
pièces de data
qui
typiquement
sont
éclatées
d'occasion
et donc
vous pouvez
faire
votre data
pour les nodes
qu'on appelle
les nodes hot
les nodes warm
les nodes froides
et d'inventé
les nodes froides
qui sont
c'est un moyen
de
faire
cette compétition
pour
mettre cela
sur un hardware
avec la capacité
qu'il faut
pour détruire
les données
mais pas nécessairement
la
force de la compétition
pour soutenir
les recherches
très vite
comme les données
moutures
c'est-à-dire
ça
ça
donc
vous avez
évoqué
des métriques
et des loges
qui ont probablement
répondu
cette question
mais
vous avez
commencé
dire
que c'est
comme
pour ce genre de choses
vous pouvez souvent
voir
l'élastique
sur
ce qui est
la source primaire
de données
ou vous
vous pensez
que
parfois vous avez
une main database
et vous avez
une database
pour les recherches
ou pour les
analytiques
qui sont
comme
une réplique
ou une copie
qui a été transformée
vous voyez
différents patins
sur ce qu'il y a
que
l'élastique
sur l'utilisation
de la date primaire
ou une copie
d'autre
oui
donc on le fait
et c'est
un peu
entièrement
à votre
utilisation
donc
je pense
que
C'est
voyuck
dis
ne
comment
pas
teh
de
la
vidéo
est
tel
même
dont
du
d'avoir un copier du duplicate de l'élément existant dans deux différents stores de données,
peut-être sur MySQL ou SQL Server database, qui est en fait le blog,
et puis le site de la date dans l'élastique, qui est responsable de la recherche en prenant les searches.
Mais vous pouvez, si vous voulez, utiliser ça comme une store de données primaire.
En revanche, en regardant l'exemple que j'avais précédemment,
quand nous étions construitant ce système métric,
cela était entièrement installé dans l'élastique.
Nous étions en train de faire des messages à l'élastique,
à l'assistance de la service de la queue,
en les déclenchant dans l'élastique.
C'est là où les histoires ont été créées,
et où l'utilisation de ces données a été créée.
Pour cela, nous n'avons pas besoin d'un autre database avec un standard SQL-like querie.
Nous avons besoin d'être en train de faire des searches et d'agrogater sur ce data,
directement dans l'élastique.
Nous avons aussi bâti le data à l'S3,
et des choses comme ça, pour que nous ayons des copies.
Si vous utilisez cela comme un soldat,
vous avez peut-être quelques considérations additionnelles
en prenant la preuve d'être sécurisé.
Vous avez des backups.
L'élastique de la queue est distribuée en design,
donc vous pouvez automatiquement avoir
une source de copies de data à l'élastique
à travers des nodes différents,
pour que si un node s'y perd,
vous avez encore un système de travail.
Et puis, l'autre pièce de la puzzle,
est de performer des snapshots de votre data,
pour que vous puissiez en bas,
et si vous avez perdu l'intérêt,
vous avez eu un système de travail,
ou un grand portion de votre système,
vous pouvez avoir le data à l'âge de plus tard.
Il semble très flexible,
avec beaucoup de différentes options.
Je n'ai pas utilisé l'élastique de production,
je l'ai joué avec l'Elk,
long terme de temps,
et je crois que c'est maintenant l'élastique stack,
est-ce que ça a été renélu ?
C'est vrai.
Donc, Elk est l'envers qui a été
utilisé pour l'élastique de search,
Logstash et Cabana,
qui sont les trois compagnons
que les gens vont aller voir
quand ils travaillent avec l'élastique de search.
L'élastique de search est votre data store.
Cabana est l'UI
pour travailler et manager
l'élastique de search,
pour que vous puissiez performer
toutes les commones opérations
pour configurer vos clusters,
et vérifier la santé de ceux-ci,
ainsi que de voir votre data,
et de potentiellement construire des dashboards
contre ce data,
donc beaucoup de gens
peuvent utiliser ça,
si ils ont des logs qui se sont emmenés,
ils peuvent construire des dashboards
sur ce log data,
ou des vis
sur le data qu'ils veulent
pour pouvoir vite se rechercher,
peut-être qu'ils ont des vis
pour des erreurs
pour qu'ils puissent vite
aller voir si les erreurs
sont récordées par
les systèmes de log.
Et puis le part de Logstash
est pour faire des données,
donc pour les scénarios de comment
vous voulez récorder des logs
sur les services
ou les log files d'application
ou des log files de l'IAS,
ces trucs-là,
Logstash est une des technologies
que nous avons
pour basicement écrire ces logs,
vous vous pointez à un directeur
où vos logs sont produisent,
comme ils sont venus,
ils peuvent écrire ces files
et puis mettre ce data
dans le search de l'élastique.
Nous avons évolué ça
dans l'élastique stack,
car il y a maintenant
des components additionnels
que, si vous commencez
à utiliser les lettres
pour les autres,
vous allez avoir
un très bizarre
accrédit.
Donc l'élastique stack
décide tout ce qu'on a.
Donc, l'une des choses
comme Logstash,
nous avons évolué
ça dans
quelque chose que nous appelons
l'élastique agent,
qui est un
un peu plus,
je dirais,
un moyen structurel
de pouvoir gérer
le data log
et de monitorer le data
des systèmes disparaîtres
que vous avez dans votre organisation
ou des applications disparaîtres.
Donc, par
l'évoluer l'agent,
vous installez l'agent
sur les services
que vous êtes intéressés
en monitorant,
et puis pour un produit
appelé FLEET,
qui est en fait
le component UI,
vous pouvez
de la sensibiliser
tout ce qui est en train
de rassembler l'élastique agent
et dire que
j'aimerais collecter des logs
et commencer à collecter
les logs ici
et ces choses de configuration.
Donc, ça fait
ce genre de
management,
plus facile
que de l'avoir à configurer
le log
sur chaque dévice
que vous voulez collecter le log.
Vous pouvez
en ce moment,
vous avez un agent
qui peut
vous pouvoir
centralement
contrôler
ceci
par le produit FLEET.
Donc, ça fait
ce genre de log,
des metrics
et des traces,
ça fait
oui,
donc,
particulièrement
des logs
et des applications,
oui,
des metrics
peut-être
comme les mesures de CPU
et des mesures de consommation
sur des devices,
ce genre de choses.
Nous avons aussi
l'élastique observabilité,
ce qui est
un espace
plus grand,
une solution
qui
kind de
couvrir
des choses
comme
l'application,
la preuve de la production,
l'application de la trace,
donc nous avons
des agents
que vous pouvez installer
dans
beaucoup de différents
sortes d'applications
que vous pourriez construire,
.NET,
Python,
Java, etc.
Vous pouvez
distoider l'agent APM
dans ceux
et commencer à collecter
des traces distribuées
autour de votre système
de
quelque chose
qui se passe
dans ces traces aussi.
Oh, c'est bien.
Et vous pouvez réender
ces traces
comme part de
Kibana,
aussi.
C'est vrai.
Oui, donc,
nous avons une
section de l'observatrice
dans Kibana
que vous pouvez évaluer
si vous avez
fait
les integrations
de l'observatrice.
Et
quand vous faites ça,
vous pouvez
aller dans Kibana
et commencer à
construire des dashboards
contre ce data.
Et comme vous le disiez,
se débrouiller
dans les traces,
et particulièrement
vous faites
des traces distribuées
où vous pouvez avoir
des services micros
et ils sont
commençant
à communiquer
avec un autre
sur le TTP.
Vous pouvez
commencer à
faire des activités
autour de l'ensemble,
de services
qui se sont
responsables
pour l'opération.
C'est très bien.
Est-ce que
l'opin de télémetries
est un grand standard
dans un grand
?
Oui,
l'opin de télémetries
fonctionne.
Je ne suis pas sûr
que les agents APM
ont de la support
pour ceci aujourd'hui.
Je sais que l'agent de l'opin de
les agents de l'opin de télémetries
et les integrations.
Ce qui est
très bien
et bien
parce que nous avons
l'opin de télémetries
de support
qui est construit
par les types d'activités
et des choses qui ont
déjà existé
et qui ont été modifiées
et qui ont évolué
pour travailler
avec des espaces
compatibles
et des choses comme ça.
Et c'est bien
qu'il soit bien
que vous puissiez
juste évoquer
ces features
et commencer à collecter
ces données.
Oui, c'est vraiment bien.
Un des components
qui ont été récentes
ont commencé à utiliser
son log-stache.
Pour un de mes clients,
nous avons un
très ancien co-base
et un nouveau co-base
qui est probablement
assez commun
dans des entreprises.
Le nouveau co-base
est utilisé
les cabinets et le graphane
et tout ce qui est en métier.
Et le logement de la log-stache.
Mais nous n'avons pas
le code de l'old
qui était un framework
et des packages
et les problèmes de transition
de dépendance
qui ne sont pas utilisés
parce que
c'est en fonction de quelque chose
qu'on utilise
une nouvelle version
et que
je n'ai pas l'air
de la connaissance de la connaissance
avec la dépendance de la la.
Quand vous reprenez
à ces applications,
vous trouvez comment bien
nous avons les données.
Je pense que
vous pouvez toujours
se passer à ces scénarios
mais je pense que
c'est plus
plus malade
que ça used à être.
Et quand je le dis à un projet
de l'old
je me souviens
de où nous avons vécu
et de combien nous avons
appris les choses.
Absolument.
Même si ça dépend de ces trucs,
c'est un nightmare
et que
chaque fois que je reviens,
mais maintenant,
ça marche.
C'est...
Mais à la fois,
je ne veux pas dire
que ça marche toujours
mais à la fois,
ça fait beaucoup plus bon.
Mais...
Oui, donc je n'ai pas vraiment
le truc que j'ai voulu
mettre dans l'application
pour faire un telocou.
Je n'ai pas vraiment fait.
Donc, ce que j'ai fini de faire
c'est de utiliser un serre log-sync
pour mettre l'HTTP
à un tel local log-sync.
Donc, ça a pris
comme un HTTP input
de plug-in
et a fait
un out-put local
de plug-in
pour le log-sync.
Et puis,
j'ai fait un peu de transformation
dans le milieu,
ce qui était assez facile.
C'était juste un peu
de file de config.
Et puis,
donc,
sur la même machine,
l'application
est en train
de mettre le log-sync
et le log-sync
est en train de
faire quoi que ce soit.
Et puis,
envoyer le code
au log-sync.
Et ça marche vraiment bien.
Donc, c'est un peu
de différentes components
en élastique.
Ça montre comment
le plug-in
et le plug-in
peuvent prendre
les compagnons qu'il faut
et...
vraiment bien.
Oui, exactement.
Oui, je veux dire
ce que nous avons découvert
avant,
les out-compagnons
sont
vraiment les
pièces de core.
Mais si
nous parlons
d'observabilité,
et ce qui est
une solution
de nous
que nous construisons
sur le top de ça,
nous sommes
consommés
ces parts
de la stack
pour construire
ces services
sur le top,
ce qui est
ce que les customes
vont faire aussi.
Nous avons aussi
une solution
de sécurité
qui est
aussi
une forme de concept
qui peut
configurer
les agents
sur vos systèmes
pour collecter
l'information
que vous avez besoin.
Et puis,
de sécurité élastique
en Cabana
permet de vous
et de
faire
l'attention
et ce genre de choses.
Donc,
c'est tout au long de
ce que nous avons
construit
sur ce stack
et l'étude élastique
est la date
pour tout ça.
C'est très bien.
C'est très bien.
Je devrais en parler
de ce que c'était
avant, mais je me suis rendu
en regardant quelque chose
de la stack.
C'est une partie de la stack.
De la stack, oui.
C'est une idée similaire.
C'est un concept
plus de l'an dernier,
je crois.
Ce n'est pas le cas
que je suis directement
involvementé avec, mais c'est
un concept plus de l'an dernier
pour collecter
l'information métricienne.
Donc,
les bêtes
ont
beaucoup de sub-bêtes
que vous pouvez installer
pour avoir
des bêtes de file
ou des bêtes d'événement
pour avoir
des bêtes de vente
pour pouvoir
collecter
l'information.
Donc,
aujourd'hui,
ce que les gens
font,
c'est que ça pourrait
être en train
de travailler
derrière les scènes,
mais finalement,
vous installerez
l'agent en plastique
et par la bête
vous pouvez
configurer
l'information
que vous voulez
collecte.
Et si il faut,
l'agent
peut installer
et configurer
les bêtes
derrière les scènes
et démontrer
ces choses.
Historiquement,
vous avez
dû installer
tout ça vous-même
et ça peut être
des installations multiples
et des configurations,
mais par la
agence
et la bête
de l'UI,
vous pouvez
centraliser tout ça
dans un endroit
qui,
dès que vous commencez
à avoir un peu de services,
ça commence
à payer des décisions.
Donc,
si j'ai voulu
utiliser l'agent en plastique
et je sais que localement
je peux juste
utiliser le doco
et tout,
mais si j'ai voulu
mettre cela en production,
que sont les options
de hostage
que je peux choisir,
comme vous l'avez mentionné
des VMs,
est-ce qu'il y a un objectif
déjà hosté,
ou une offering?
Oui,
donc,
la façon historique
que les gens
feront, c'est
ce qu'on appelle
la « Self Managed »
qui est où,
vous pourriez
utiliser votre propre hardware
ou des machines
sur les services cloud,
vous pourriez
installer un search en plastique
sur les VMs,
configurer
les machines
pour être partie
de la même cluster
et, finalement,
si les networkings
sont configurés,
ils commencent
à communiquer
et à opérer
comme une cluster.
Ce que je dis,
c'est OK,
ça fonctionne,
mais ça
introduit un niveau de management.
Donc,
en retour à mon travail précédent,
nous avons un team de systèmes,
et nous avons
un personnel en ce team,
en particulier,
qui était l'expert de search en plastique,
et qui a
sorti des intricacies
de faire sure
que ces services
puissent parler
à un autre,
ou si un de ces VMs
a eu lieu pour un crash,
pour que ce soit
quelque chose de
ce qui est en train de faire
la VM,
ou, vous savez,
parfois, les services Amazon
disparaissent
et tout ça.
Ils seraient responsables
pour faire sure
que toutes ces choses
sont en train de travailler.
Et donc,
il y a des overheads
dans ce scénario
où vous devez
avoir des gens
qui sont responsables
pour maintenir
l'infrastructure,
maintenir
la configuration
de la cluster,
ce genre de choses.
La solution plus facile
aujourd'hui
est de regarder
l'alastique cloud,
qui, comme le nom s'adresse,
est une solution cloud-based.
Nous, basiquement,
offrons ça
sur le grand public
des providers cloud-médiaux.
Donc,
quand vous pouvez
mettre en place l'alastique cloud,
vous pouvez choisir
d'y hoster le service,
les providers cloud-médiaux,
mais, évidemment,
les régions et les choses.
Et puis,
nous allons aller
sur les scénarios,
nous pouvons
mettre en place
toute l'infrastructure
nécessaire pour vous.
Donc, avec Cloud,
vous êtes, en fait,
beaucoup de
la complexité,
je pense,
de maintenir
tous ces individus VMs
et la configuration,
vous pouvez,
en bas,
par les slideurs,
déterminer, ok,
je dois,
je dois avoir
cette capacité de data
que je vais avoir besoin de stocker,
donc, je dois, évidemment,
mettre en place mon scénario
pour être approprié pour ça.
Et puis, vous pouvez commencer
à choisir
vos différents types de nodes
et les choses,
si vous voulez,
commencer à prendre des avantages,
peut-être,
des VMs pour
l'alastique cloud-médiaux
pour des données d'âge,
et donc, oui,
tout ça
est managé pour vous.
Et donc,
la cloud est une bonne manière
d'être commencé,
si vous voulez juste
jouer autour de l'alastique cloud-médiaux.
Vous avez mentionné la image docker,
c'est encore une bonne solution
pour la localisation.
Vous pouvez juste
spinning un code
d'alastique,
une image docker
sur votre machine.
C'est évidemment pas
une faute tolérante,
ou particulièrement,
vous savez,
puissante,
mais si vous voulez,
faire des applications
et des tests locales,
c'est encore une bonne solution.
Et,
une des choses
qu'on a commencé à parler
est que,
ce que nous avions
évolué
dans la
service de l'alastique
sur le service,
donc,
si vous allez en regardant
les récits
de la vidéo
de l'alastique,
vous allez commencer
à voir
des mentions
de certaines d'autres idées
autour de ça,
mais,
finalement,
ceci est en bas
de prendre le concept
plus fort,
à ce point
où vous n'avez même pas
vraiment besoin
de penser à ce concept
de nodes
et de la gestion
de la capacité
de la capacité.
Vous avez juste
vraiment,
comme les consommateurs,
que les gens
veulent juste dire,
je veux avoir des données
et je veux chercher
les données.
On dirait,
goal with
obliged mastery
as the
gass
parce que j'ai un grand fan de Kubernetes et tout ça.
Mais je pense que beaucoup de gens,
qui vont être en train de voir une nouvelle technologie,
vont avoir de la chance de faire des clusters,
de ne pas avoir de chargé, tout ce genre de choses.
Ça peut être fait parce que c'est ce que l'initiel barrage
qui est un entier pour la learners,
où, comme vous l'avez dit, juste pour commencer et avoir un jeu,
juste pour commencer à placer vos doigts,
si vous pouvez juste aller au Cloud Elastic
et se placer quelque chose et avoir un jeu,
ça va être comme ça, ça commence, je pense.
C'est ça, je pense que pour un grand nombre de gens,
ils ne sont pas en train de faire des volumes
qui doivent avoir tout ce sens de knowledge intrinsique,
comme vous le disiez, des systèmes distribuels,
et comment vous configurez tout ce genre de choses.
Ils ont juste un requin qui a été handé
pour eux comme un développeur,
on veut donner un search pour les services de Full Tech
sur un subset de notre data.
Vous pouvez faire ça souvent.
Donc, en pensant à ce que je dois comprendre,
ce concept de la cluster,
tous ces types de nodes,
et puis, décider comment je vais s'assurer
que je vais faire mon data à travers ceux
pour avoir la meilleure performance,
et toutes ces questions techniques,
la plupart ne veulent pas avoir de la complexité.
Si vous pouvez aller et se placer un système
et dire que vous savez,
en général, que l'E elastic a compris
les doigts intrinsiques de tout ça,
les backgrounds de la scène,
le knowledge de configuration, le meilleur.
Donc, le but est que vous pourrez
donner un service où nous faisons
tout le travail pour vous
et que vous venez juste de vous en faire,
et que vous puissiez faire un data
et de vous faire des searches à travers.
Nous pouvons évaluer et évaluer
ce que l'on a fait dans une manière
de la même manière que nous pouvons
encore le faire, avec des garanties
et des temps de recherche et ces trucs.
C'est cool.
Juste de retourner au doigt,
un point que je peux souvent faire
pour les tests de integration
est de se couper de choses,
comme dans cet exemple,
l'E elastic Search, ou le SQL Server,
ou la bmq, tout ça.
Et puis, je peux faire mes tests de integration
et je peux le couper de la même façon.
Donc, je peux faire ça localement
comme je peux faire mes tests, et je peux
faire ça dans la pipeline CI CD.
Donc, je peux faire le doigt de la base.
Parce que c'est juste de faire le doigt de la base,
faire le test contre un database réel,
et puis, le doigt de la base, après,
ça signifie que je trouve que mes tests
plutôt que de faire des tests uniques,
c'est de faire tout autre. C'est en fait de la base
réelle, donc je vais avoir beaucoup plus de bain
pour faire des tests, parce que c'est de tester
les trucs réels, et je n'ai pas besoin de
faire les choses toutes les choses. Donc, je trouve
que c'est un bon plan. Donc, avec un software
comme ça, j'aime toujours quand il y a un doigt,
une image équivalente, que nous pouvons
faire ce genre de choses.
Oui, ça fait le plus facile. Je pense que
en revanche, je travaille avec les stuff AWS,
quand j'ai commencé avec ça,
il n'y avait pas de bonnes options
pour faire des versions locales
de S3 ou SQS.
Ça a été beaucoup, maintenant,
c'est un produit local qui a été utilisé.
Et ça fait que, comme vous le disiez,
l'expérience de la recherche de la recherche est beaucoup plus
facile. Et, oui,
en fait, en enregistrant ces tests
de integration, on peut finalement
faire des tests unique,
pour avoir un test qui fait le vrai
chose, faire sure que le temps
est en train, et vous pouvez le chercher
en bas, par, oui, comme vous le disiez,
c'est partie des systèmes CI,
juste pour les instants tempérables
de vos stores de données.
Et on a juste
évoqué l'intervention
pour parler de code. Vous et je
sommes des developers de dotnet,
et beaucoup de personnes sont des developers
de dotnet. Je pense que, quand vous vous en
enregistrez avec l'Elasticsearch,
est-ce que vous travaillez avec le client
de dotnet?
C'est vrai, oui. Je suis allé
en train de travailler,
il y a deux ans et demi,
et mon rôle primaire est
un maintien de client de dotnet.
On a un
team, pas un huge team, mais on a un team
qui nous refera à l'équipe de client de
langues, et on a des gens
dans ce team qui sont responsables
pour les plus populaires langues
aujourd'hui. On a
java script, java, go,
python.
Nous avons des développeurs pour les
projects et nous avons
produisant les libraries client,
qui sera un package de newget,
pour les clients de dotnet,
pour que vous puissiez
travailler programmatiquement
dans vos applications de dotnet
contre l'Elasticsearch.
Ça a été un peu
d'initiation, plus recentement,
donc on a un peu de référence
pour le prochain génération de client,
qui a été un des deux ans
et demi, en essayant de
restructurer comment nous allons
maintenir ces clients, pour que
ce soit plus sustainable,
car l'Elasticsearch, comme un product, a
été un des deux ans plus
plus de 400, 500
points de poste, maintenant,
des points de poste pour une
fonctionnalité différente,
qui s'exposent.
Les deux ont des modèles
très complexes, qui sont acceptés
en termes de data, data in
et data out.
Notre job est de
travailler avec cela, comme facilement
possible, dans les langues,
donc, dans le cas de dotnet,
il y a des types fortes, qui sont
des classes qui représentent les
demandes et les réponses que le service
peut recevoir ou envoyer à vous,
pour que vous puissiez
créer ces réquests,
les électorer dans l'Elasticsearch,
nous allons le dérouter à la fin
pour les fonctions que vous prenez,
et vous donner un objet qui représente
l'expérience que vous avez reçue.
Il y a une chose avec le verre,
par exemple, si je installe
le client dotnet de l'Elasticsearch,
et je regarde
le nombre de versions de
l'Elasticsearch,
et je sais que
mon instance de l'Elasticsearch
est version X.
Est-ce qu'il y a une façon de corriger ?
Est-ce qu'il y a un lookup ?
Est-ce que ça peut travailler avec
cette version, par exemple ?
Oui, donc, la façon dont nous
faisons ça, ça cause un petit peu
un challenge, je pense,
que ces sont encore des pièces
de la puzzle que nous produisons,
et la chose qui est très importante,
c'est que nous nous alignons
le nombre de versions de l'Elasticsearch
au moins, pour les clients,
pour les versions de l'Elasticsearch,
l'instance de l'Elasticsearch,
que nous les faisons.
C'est pourquoi,
c'est intéressant,
nous sommes partagés de notre travail
sur ce nouveau client,
c'est une version 8,
mais, finalement, c'est une version 1,
c'est un nom de package,
que nous avons juste évoqué,
de la version 8,
pour l'alignation,
pour faire ça clair,
si vous utilisez la version 8,
c'est la cliente de version 8,
qui aligne avec ça.
Certains clients,
vont un peu plus loin,
et qui alignent,
même au moins,
et peut-être même les versions de patch,
pour un degré,
donc, quand l'Elasticsearch
fait une relance de la stack,
nous allons faire une relance de client,
qui aligne avec ça.
Tout ce que nous faisons,
c'est de la façon dont nous le faisons,
pour que la version 8,
donc, le client,
va continuer à travailler,
même si vous upgradez le service,
pour une prochaine version,
version 8,
votre code va continuer à travailler.
La seule chose que vous ne pourrez pas,
sont les nouvelles propres,
qui sont disponibles sur ces réquests,
ou les possibilités de parler,
des points de vue,
et des choses qui sont réellises,
pour ceux qui ont besoin d'augter,
pour le client,
qui est de la même version,
qui a les disponibles.
Mais le nombre de version 8,
c'est un challenge,
parce que,
en fait,
vous voulez être capable de signaler,
exactement ce que vous faites,
dans le client libéral.
Donc,
si vous avez besoin d'introduire un changement de break,
pour quelles-ce que vous voulez,
mettre ce grand version,
mais,
d'avoir de la même version,
de la même version,
c'est un peu un challenge,
en termes de ça.
Mais c'est comme,
on essaie de maintenir
une histoire relativement facile,
une histoire de compatibilité.
Ceci,
le client v8,
qu'on a aujourd'hui,
est de la même façon,
donc,
on a commencé,
de ré-éginer,
comment produire ce client.
Et, en résultat,
on a dû être un peu sélectif,
et dire,
on veut s'y évoquer quelque chose,
donc,
on s'y évoquait,
et on a été en train de travailler,
et on a testé,
comme part du client v880.
Mais,
ce n'est pas exactement,
pour les points,
qu'il y a,
donc,
on a aussi la capacité,
dans le client v7,
de communiquer,
pour un service v8,
on a un mécanisme,
sur les clients et les services,
c'est où,
on négociait le version,
de l'API,
que nous travaillons avec.
le client v7,
on va dire,
que c'est un client v7,
d'essentiel,
par le mettre,
le correct,
d'information vente,
dans l'exception,
et puis,
le service peut faire sure,
que ça,
le réquest,
et le réponse,
dans le format v7.
C'était introduit,
comme part du v7 et v8,
et ça,
simplifie,
je pense,
la histoire de migration,
parce,
historiquement,
les problèmes que les gens ont,
avec les clients et les services,
c'est,
ils veulent agir le service,
parce qu'ils veulent avoir les plus vides,
et ils veulent continuer,
et tout ça,
mais,
cela peut-être,
signifie un réel de les applications,
même si c'est juste,
les numéros de version,
et les choses à checker,
les tests de la fonction,
il y a des moyens,
qui sont,
pour des scénarios plus complexes,
ça peut même,
en même temps,
les changements de break,
dans ces releases clientes,
parce que,
historiquement,
les clients ont,
pour les changements de break,
jusqu'à la prochaine version,
si ils peuvent.
Et donc,
par introduire,
cette mode de compatibilité,
je pense,
que nous avons,
à un endroit où,
on peut dire,
on va agir le service,
de 7 à 8,
notre application,
on va continuer à rire,
parce que c'est,
en attendant la compatibilité,
le service est allé,
et à ce point,
si vous avez le temps,
de faire,
vous pouvez,
upgrade,
vos applications clientes,
et puis,
les mettre en place,
parce que,
d'ailleurs,
vous allez,
pour ceci,
l'app,
et puis,
coordinate,
la release,
et le service,
upgrade,
il se fait un peu compliquer,
d'ailleurs,
donc,
la mode de compatibilité,
va,
il va,
faire des vies,
beaucoup plus facile.
Oui,
ça,
ça certens,
ça,
ça,
ça qui fait mucho plus facile,
donc,
si,
si le service,
n'y a pas la compatibilité,
except le service,
on en a le 6?
Alors,
le service,
on juste d'assumer,
simplement,
d'assumer la version,
si,
si,
si vous ne l'avez pas,
si vous avez,
sortez des applications,
jason,
par exemple,
vous pourrez,
dengan la version des services,
de ça,
la cliente,
pour que nous puissions toujours mettre l'accent V7,
pour qu'on ait l'information d'accent V7,
pour que vous ne pensez pas.
Donc, en tant que vous êtes en train de faire le plus tard,
votre client 7X, vous pourrez communiquer avec un service 8X.
Vous pourrez encore plus de nouvelles APIs,
de nouvelles options,
que vous avez disponibles sur le request,
mais vous pourrez au moins
garder les applications existantes,
communiquer comme elles étaient,
et alors, quand vous avez besoin de ces nouvelles features,
vous pouvez commencer à les upgrade.
Oui, j'ai toujours trouvé que si vous pouvez les upgrade,
pour les plus tard,
vous pouvez les upgrade,
car si vous le faites,
vous avez ensuite des versions de la version X
pour les upgrade en 1G,
et ça devient un nightmare.
Donc, même avec les apps.net,
je suis très heureux de voir
ce que c'est facile de les upgrade
pour la prochaine version de la version.net,
maintenant, chaque année.
Et je voudrais toujours essayer
de prendre un peu de temps
pour faire comme beaucoup de apps
pour les nouvelles versions,
comme bientôt possible,
pour que je ne sorte pas de vous en avoir un grand headache
pour faire à un moment dans le futur.
Oui, c'est vrai.
Je pense que dès que vous commencez à se faire de l'arrivée,
et que vous commencez à introduire des challenges,
donc, même pour les search en plastique,
beaucoup de gens
ont des problèmes
quand ils commencent à se faire de l'version de l'arrivée,
car la histoire de migration
est typiquement que nous voulons essayer de faire,
ou je crois que la team de service
va essayer de faire sure
que les indices que vous avez créés,
et que vous avez créé,
soient encore travaillés
et fonctionnent
quand vous upgradez ce service
pour la version V8.
Mais nous pouvons seulement
donner cette garantie à l'heure
et donc, quand vous pouvez ensuite
aller vers la version V9,
car nous pouvons changer
la structure de comment
ces indices sont sortis sur le disque
et toutes les différentes structures de données
que nous avons sorties
pour faire de l'arrivée en search efficient,
vous trouverez que vous êtes dans une situation
où vous devez avoir besoin de réindiquer
ce dataiseur
en utilisant la nouvelle version
de ce format index.
Donc, si vous vous êtes trop loin,
vous commencez à trouver
que vous devez aller
à travers ce stage de migration,
des steppes,
et ça peut être
beaucoup de travail
pendant un temps long
pour réindiquer tout le dataiseur
dans un cluster secondaire
qui est en train de construire la nouvelle version
et que, quand vous avez déjà
fait le dataiseur,
vous pouvez changer de place.
Mais si vous vous dites
que vous pouvez essayer
d'éliminer
les features disponibles
et que les versions sont disponibles,
vous pouvez réduire
l'intention de la paix.
Vous n'allez pas avoir
une expérience complète
parce qu'il y aura des
nouvelles features
qui sont en train de changer
les structures de données
que nous avons sorties
pour les fonctions des indices.
Donc, à un moment,
vous devez faire
ce travail avec votre dataiseur,
mais c'est plus difficile
si vous le faites
à travers les stages
plutôt que de réaliser
que vous avez fallu
les versions de 4,
et que vous devez
faire la même chose
à travers cette stratégie de migration.
Oui, juste en pensant
à mon exemple de .NET,
c'est la code,
qui est normalement très facile,
mais vous avez beaucoup de données
qui est typiquement
toujours la paix
de la réglage
et des changements.
Donc, oui,
je peux imaginer
cela être plus important.
Donc, pour cette prochaine question,
vous n'êtes pas allowed
d'y répondre
avec la version.
Depuis que vous vous faites
la recherche de l'élastique,
quel est le problème
le plus difficile
que vous avez faite ?
Donc, probablement,
pour moi,
c'est ce qu'on a fait
pour cette prochaine génération
de client
et de comment on
design et architecte.
Donc, j'ai parlé de ce
genre de
problème de la compétition de la
Si vous vous souviendrez que
il y a un développeur
par le client de la langue
à l'époque,
vous pouvez imaginer
que chaque fois
les 100
d'ingénieurs
qui travaillent sur
l'élastique
sont travaillant sur
des nouvelles features
et des endpoints
et des choses
pour essayer de
faire des choses
avec cela
et de la paix
de la développement
de la producte de service.
C'est vraiment
un peu inégligeant
à l'heure de l'heure.
Quand j'ai réunis
et que beaucoup de mon travail
était juste de
tenter de garder
les versions minores
qui pourraient introduire
un peu de nouveaux endpoints
et des features
pour moi,
pour modéliser
ces choses
par main
dans C-Sharp.
Vous savez,
faire le travail
pour comprendre
ce que l'endpoints
accepté
comme des structures de données
et tout ça
a pris un peu de mon temps.
Et donc,
on a réalisé,
je pense
que
pour que le team
puisse prendre le temps
sur les plus valents
des features
qui sont
plus en train de penser
sur les types de niveau
que nous pouvons
donner à des gens
de façon commune
et plus efficace.
pour faire un peu de
documentation
et
la pièce d'éducation
aussi.
Nous avons besoin de
prendre
quelque chose de
le travail manuel
qui était
en train de garder
les choses.
Donc,
nous avons commencé
juste avant que nous avons
réunis,
le team a commencé
ce travail
qui s'appelle
l'Elastic Search
de la specification
qui était
que nous voulions
avoir un model
canonique
de tous les endpoints
que l'Elastic Search
expose,
toutes les structures de data
qu'ils ont,
tous les types
de
questions,
réponses,
propres
qu'ils peuvent
s'exprimer
et les choses
pour que nous
puissions
prendre la specification
et utiliser
pour générer
les clients.
La déclinure,
évidemment,
l'un des deux
était de la specification
parce que,
comme je le dis,
il y a des endpoints
pour les 400.
Les documentations
sont un bon point de départ
mais
vous devez
devoir regarder
le code de service
un peu
pour en savoir
ce que c'est.
Ceci
généralement accepte
un string
mais parfois
ça aussi
accepte un integer
parce que
les raisons
et donc
le code de service
complètement
compétents
tous les
actuales
des outils
et des outils
qui ont accepté
pour chaque point de fin.
Donc ça
fonctionne
en haut et
a
été un endroit
assez mouturale
mais
la prochaine
déclinure
était
OK,
maintenant
on veut
générer les clients
en utilisant
la specification
et c'est
le raison
que nous avons
terminé
avec ce que nous
referons
pour la prochaine
génération
de la cliente
parce qu'il y a
n'a plus de
manière
que nous pouvons
continuer
le client V7
en hands
et la cliente
qui a aimé
l'exacte
de la même forme
en utilisant
l'automatique
pour le
car
vous savez
tout le monde
qui a touché
le code de base
en temps
a fait
leur mieux
d'être consistant
mais ils sont
consistants
dans ce qu'on modélise
les choses
tous ces problèmes
que vous avez
donc
le plus grand challenge
a été
de
prendre ce aspect
et produire
un client
qui
nous avons acheté
en utilisant
pour le client
de la dotnet
en utilisant Roslin
donc je ne sais pas
que les
les listeners
peut-être
ont entendu
le nom
Roslin
avant
Roslin est
le compiler
pour
C-Sharp
et VB
et
une des belles choses
sur Roslin
c'est
il y a beaucoup de
APIs
qui permettent
de vous couper
dans
toutes les parts
de la pipeline
et donc
le façon
que nous avons fait
la génération
est
que vous avez
réveillé
nous avons
pas
compris
cela
et nous
nous convertirons
tout simplement
pour
la
syntaxe
que nous voulons
générer
pour la
code C-Sharp
en utilisant
les APIs
que nous pouvons
ensuite
mettre
dans les files
donc il y a
beaucoup de
façons
que vous pouvez
faire
une génération de code
vous pouvez
juste
faire avec
les strings
mais en utilisant
Roslin
nous
avons
un peu plus
d'assurance
sur
la
structure
de la
code
que nous
produisons
et il y a
beaucoup de
choses futures
que je peux
voir
faire
aussi
en termes
de
analyser
le project
et puis
déterminer
ce que
nous allons
changer
et
ce genre de choses
mais
c'est un
grand
piece de travail
beaucoup plus
que
probablement
que nous n'avons
expected
pour être
ce qui est
pourquoi
nous aima
de nous
avoir
la première version
de la cliente
et pourquoi
nous devons
faire des compromises
en termes
de
ce genre de
donc
nous avons
décidé
qu'il y a
encore
des complexités
dans la
génération de code
que nous
avons besoin
de
se changer
ce que nous
pouvons
ce que nous
savons
est en train
de travailler
sur les
points de
les trucs
qui
vous
ferait
avec un
data store
et nous
pouvons
faire
attention
à tous les
problèmes
et les
nuances
de la
spécification
de l'élastic
de la
spécification
spécification
de l'élastic
de la
spécification
de l'élastic
de la
spécification
d'un client
qui
match
cette spécification
de quelque chose
parce que
j'ai
évidemment
que c'est
un
très
simple
simple
simple
je ne peux pas dire
ce que je veux dire
oui
c'est
une spécification
c'est un rêve
qui
oui
j'ai
fait
le travail
beaucoup plus facile
je pense
si vous pouvez dire
oui
ici un spéc
me fait
une partie
de travail
et
c'est
vous savez
à travers
la
landscape
il y a beaucoup
de
différentes solutions
pour ce problème
il y a
des générateurs
d'applications
des spécs
et des choses
que les gens
utilisent déjà
je pense
pour générer
ce
pas nécessairement
clients
mais au moins
le service
portion
de choses
et
bien sûr
vous pouvez
engénier
cela
pour générer
des interfaces
contre ceux
aussi
un peu
oui
un peu
de l'autre
des spécifications
que vous voyez
là
comme l'Azure
d'Azure
d'exemple
je sais
qu'ils
ont généré
beaucoup
de cela parce que
encore
le même problème
Azure
est un grand
grand landscape
de services
et si vous
espérez
une équipe
pour
faire
avec les clients
pour ce
avec
tous les features
que vous
les
vous
refons
un
temps
d'ir
l'an
subject
pour
away
l'an
l'accBlue
l' Rochester
需
c'est
dramat ler
velvet
l' rout visam
d'informations que vous avez attachées à ceux que vous voulez chercher.
Vous êtes en train de regarder des termes de données,
ou peut-être que vous faites un peu plus de query spécifique
sur les données IP que vous avez stored.
Vous voulez faire un type de query spécifique,
ou un type de query spécifique.
Donc, les enquêtes de recherche
sont la structure de la structure d'un large data
que nous devons pouvoir modéliser.
Nous devons avoir des moyens de représenter ces objectifs
dans les objectifs de C-Sharp,
que ce soit des objectifs composables,
ou des objectifs de conteneurs qui rapprochent
que je peux être un des deux ou deux objectifs,
qui est un grand union de toutes les choses possibles
que je peux stocker.
Ça serait beaucoup plus utile.
C'est très utile si nous avons des unités discriminées
dans les structures de C-Sharp,
pour des structures de données,
mais nous devons juste modéliser les choses
dans le meilleur de la façon que nous pouvons
avec les structures que nous avons aujourd'hui.
Je pense que, comme vous l'avez dit,
je pense juste que...
Je pense que nous devons les mettre dans les structures
de C-Sharp 15, je pense, à un point.
Oui, chaque année, vous regardez...
Vous voyez l'issue que l'on a,
je pense qu'il y a un point de vue sur le C-Sharp,
des issues de la zone de C-Sharp,
des unités discriminées,
ou des concepts de union de C-Sharp,
et ça va continuer à se faire pousser,
et je l'ai entendu, Mads,
parler de ça quelques fois,
et je l'apprécie beaucoup,
qu'ils doivent être très attentionnés
sur les features de C-Sharp,
quand ils introduisent,
ils doivent être prêts
pour que ce soit des scenarios
qui peuvent être imaginés
dans les futures.
Et donc, oui,
je ne pense pas qu'on le fasse immédiatement,
mais peut-être qu'un jour,
on peut retourner et simplement
simplifier tout le code qu'on fait
pour dire, oui,
on va juste utiliser le feature de union.
Oui, je pense qu'il y a beaucoup de raisons
sur le point de vue
où c'est beaucoup plus compliqué
que ce que vous pensez,
mais on va tout de même
faire un C-Sharp, en fait.
Oui, c'est ça.
Oui, c'est certain,
c'est une option.
Et, funnablement,
en parlant de ça,
c'est comme on a fini de modéliser,
donc, l'un des défis qu'on a
avec le spec,
c'est, comment on devrait définir
le spec pour le service de la search élastique?
Je sais que le team a regardé
l'application à l'opinion,
c'est la première option,
parce que, oui,
cela décrive le point de vue de service.
Le point de vue de service
a un set de constraintes
des features
que c'est vraiment bon,
et c'est bon
pour les points de vue de modélisation
et des choses.
Où il a fallu le frère,
c'est que tous ces complexes
des structures de data
polymorphiques
et des propres
avec tous les sortes
de unités de types de data
que l'on peut s'en accepter.
Parce que le service
est assez lean,
en quelque cas,
et c'est à dire,
on va s'en accepter
les valeurs possibles
contre une particularité.
Et les plus mauvais
sont lesquels ils sont
les identifiants de type
en objectif actual.
Mais certains de ces
lesquelles on appelle
les unités de la paix
qui ne sont pas
même d'informations.
Donc, de toute façon,
vous pouvez dire
que le type de data
est de premièrement
traverser la structure
de Jason
et trouver les fields
qui sont un peu
unique à un objectif
que nous allons
essayer de serialiser
et de se faire sur les c-sharp.
Donc, on a touché
un peu sur la AI
avant.
Parce que c'est maintenant
un grand objectif,
est-ce qu'il y a
quelque chose qui est
en partie
dans le cadre de leur produit
avec l'OML
ou l'AI,
ce genre de choses.
Oui, c'est certain.
Donc, l'Elasic Search,
l'un des zones
qui est enversé
massivement dans les endpoints
et les capacités
est l'OML
dans le puzzle.
Donc, l'Elasic Search
peut vous permettre
de vous mettre
dans des modèles
que vous avez
et de vous
faire tourner
vos sets de données.
Donc, je sais que
ceci est utilisé
beaucoup par la solution de sécurité
que nous avons parlé
avant.
Ceci, sur l'Elasic Search,
utilise cette capacité
très gravely
parce que la détection
est typiquement
pas juste un simple search.
Vous pouvez
faire des trucs basiques
de cette façon.
Mais si vous essayez
de regarder des intruders
qui peuvent faire
des choses inusuelles
dans le système,
l'une des meilleures ways
de faire ça
est d'avoir un modèle
machine-learning
qui, en temps,
est d'entendre
l'usage standard
que c'est en regardant
toutes les données
que vous avez
collectées.
Et puis,
quand les choses
commencent à dévier
de cela,
c'est quand vous voulez
commencer à les alerter.
Si vous voyez
un nombre de faibles
log-in attempts
combinés avec un autre scénario,
vous pouvez l'entendre
et dire
qu'il a l'air
quelqu'un
qui,
en particulier,
essaye de l'attacher
dans votre système
ou de l'attacher
à l'époque.
C'est à cause de la risque
qu'il faut
l'attacher et l'attacher.
Mais oui,
il y a un whole host
de mL
des endpoints
dans lesquels je suis
travaillé
profondement.
J'ai été
en train de
modéliser
tous les termes
que je vois
dans lesquels je vois
des noms modélisés
et des choses.
Les algorithmes et les machines
et les choses.
Mais tout ça
est dans le monde
et c'est un grand investissement
pour les gens.
Parce que,
comme vous commencez
à construire ces grands
données,
vous pouvez
either
mettre en place
des modèles prebouillés
ou de modèles
sur le data
que vous avez,
c'est un moyen
extrêmement powerful
pour faire
certaines opérations
dans votre business.
Il y a
une histoire classique
mais il y a
des histoires
automatiques
où vous voulez
détecter des déviations
des choses
ou des activités
si c'est
des bêtes,
ou des choses
que vous voulez
savoir.
Il y a un trend
sur un nouveau product
que vous avez
dans votre capital
et vous pouvez voir
une combinaison
de choses que le machine
peut vous
proposer.
C'est un
intéressant
qui notre business
devrait être
conscient
et essayer de
prendre advantage.
C'est cool.
C'est cool.
Nous sommes
à l'heure
maintenant.
Qu'est-ce que vous voulez
vous donner
avant de
faire des dév-tips ?
Non,
je pense que
nous avons fait un bon
défi,
je pense que c'est un
procédé
et la langue des clients
là.
Je vais
avoir de la
manière
d'avoir un play.
Comme je l'ai
je l'ai joué
une fois
d'un an.
Mais c'est
un peu un peu
un peu.
Je vais
faire
un peu de
défi.
Je vais
une
pour vous.
Je vous
Donc, si c'est un Twitter DM, les DM sont écrits sur Twitter,
et je les teste très souvent.
Ou si c'est un problème sur notre repository Github
pour les clients de l'on.
C'est un bon moyen de nous savoir que...
Vous êtes en train de voir quelque chose qu'on n'a pas à faire
et on peut avoir une discussion sur ce qui se passe.
Oui, oui.
Quand je l'ai dit avant sur ChatGBT,
c'est une documentation.
Je vais définitivement voir ce que la documentation peut faire pour vous,
parce que dans l'an dernier,
j'ai entendu un épisode sur l'an dernier,
et on parle de l'on qui est en cours de l'église.
Et on a juste parlé de ChatGBT à l'end.
Et on a donc réellement pris ChatGBT et disait
« Rime-moi un code en cours de l'église. »
Et on l'a fait, on l'a fait, on l'a fait, on l'a fait,
on l'a fait, on l'a fait, on l'a fait.
C'était incroyable.
Et ensuite on a pris une documentation.
Donc on a dit « Rime-moi une documentation sur ça. »
Et ça a juste écrit des pages de documentation en parfait anglais.
C'était absolument incroyable.
Oui, c'est certain. C'est bien d'avoir regardé ça.
Je voulais dire, si vous avez besoin de faire une documentation,
vous pouvez vous faire un moment et vous donner un mot.
Même si vous avez juste regardé ce qui vient,
et puis vous utilisez ça comme un point de départ.
Je pense que si vous avez un point de départ,
c'est un bon moyen de aller.
On est généralement,
on est en train d'un développe pour un client de langue.
Vous pouvez imaginer,
vous avez des choses à faire pour la compétition,
que ce soit des nouvelles features,
ou des features d'improvement,
ou de documentation, ou de contenu de la production.
Il n'y a pas de temps pour les jours pour les faire.
Si on peut offler des choses à l'A.I.,
je suis plus heureux de les faire.
Oui, c'est ça.
Je parlais avec un collègue,
et on s'est fait parler de la compétition
avant de la compétition,
où on compose les tests,
et on a eu une situation où
il y avait quelques services,
et je pense que l'une des des des services,
qui était la VAR,
était la VAR,
et même si l'un des containers a été initialisé,
c'était pas possible de commencer et de faire le truc correct.
Les tests se sont faits,
parce que c'était juste de commencer trop vite.
On voulait juste mettre un code,
PowerShell,
pour que les containers soient en train de se faire,
mais aussi,
pour faire un réel TCP,
pour les containers,
pour que ça puisse parler de ClamAV nativement.
Je l'ai typé,
en fait, ça,
en chat GBT,
et j'ai écrit un bunch de power,
comme j'ai dit, PowerShell,
et j'ai écrit un bunch de PowerShell,
et c'était assez decent aussi.
Et mon collègue,
pas par programmation,
il était le seul qui l'a fait,
et il préfère Bache,
donc on a dit,
peut-être que tu peux réécrire ça en Bache?
Et il a tout fait,
et c'était bien commenté,
il a utilisé les fonctions,
c'était vraiment bien.
Et c'est comme, non,
non, sérieusement.
Oui, c'est
impressionnant, et scécur,
et amusant, tout à l'heure,
il y a quelques années,
on va être en train de faire des jobs,
je ne sais pas si on va,
je pense que les développeurs
qui utilisent ça ne vont pas,
les développeurs qui ne utilisent pas ça,
c'est comme si on devait aller au l'au-delà,
je dis ça,
on voit beaucoup de choses sur YouTube,
où il y a des gens qui disent,
c'est pas mal, c'est pas mal,
on va prendre des jobs,
et des gens qui ne disent pas
que nous allons avoir des choses,
on va prendre des jobs.
Le truc est, nous regardons
l'intérêt de la situation,
nous sommes maintenant en chat GPT4,
mais on va être en 5 ans,
je pense que nous entrons
un changement massive,
où tout va changer très vite,
parce qu'il y a maintenant
une race pour les meilleures AI,
et
ça peut se passer de toutes les façons.
C'est pourquoi je dis que c'est
un moment assez cool et terrifiant,
c'est assez intéressant, mais terrifiant,
mais il y a eu un peu de temps.
Oui, c'est ça, il y a le démonster,
je pense que, finalement,
j'espère que ça va être
un autre point,
on a eu des iterations
de la tournage,
d'improuver l'expérience de la code,
et je pense que ça pourrait être
un autre point,
d'utiliser le plate-boiler,
et le travail de la développe
est de faire la robuste,
de finir,
d'augmenter avec les spécifiques,
mais d'éviter
l'intérêt de la code,
et c'est super, si vous pouvez,
ici, c'est un document de l'API,
ou d'une specification d'API,
pour quelque chose,
produire le stup,
à la fois de tous les types,
que ce serait nécessaire
dans un langage de l'accent,
parce que c'est un travail de l'expérience,
de la mode,
vous voulez travailler sur les problèmes
plus complexes, qui vont au-delà de ceux-ci.
Oui, exactement.
Je suis d'accord avec ce que j'ai vu,
c'est pas juste un autre tour,
c'est un plus grand
paradigm, mais
je ne sais pas, qui sait ce qui est venu,
c'est assez incroyable,
même avec l'image, la génération de vidéos,
qui ne sont pas en train de sortir,
c'est absolument incroyable.
Mais on devrait probablement faire des défis,
d'accord ?
Oui, donc, le premier que j'ai
choisi pour cette vidéo,
j'espère que je n'ai pas parlé de ça,
je dois vérifier, mais je suis pas sûr que je ne vais pas.
C'est le Cli GitHub,
qui, pour les gens qui n'ont pas
vu ça, c'est juste un tool Cli
que vous pouvez installer,
et de là, vous pouvez poser toutes les commandes
sur le GitHub, si vous vous authentiquez.
Et je l'utilise
assez gravement,
pas vraiment particulièrement complexe, mais
l'un des plus grands usages pour moi, c'est
juste de la mettre en place des demandes,
donc c'est très facile avec le Cli
pour juste, je veux dire,
j'ai une file avec un script
que je copie tous les temps et modifie,
qui me permet de me mettre en place un PR
avec un particulier
type et message, et un set de labels
que j'ai besoin, parce que
pour la clientèle de l'onnet, nous labelons tout,
et nous avons des labels pour rembourser
les versions précédentes et tout.
Et si je dois faire ça par la UI, c'est un peu
cliquer et de me mettre en place, donc,
juste de la faire le Cli et de faire
un GH, créer un PR,
c'est un grand temps
et je pense que c'est assez utile.
Vous pouvez faire beaucoup plus avec ça, et vous pouvez
automater beaucoup de choses avec ça, si vous avez besoin.
Mais juste le processus pour moi,
tout ce que je développe est dans une branche,
faire mon travail au travail contre ce feature,
faire mon test local, tout ça,
faire le thyroid, je fiche mittou displacement,
un fait que je lastrais contracts.
mais le plus important est que je le fais assez souvent.
Je l'ai fait comme un élément, je ne sais pas ce qu'il y a pour le complet.
Je pense que c'est juste G.H. Run, Watch.
Mais si tu as fait un GIT push et un build going,
ça va vous montrer le progrès de votre build in progress,
dans votre terminal.
Oui.
Donc c'est vraiment sympa.
Oui, je pense que c'est juste l'obligation d'évoiler le contexte switch,
n'est-ce pas, où tu peux,
et si tu es déjà dans un terminal,
faire tes commands GIT,
et faire les tests d'intégration,
et tout ça,
c'est sympa, pas de la façon de laisser cet environnement trop souvent.
Je peux juste tabouer par mes premiers commandes,
modifier un push et un pull request,
et ouvrir.
Et comme vous le dites,
être capable de faire des choses comme ça,
juste de vérifier les status de choses,
sans, encore,
de dip-out à un autre browser,
un point de vue et naviguer le temps,
c'est assez puissant.
Oui, c'est ça que j'utilise beaucoup,
avec le contrôle R shortcut,
où c'est le recherche de la réversation.
Si tu as fait ça à un moment,
tu peux faire le contrôle R,
et faire le type de sub-set,
un commande que tu as écrit au cours de l'année,
tu ne peux pas le remettre à la perte,
mais parce que tu le trouves assez rapidement,
et puis tu peux contrôler le R par-dessus.
Oui.
Ça fait un bon temps.
Donc, mon tip de la vie,
c'est une libraire qui est appelée FLIRL,
et je sais que tu l'as blogue,
sur l'HTB client,
et tout ça,
et C-Sharp.
Donc,
ça fait le même travail,
et je suis sûr que c'est
utilisé sous la perte,
mais c'est pour ça que tu veux,
qu'on soit en train de
faire des questions.
C'est un très bon syntaxe,
mais un superbe,
et ça va retourner
à ce que nous avons dit avant,
des tests,
c'est que ça fait le test
beaucoup plus facile.
Donc, avec l'HTB client,
comment nous mouillons
dans notre test,
si on a un code appelé
HTB client,
un peu de pain,
mais si tu utilises FLIRL
dans ton code principal,
dans tes tests,
tu peux juste
réunir un nouvel instance
de...
c'est un test HTB,
qui est disponible,
donc il utilise le path en utilisant.
Et si dans ce scope,
tu peux basicement
déterminer
ce que les requêtes de l'outside
tu peux vérifier,
tu peux assurer
que la requête est appelée.
Donc,
ça va basément
prendre en compte
ce que FLIRL
dans ton code principal
fait,
et tu peux juste
mouiller différents
requêtes d'outre-garde,
et tout ce que tu fais
avec la mouillage,
tu peux faire avec ça.
Mais ça veut dire
que tu peux tester
tout ton code,
et pas de mouillage
au sein de ton code
à l'HTB,
et c'est vraiment bien.
Le syntaxe est bien,
même si tu prends
l'étude
de la rééquilisation,
il y a un syntaxe
avec beaucoup de différentes options,
tu peux juste
mettre les méthodes
avec différentes options.
C'est juste
bien, vraiment bien.
Donc je vais mettre
le lien dans les notes de la show.
Et avec mon canal YouTube,
j'ai fait
15 minutes
de chocs
sur ce genre de choses.
Je ne vais pas
faire ce que je vais faire,
donc je vais
mettre ça dans les notes de la show.
Ça ressemble bien.
Cool.
Donc,
avant de rappeler,
où est le meilleur place
pour les listeners à s'acheter ?
Si tu n'as pas des questions
sur l'élastique sur le search,
ou quelque chose d'autre.
Oui,
donc,
les Twittetm sont éprouvées,
et je vais me faire
mieux de les garder
comme les meilleures que je peux.
Si c'est spécifique
pour le client.
Il y a le client.
On tend à essayer
de garder ça plus ou plus,
des questions de feature,
des issues et des choses.
Et puis,
l'élastique a un forum
que les gens peuvent
poser des questions
sur les clients de l'anglais.
Et beaucoup de nos développeurs
de notre équipe
sont en train de
vérifier ces questions
et de s'y prendre.
Mais si c'est
juste moi,
tu veux me faire pour une raison,
je vais
garder les Twittetm
aussi.
C'est génial.
Je vais inclure
tout le lien
dans les notes de la show
et les choses sociales.
Merci
beaucoup pour vous joindre.
Je suis content de ne pas
mettre
trop de temps
pour vous
quand vous êtes revenus.
Merci.
Je vais devoir
aller de nouveau
pour trouver
quelque chose d'autre
pour chier.
Merci
Merci
Merci
Episode suivant:
Les infos glanées
TheUnhandledExceptionPodcast
Tags
We Are .NET - with Tim Cadenbach and Matthias Jost