Shadowing Practice: How to design a Deployment Pipeline (GitOps) - Learn English Speaking with Video

Elige un modo de práctica

Cada modo abre una sala de práctica a pantalla completa.

127 oraciones
Si las oraciones son demasiado cortas o largas, haz clic en Editar para ajustarlas.
1
Hey everyone, in this video we're going to talk about how you can design a deployment pipeline using GetOps principles.
2
So if you're looking into designing a deployment pipeline or just want to learn a little bit more about GetOps,
3
this is going to be the video for you.
4
Now this video takes place after my last video which was how to design a CICD pipeline.
5
So if you're not sure how to design a CICD pipeline, make sure that you watch my previous video.
6
I'll let's go ahead and get started with the design of our getops pipeline.
7
Alright so here you can see that we have a pretty simple CI CD pipeline.
8
This pipeline takes our application code stored in our application repository, takes it through the source build test and release stage
9
and basically the output is going to be a container image and that container image is stored in our registry.
10
So you can see we have our application right here and it's version 1 .0.
11
So where do we go from here?
12
This is where we need a continuous deployment pipeline to actually take this application image
13
and bring it over to our different environments.
14
So the first thing that we want to do
15
when designing our deployment pipeline is create a second repository to house our configurations.
16
So our CI -CD pipeline is going to check out code from our application repo,
17
but our deployment pipeline is going to use our configurations from our configuration repo.
18
So this is a traditional GitOps pipeline.
19
So let's create another repo here, and then we'll call it config repo.
20
And this config repo is going to contain all the configuration files that we need for deploying our application.
21
So this could be anything from like Docker Compose files to Kubernetes Manifest.
22
So let's go ahead and populate this config repo with some manifest files.
23
So I'm going to put a Kubernetes Manifest file here.
24
And let's just think about what would be in this manifest.
25
So in this manifest, we would probably have something like a Kubernetes deployment.
26
So we'll call it deployment and this deployment probably uses an image
27
and the image it's going to use is going to be the image from our CI CD pipeline.
28
So we called it my app and we'll just tag it with v1 .0.
29
Now let's just move this out of the way and get an environment for us to deploy to.
30
So we have our server here, and this could be any type of server.
31
We'll just call it our test slash QA environment.
32
Now your GitOps pipelines can deploy to your environments in two different models.
33
The first model is known as the push model.
34
So we'll call this push.
35
Now the push model is really simple.
36
It's as simple as just doing something like a cube control apply.
37
So we're just going to keep it as that for now.
38
And then I'm going to discuss the pull model,
39
which is the more modern approach of actually having an operator installed in your environment that pulls down your configurations.
40
So let's talk a little bit about how this pipeline gets triggered in the first place.
41
So your deployment pipeline should be triggered automatically at the end of your CI -CD pipeline.
42
So let's draw an arrow here from our CI CD pipeline
43
because it's going to trigger our deployment pipeline as soon as it's done completing.
44
Now, every time you run your CI CD pipeline, it should be churning out a new version of your application.
45
So you can see here we have version one of our application.
46
And the next time we run our pipeline, we're going to get version 1 .1.
47
Now, if you have a really well -designed pipeline,
48
what you may want your pipeline to do is to actually go into your configuration repository
49
and submit a pull request or just push a change to it to actually update the image.
50
So here I'm going to update the image tag to v1 .1
51
and all my deployment pipeline really needs to do is rerun kubectl apply
52
and that's going to deploy it to my test and QA environment.
53
Now once the code is actually running in your environment, you should have some observability tools plugged in to monitor your application.
54
So at the very least, you should have something like Prometheus to scrape metrics from your applications.
55
And then you should have something like Grafana
56
so your QA teams can actually visualize the changes
57
and make sure things like the latency hasn't increased and all your key performance indicators are up to snuff.
58
Now once your deployment has been running in your test and QA environment for some time, what's next is to promote it to your other environments.
59
So usually you'll have something like.. a staging environment and a production environment.
60
So staging environments are usually just environments that are similar to production.
61
It's where you send your deployments first, and you're basically pretending it's production.
62
You sort of treat it like production, but it's not production.
63
And then production, of course, is where your live code runs.
64
This is where the customers are accessing your applications.
65
So let's draw some arrows to these environments here and the way
66
that these environments get pushed to is they can automatically get pushed to by your GitOps pipeline
67
or these can be manually gated by a person.
68
So sometimes companies aren't comfortable with having everything automatically trigger to their staging and production environments.
69
Usually they want an engineer to actually run the pipeline manually.
70
So these ones might be manually or automatically triggered.
71
Let's now talk about the pull model and then I'll get into canary testing, which is a common thing that's done in production environments.
72
So with the pull model, I'm just going to take these arrows
73
and I'm just going to change the direction since they are pulling their configurations and deployments down from our configuration repo.
74
So instead of CICD server doing a kubectl apply, they would have what's known as an operator installed in them.
75
So if this is our Kubernetes cluster, then we would have something like Argo CD installed into each of our clusters.
76
And basically what Argo CD does is it just checks your repository and it checks the state of your clusters.
77
And if it notices
78
if the state is different in your clusters than it is in your configuration repo
79
then it tells you it's out of sync.
80
Now it can automatically sync your environments for you or it can be manually triggered again.
81
So you may have your test and QA
82
and even your staging environments do what's known as an auto synchronization through something like Argo CD
83
and then you can have your production environment where someone actually needs to click the button to sync the environment.
84
So Argo CD is really simple to set up actually
85
and basically you just point it to your get ops repository
86
and then it just checks your configurations
87
if anything's out of sync it'll help you sync
88
it i do have a full length video on how to set up
89
and get started with argocd so
90
if you're interested in working with argocd make sure to check
91
that out i have a link in the description below let's now talk about canary deployments
92
which is something you should absolutely introduce into any deployment pipeline
93
So let's talk about how our user actually talks to our application.
94
So we got some users here, and those users usually talk to our application,
95
not directly, but they talk through what's known as a load balancer.
96
So the load balancer is going to load bounce traffic to our application.
97
So our application is running under a Kubernetes pod.
98
So we'll just say this is myapp v1 .0 and then we'll say myapp v1 .1.
99
In a traditional Canary deployment, what would happen is you would have both of the applications deployed.
100
But at the start, it would send 100 % of the traffic to your original application.
101
So we'll say 100 % there and then 0 % here.
102
And then gradually the traffic will be moved over to the new version of your application.
103
So maybe you do it in increments of 10%.
104
So you go 90 % there,
105
10 % there, and then eventually you go 80 % to 20 % and you sort of get the idea.
106
Basically, you're drifting the traffic from the old version to the new version until eventually
107
you have 100 % of the traffic going there.
108
And you can just cut off all the traffic to version one and remove that from your environment.
109
And you just keep doing this for all your new releases.
110
Now, if you're using something like Argo Rollouts in Kubernetes, it would look more like this.
111
This would be actually your rollout object.
112
If you're familiar with Kubernetes, a rollout is basically just a deployment.
113
And a deployment is something that creates your pods, which is basically just your containers.
114
So the rollout object would run a certain number of pods for your version 1 of the application,
115
and then a certain number of pods for version 1 .1.
116
And then as the rollout progresses...
117
It would basically add new pods running the new version of the application
118
and then remove old pods running the old version until eventually all the pods are gone in version one
119
and they're all running in the new version.
120
All right, so I hope this video was helpful on getting to know and understand GitOps and deployment pipelines.
121
If you have any questions, please leave them down below.
122
I know these deployment pipelines can be a little bit confusing at first, especially if you're coming from just designing CICD pipelines,
123
which are pretty much the same no matter which organization you work for.
124
All the stages are sort of the same, but with deployment pipelines, it's really going to be customized to your environment and how your company functions.
125
So make sure to ask some questions below and check out the other videos linked in the description below.
126
I'll have all my Argo related videos that goes over Argo CD as well as one for Argo rollouts.
127
Thanks again for watching and I hope to see you all in the next video.

