シャドーイング練習: 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です。 話す速さは1分あたり約156語で、日常会話に近い自然なペースです。 英語の頻出3,000語に含まれる単語は81%だけなので、語彙は難しめです。

この動画の重要語彙

動画に出てくる覚えておきたい単語15語を、発音と意味つきで紹介します。

単語発音意味
pipeline 名詞/ˈpaɪpˌlaɪn/パイプライン
configuration 名詞/kənˌfɪɡ.əˈɹeɪ̯.ʃə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/門, 大門
helpful 形容詞/ˈhɛlp.fl̩/役に立つ, 有用
output 名詞/ˈaʊtpʊt/出力
introduce 動詞/ˌɪntɹəˈdus/紹介する, 引き合わせる
monitor 名詞/ˈmɑ.nɪ.tɚ/モニター

動画に出てくる句動詞

単語発音意味
check out 動詞試験する, 検査する
go ahead 動詞/ˌɡoʊ əˈhɛd/どうぞお先に
cut off 動詞/ˌkʌt ˈɔf/ [ˌkɐɾ ˈɔf]断つ
pull down 動詞引き下げる

この動画の文法

話し手がよく使っている文型を、動画の実際の表現とともに紹介します。

文型動画での表現
受動態 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/

日本語話者が苦手な音:

  • /r/ と /l/ の区別 — /l/ は舌先を歯茎につけ、/r/ はどこにもつけない: principle /ˈpɹɪn.sɪ.pəl/, gradually /ˈɡɹæd͡ʒuəli/
  • /v/ — /b/ にならないように、上の歯を下唇に当てる: server /ˈsɝvɚ/, visualize /ˈvɪʒuəˌlaɪz/
  • /f/ — 「フ」ではなく、上の歯と下唇で出す: configuration /kənˌfɪɡ.əˈɹeɪ̯.ʃən/, manifest /ˈmæn.ɪ.fɛst/, helpful /ˈhɛlp.fl̩/, drift /dɹɪft/, confuse /kənˈfjuːz/

この動画での練習方法

  1. まず声を出さずに動画を最後まで聞き、知らない単語をメモします。
  2. まず0.75倍速で一文ずつシャドーイングし、慣れてきたら通常の速度に戻します。
  3. 自分の声を録音して元の音声と比べます。pipeline, configuration, triggerなどの単語に特に注意しましょう。

シャドーイングとは?英語上達に効果的な理由

シャドーイング(Shadowing)は、もともとプロの通訳者養成プログラムで開発された言語学習法で、多言語習得者として知られるDr. Alexander Arguelles によって広く普及されました。方法はシンプルですが非常に効果的:ネイティブスピーカーの英語を聞きながら、1〜2秒の遅延で声に出してすぐに繰り返す——まるで「影(shadow)」のように話者を追いかけます。文法ドリルや受動的なリスニングと異なり、シャドーイングは脳と口の筋肉が同時にリアルタイムで英語を処理・再現することを強制します。研究により、発音精度、抑揚、リズム、連音、リスニング力、そして会話の流暢さが大幅に向上することが確認されています。IELTSスピーキング対策や自然な英語コミュニケーションを目指す方に特におすすめです。

シャドーイングのやり方: ステップ別の完全ガイドを読む →