쉐도잉 연습: How to design a Deployment Pipeline (GitOps) - 영상으로 영어 말하기 배우기

연습 모드 선택

각 모드는 전체 화면 연습실로 열립니다.

127 문장
문장이 너무 짧거나 길면 Edit를 눌러 조정하세요.
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.

앱 다운로드

유창하게 말하는 데 필요한 모든 것

AI 발음 평가문장마다 점수 확인
IPA 발음 연습모든 소리 마스터
단어 학습나만의 단어장 만들기
단어 게임놀면서 외우기
FOR YOU

추천 영상

이 레슨의 어휘와 말하기 포인트

이 말하기 레슨은 영상 “How to design a Deployment Pipeline”을(를) 바탕으로 합니다. 가장 자주 반복되는 단어는 다음과 같습니다: pipeline, environment, deployment, application, version. 이 영상에는 섀도잉할 문장 127개와 단어 1713개가 있습니다. 말하는 구간의 길이는 11:01입니다. 화자는 분당 약 156단어로, 일상 대화에 가까운 자연스러운 속도로 말합니다. 영어에서 가장 많이 쓰이는 3,000단어에 속하는 단어가 81%뿐이라 어휘가 어려운 편입니다.

이 영상의 핵심 어휘

영상에 나오는 익혀 둘 만한 단어 15개를 발음, 뜻과 함께 정리했습니다.

단어발음뜻
pipeline 명사/ˈpaɪpˌlaɪn/관로, 파이프라인
trigger 명사/ˈtɹɪɡɚ/방아쇠
pod 명사/ˈpɑd/깍지
deploy 동사/dɪˈplɔɪ/배치하다
manifest 명사/ˈmæn.ɪ.fɛst/선언
server 명사/ˈsɝvɚ/서버, 봉사기
arrow 명사/ˈæɹəʊ/화살
container 명사/kənˈteɪ.nəɹ/그릇, 용기
operator 명사/ˈɑpəˌɹeɪtɚ/조작자, 오퍼레이터
gate 명사/ˈɡeɪ̯t/문, 대문
output 명사/ˈaʊtpʊt/출력
introduce 동사/ˌɪntɹəˈdus/소개(紹介)하다
monitor 명사/ˈmɑ.nɪ.tɚ/모니터
principle 명사/ˈpɹɪn.sɪ.pəl/원리, 원칙
gradually 부사/ˈɡɹæd͡ʒuəli/점점, 점차

이 영상의 문법

화자가 가장 많이 쓰는 문형을 영상 속 실제 표현과 함께 정리했습니다.

문형영상 속 표현
수동태 be + 과거분사 — 누가 하는지보다 무슨 일이 일어나는지에 초점is stored · is known · should be triggered
관계절 who / which + 절 — 사람이나 사물에 대한 추가 정보video which was · testing, which is · pods, which is

주의할 발음

화자는 we'll, you're, I'm 같은 축약형과 약화된 형태를 32번 사용합니다. 들리는 대로 짧게 발음하세요.

  • “sh”와 “zh” 소리: configuration /kənˌfɪɡ.əˈɹeɪ̯.ʃən/, visualize /ˈvɪʒuəˌlaɪz/
  • 긴 단어 — 강세 위치에 주의: 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/

한국어 화자가 어려워하는 소리:

  • /f/ — ㅍ(/p/)으로 바꾸지 말고 윗니를 아랫입술에 대기: configuration /kənˌfɪɡ.əˈɹeɪ̯.ʃən/, manifest /ˈmæn.ɪ.fɛst/, helpful /ˈhɛlp.fl̩/, drift /dɹɪft/, confuse /kənˈfjuːz/
  • /v/ — ㅂ(/b/)과 구별하기: server /ˈsɝvɚ/, visualize /ˈvɪʒuəˌlaɪz/
  • /z/ — ㅈ이 아니라 성대를 울리는 /s/: confuse /kənˈfjuːz/, repository /ɹɪˈpɒz.ɪ.t(ə.)ɹɪ/, customize /ˈkʌs.tə.maɪ̯z/, visualize /ˈvɪʒuəˌlaɪz/

이 영상으로 연습하는 방법

  1. 먼저 말하지 않고 영상을 끝까지 듣고 모르는 단어를 적어 둡니다.
  2. 0.75배속으로 한 문장씩 섀도잉을 시작하고, 익숙해지면 보통 속도로 돌아갑니다.
  3. 자신의 목소리를 녹음해 원본과 비교하고, pipeline, trigger, pod 같은 단어에 특히 주의합니다.

쉐도잉이란? 영어 실력을 빠르게 키우는 과학적 방법

쉐도잉(Shadowing)은 원래 전문 통역사 훈련을 위해 개발된 언어 학습 기법으로, 다언어 학자인 Dr. Alexander Arguelles에 의해 대중화된 방법입니다. 핵심 원리는 간단하지만 매우 강력합니다: 원어민의 영어를 들으면서 1~2초의 짧은 지연으로 즉시 소리 내어 따라 말하는 것——마치 '그림자(shadow)'처럼 화자를 따라가는 것입니다. 문법 공부나 수동적인 청취와 달리, 쉐도잉은 뇌와 입 근육이 동시에 실시간으로 영어를 처리하고 재현하도록 훈련합니다. 연구에 따르면 이 방법은 발음 정확도, 억양, 리듬, 연음, 청취력, 말하기 유창성을 크게 향상시킵니다. IELTS 스피킹 준비와 자연스러운 영어 소통을 원하는 분들에게 특히 효과적입니다.

섀도잉 방법: 단계별 전체 가이드 읽기 →