Descargar app

Todo lo que necesitas para hablar con fluidez

Pronunciación con IAEvalúa cada oración
Práctica de IPADomina cada sonido
VocabularioConstruye tu banco de palabras
Juego de vocabularioAprende mientras juegas
FOR YOU

Recomendar Video

Vocabulario y notas de pronunciación para esta lección

Esta lección de conversación se basa en el vídeo “How to design a Deployment Pipeline”. Las palabras que más se repiten: pipeline, environment, deployment, application, version. Este vídeo tiene 127 frases y 1713 palabras para practicar shadowing. La parte hablada dura 11:01. El hablante habla a un ritmo natural de unas 156 palabras por minuto, cercano a una conversación cotidiana. Solo el 81 % de las palabras está entre las 3.000 más comunes del inglés, por lo que el vocabulario es exigente.

Vocabulario clave de este vídeo

15 palabras del vídeo que vale la pena aprender, con su pronunciación y significado:

PalabraPronunciaciónSignificado
pipeline sustantivo/ˈpaɪpˌlaɪn/oleoducto, tubería
configuration sustantivo/kənˌfɪɡ.əˈɹeɪ̯.ʃən/configuración
trigger sustantivo/ˈtɹɪɡɚ/gatillo, perrillo
pod sustantivo/ˈpɑd/vaina, capi
deploy verbo/dɪˈplɔɪ/desplegar
manifest sustantivo/ˈmæn.ɪ.fɛst/declaración de carga, sobordo
cluster sustantivo/ˈklʌstɚ/aglomeración, agrupamiento
manually adverbio/ˈmænj(u)əliː/manualmente
server sustantivo/ˈsɝvɚ/servidor
arrow sustantivo/ˈæɹəʊ/flecha, saeta
container sustantivo/kənˈteɪ.nəɹ/recipiente, envase
operator sustantivo/ˈɑpəˌɹeɪtɚ/operador
gate sustantivo/ˈɡeɪ̯t/puerta, portón
helpful adjetivo/ˈhɛlp.fl̩/servicial, adyuvante
output sustantivo/ˈaʊtpʊt/producción, output

Phrasal verbs que vas a escuchar

PalabraPronunciaciónSignificado
check out verboinvestigar, chequear
go ahead verbo/ˌɡoʊ əˈhɛd/venga, adelante
go over verbosentar, pasar
pull down verbodemoler
talk through verboexplicar detalladamente, decir paso a paso

Gramática en este vídeo

Las estructuras que más usa el hablante, con las palabras exactas del vídeo:

EstructuraEn el vídeo
Voz pasiva be + participio pasado — importa lo que ocurre, no quién lo haceis stored · is known · should be triggered
Oraciones de relativo who / which + oración — información extra sobre una persona o cosavideo which was · testing, which is · pods, which is

Pronunciación a tener en cuenta

El hablante usa 32 contracciones y formas reducidas, como we'll, you're, I'm. Dilas en su forma corta, tal como las oyes.

  • Los sonidos de “sh” y “zh”: configuration /kənˌfɪɡ.əˈɹeɪ̯.ʃən/, visualize /ˈvɪʒuəˌlaɪz/
  • Palabras largas — cuida el acento: configuration /kənˌfɪɡ.əˈɹeɪ̯.ʃən/, manually /ˈmænj(u)əliː/, operator /ˈɑpəˌɹeɪtɚ/, continuous /kənˈtɪn.juː.əs/, automobile /ˈɔː.tə.məˌbil/

Sonidos difíciles para hispanohablantes:

  • s + consonante al inicio — sin añadir una “e” delante: scrape /skɹeɪp/, snuff /snʌf/
  • /v/ — no es /b/: los dientes tocan el labio inferior: server /ˈsɝvɚ/, visualize /ˈvɪʒuəˌlaɪz/
  • /z/ — sonora, no /s/: confuse /kənˈfjuːz/, repository /ɹɪˈpɒz.ɪ.t(ə.)ɹɪ/, customize /ˈkʌs.tə.maɪ̯z/, visualize /ˈvɪʒuəˌlaɪz/

Cómo practicar con este vídeo

  1. Escucha el vídeo entero una vez sin hablar y anota las palabras que no conoces.
  2. Empieza a velocidad 0,75×, haz shadowing frase por frase y vuelve a la velocidad normal cuando te resulte fácil.
  3. Grábate y compara con el original, prestando atención a palabras como pipeline, configuration, trigger.

¿Qué es la Técnica de Shadowing?

Shadowing es una técnica de aprendizaje de idiomas respaldada por la ciencia, desarrollada originalmente para la formación de intérpretes profesionales y popularizada por el políglota Dr. Alexander Arguelles. El método es simple pero poderoso: escuchas audio en inglés nativo y lo repites en voz alta de inmediato, como una sombra que sigue al hablante con solo 1-2 segundos de retraso. A diferencia de la escucha pasiva o los ejercicios de gramática, el shadowing obliga a tu cerebro y músculos de la boca a procesar y reproducir simultáneamente patrones de habla reales. Las investigaciones muestran que mejora significativamente la precisión de la pronunciación, la entonación, el ritmo, el habla conectada, la comprensión auditiva y la fluidez al hablar, convirtiéndola en una de las metodologías más efectivas para la preparación del IELTS Speaking y la comunicación en inglés en el mundo real.

Técnica de shadowing: lee la guía completa paso a paso →