1
00:00:00,160 --> 00:00:02,920
Heute reden wir darüber, warum 
dein Deployment Prozess dein 

2
00:00:02,920 --> 00:00:05,600
größtes Risiko ist und wie Git 
Ups das ändert. 

3
00:00:06,400 --> 00:00:09,640
Coding Buddies, Dein Podcast 
rund um Softwareentwicklung und 

4
00:00:09,640 --> 00:00:12,200
aktueller Tech News. 
Herzlich Willkommen. 

5
00:00:23,760 --> 00:00:26,640
Halli Hallo und herzlich 
Willkommen hier zum Coding 

6
00:00:26,640 --> 00:00:30,080
Buddies Podcast, Deinem 
Softwareentwicklungspodcast. 

7
00:00:30,240 --> 00:00:33,040
Und zwar mit mir, dem Fabi und 
dem Tino. 

8
00:00:33,280 --> 00:00:35,440
Der darf nicht fehlen, der sitzt
mir gegenüber. 

9
00:00:35,440 --> 00:00:37,120
Er hat Bock, glaube ich 
jedenfalls. 

10
00:00:37,120 --> 00:00:38,320
Sieht so aus. 
Auf jeden Fall. 

11
00:00:39,440 --> 00:00:42,160
Wie geht's der Tino Fabi, Was 
geht ab? 

12
00:00:42,800 --> 00:00:45,040
Ja, mir geht's gut, mir geht's 
gut, ich hab Bock, ich hab 

13
00:00:45,040 --> 00:00:46,800
richtig Bock. 
Das ist schön. 

14
00:00:47,680 --> 00:00:49,480
Ich weiß nicht übers Wetter, 
ich, ich hab mir heute 

15
00:00:49,480 --> 00:00:51,600
vorgenommen, nicht mit dir übers
Wetter zu reden, also hast du 

16
00:00:51,600 --> 00:00:54,400
vielleicht irgendwie so n 
anderes Einstiegsthema liegt dir

17
00:00:54,400 --> 00:00:58,320
was auf dem Herzen, mir liegt 
nichts auf dem Herzen, ich hatte

18
00:00:58,320 --> 00:01:01,560
letztens ne ganz coole ne ganz 
coole Sache die mir passiert 

19
00:01:01,560 --> 00:01:02,760
ist. 
Ich hab ne Pizza einfach so 

20
00:01:02,760 --> 00:01:05,760
umsonst bekommen war geil OK das
war. 

21
00:01:05,760 --> 00:01:10,160
Valentinstag von meinem 
heimlichen Verehrer oder meiner 

22
00:01:10,160 --> 00:01:12,240
heimlichen Verehrerin? 
Ich weiß es nicht genau, ja. 

23
00:01:13,200 --> 00:01:15,480
Also das ist schon, das ist 
schon wieso n Hollywood Film als

24
00:01:15,480 --> 00:01:17,960
du mir das erzählt hast, ne, 
dass du einfach so auf die 

25
00:01:17,960 --> 00:01:21,480
Straße gehst, dir denkst, oh ich
hab super Hunger, ich muss mal 

26
00:01:21,480 --> 00:01:26,520
was einkaufen und dann so n 
Lieferando liefer Dude vorfährt 

27
00:01:26,520 --> 00:01:30,200
und sagt hast du Bock auf ne 
Pizza also sorry wann passiert 

28
00:01:30,200 --> 00:01:34,880
sowas feiges war bezahlt ja und 
das krasse war dabei, das ist 

29
00:01:34,880 --> 00:01:40,880
auch noch er sagt. 
Ne Mexican mit extra Käse und 

30
00:01:40,880 --> 00:01:45,280
ich dacht mir so. 
OK, cool, geil, das ist mein 

31
00:01:45,280 --> 00:01:48,400
Tag. 
Mehr Frau zu sagen, also es ist 

32
00:01:48,400 --> 00:01:50,920
ja nicht so, als wär das 
irgendwie vielleicht auch nicht,

33
00:01:51,360 --> 00:01:53,440
also als hätte es nicht gepasst.
Weißt du, dass ich mir sage, so 

34
00:01:53,440 --> 00:01:56,040
i Brokkoli oder so, ich mag 
Brokkoli, aber ich mein so als 

35
00:01:56,040 --> 00:02:00,080
Beispiel, also so Hawaii, weißt 
du wo dann Ananas drauf ist? 

36
00:02:00,080 --> 00:02:03,280
So ja mag man ja vielleicht 
nicht, ja, sowas war es ja 

37
00:02:03,280 --> 00:02:06,080
nicht, sondern einfach was 
geiles ja und scharfmarkig ja 

38
00:02:06,080 --> 00:02:08,800
und extra Käse gut braucht man 
nicht drüber zu reden hat. 

39
00:02:09,199 --> 00:02:11,360
Heute Tag extra Käse mag ja 
jeder, oder? 

40
00:02:11,880 --> 00:02:13,200
Ja. 
Und ich denke. 

41
00:02:13,200 --> 00:02:15,280
Jeder, vielleicht nicht jeder 
ich. 

42
00:02:15,280 --> 00:02:16,720
Wollte. 
Eigentlich wollte ich einkaufen 

43
00:02:16,720 --> 00:02:19,600
fahren ne und hatte übelst 
Hunger und dachte noch so hey 

44
00:02:19,600 --> 00:02:23,920
kannst nicht machen ja ohne also
mit Hunger einkaufen fahren ja 

45
00:02:23,920 --> 00:02:27,440
nee aber hat sich ja ganz gut 
gefügt mit einer Pizza. 

46
00:02:29,120 --> 00:02:32,160
Weißt du was richtig witzig wär,
wenn unter unseren Zuhörerinnen 

47
00:02:32,160 --> 00:02:35,000
und Zuhörern jetzt derjenige 
oder diejenige ist, die, die 

48
00:02:35,000 --> 00:02:39,160
eigentlich bestellt hat und noch
wartet, dann melde dich, fabi, 

49
00:02:39,160 --> 00:02:42,640
schuldet dir ne Pizza. 
Ey, der Typ. 

50
00:02:42,880 --> 00:02:47,240
Von die Frau hat gesagt, Falls 
die falls, die noch mal anruft, 

51
00:02:47,240 --> 00:02:49,520
die Person ja, dann schick dir 
eine neue. 

52
00:02:50,000 --> 00:02:53,200
Also das ist fair, das ist fair,
das ist fair. 

53
00:02:53,840 --> 00:02:56,440
Dann hätte er 2 Personen 
glücklich gemacht an dem Tag, 

54
00:02:56,440 --> 00:02:58,640
weil du warst definitiv 
glücklich, du hast mir ja direkt

55
00:02:58,720 --> 00:03:01,760
geschrieben, was für ein 
freudiges Ereignis das gerade 

56
00:03:01,760 --> 00:03:03,360
war und ich habe mich auch 
wirklich richtig für dich 

57
00:03:03,360 --> 00:03:05,600
mitgefreut, muss ich sagen, ich 
hatte zwar selbst Hunger in dem 

58
00:03:05,600 --> 00:03:07,840
Moment, ich war so so ein 
bisschen neidisch, ja. 

59
00:03:08,320 --> 00:03:10,440
Ich bin erst mal vor die Tür 
gegangen, hab geguckt, da kam 

60
00:03:10,440 --> 00:03:15,760
aber niemand. 
Schade, aber ich gönn dir das 

61
00:03:15,760 --> 00:03:21,360
auf jeden Fall und ich wünsche 
es und ja, ich glaube aber sowas

62
00:03:21,360 --> 00:03:23,920
wird so schnell nicht wieder 
passieren, wenn doch dann krass.

63
00:03:24,640 --> 00:03:28,080
Also das ist doch so n Once and 
a lifetime oder? 

64
00:03:28,240 --> 00:03:34,320
Ja das auf jeden Fall Ah 
herrlich herrlich ja. 

65
00:03:35,600 --> 00:03:38,680
Ich hab n ganz cooles Thema 
mitgebracht heute Fabi, deswegen

66
00:03:38,680 --> 00:03:40,480
möchte ich auch mit dir 
reinstarten, weil ich glaube es 

67
00:03:40,480 --> 00:03:44,000
wird n bisschen dauern. 
Es ist n umfangreiches Thema und

68
00:03:44,400 --> 00:03:47,920
ich sag mal nicht so trivial und
auch n bisschen technischer 

69
00:03:50,160 --> 00:03:54,640
heißt ich möchte mit dir heute 
mal wieder in Richtung Def Ops 

70
00:03:54,640 --> 00:03:59,360
gehen, wir haben ja ne def Ops 
einsteigerreihe gemacht. 

71
00:03:59,360 --> 00:04:03,720
Ja so mit den Grundlagen. 
Mit ja eigentlich mal so ne 

72
00:04:03,720 --> 00:04:07,440
klassische CICD Pipeline 
besprochen wie die aussehen 

73
00:04:07,440 --> 00:04:11,200
kann, wie man sie umsetzen kann.
Liebe Zuhörer, lieber Zuhörer, 

74
00:04:11,200 --> 00:04:13,760
falls du dich fragst, diese 
folgen sind aber glaub ich an 

75
00:04:13,760 --> 00:04:15,880
mir vorbei gegangen, dann schau 
noch mal. 

76
00:04:15,880 --> 00:04:18,480
Es ist schon ne Weile her 
zurück, ansonsten findest du 

77
00:04:18,480 --> 00:04:23,840
auch ne Playlist von uns auf 
Spotify zum Beispiel mit allen 

78
00:04:23,840 --> 00:04:26,320
Folgen die wir zu Def Ops 
gemacht haben, also hör da auch 

79
00:04:26,320 --> 00:04:29,000
gerne mal rein, wenn dich das 
Thema interessiert und du sagst 

80
00:04:29,000 --> 00:04:30,720
Ey mit def Ops hab ich mich noch
nicht so beschäftigt. 

81
00:04:31,360 --> 00:04:35,840
Das wird heute in der Folge 
nicht wichtig sein, um es 

82
00:04:35,840 --> 00:04:39,040
grundlegend zu verstehen, was 
wir heute erzählen, sage ich 

83
00:04:39,040 --> 00:04:40,800
mal. 
Aber um das ganze besser in 

84
00:04:40,800 --> 00:04:45,440
Kontext zu passen, Aufzupacken 
auf jeden Fall, denn ich würde 

85
00:04:45,440 --> 00:04:49,600
sagen, es ist schon wieder eine 
Einstiegsfolge in ein neues oder

86
00:04:49,600 --> 00:04:55,120
erweiterndes Thema, ne? 
Aber halt nicht ganz so Basic 

87
00:04:55,120 --> 00:04:58,720
wie jetzt CICD an sich. 
Ich hoffe ich hab es gut gut 

88
00:04:58,720 --> 00:05:00,960
eingeordnet für dich und für die
Zuhörer. 

89
00:05:00,960 --> 00:05:04,800
Fabi Wir wollen heute über Gate 
Ops reden. 

90
00:05:04,880 --> 00:05:08,640
Genau, also ich sag mal so, ja 
wenn jetzt die Junioren, wenn 

91
00:05:08,640 --> 00:05:12,400
man das so nennen mag, dabei 
sind ja die Folge ist trotzdem 

92
00:05:12,400 --> 00:05:16,120
dafür, dass man quasi 
Verständnis schafft, wenn man 

93
00:05:16,120 --> 00:05:20,640
jetzt so auf dem Mitlevel ist, 
dann hat man einfach noch mal 

94
00:05:20,640 --> 00:05:23,480
so. 
Tipps für vielleicht stabileres 

95
00:05:23,480 --> 00:05:25,840
Deployment? 
Ja, und für Senior oder Leads 

96
00:05:26,480 --> 00:05:28,640
sag ich jetzt mal, das ist 
einfach noch mal so n kleiner 

97
00:05:28,640 --> 00:05:32,200
Reminder. 
Ja ey gibt es ja, bestell es 

98
00:05:32,200 --> 00:05:34,600
doch um. 
Ja, wenn du es ist. 

99
00:05:34,960 --> 00:05:37,360
Ich find reminder ist auch n 
gutes Stichwort, weil in dem 

100
00:05:37,360 --> 00:05:39,960
Zuge wo ich jetzt mir überlegt 
hab oder wir uns überlegt haben,

101
00:05:39,960 --> 00:05:43,680
ey lass doch über Git Ops reden,
war das auch noch mal so ganz 

102
00:05:43,680 --> 00:05:46,400
interessant noch mal wirklich zu
durchdenken warum? 

103
00:05:46,800 --> 00:05:49,760
Gibt es das? 
Warum fahren viele darauf ab, 

104
00:05:49,760 --> 00:05:53,120
warum setzen wir auch selbst auf
dieses Modell? 

105
00:05:53,120 --> 00:05:56,080
Ja, das kann man ja schon mal 
vorwegnehmen, was wir heute 

106
00:05:56,080 --> 00:06:00,240
erzählen, nutzen wir selbst für 
unsere Coding Buddies, 

107
00:06:00,240 --> 00:06:04,720
Infrastruktur und Systeme und es
war halt cool noch mal zu sehen,

108
00:06:04,720 --> 00:06:10,080
ja ach ja, genau deswegen ja 
richtig und ja genau. 

109
00:06:10,720 --> 00:06:15,360
Aber lass uns doch noch mal ganz
kurz zusammenfassen. 

110
00:06:16,000 --> 00:06:21,920
Eine klassische CICD Pipeline. 
Sie wird gerade in der 

111
00:06:21,920 --> 00:06:26,800
Gegenüberstellung mit Git Ops 
auch oft CI Ops genannt, da 

112
00:06:26,800 --> 00:06:29,760
jetzt nicht verwirren lassen an 
der Stelle, wir reden in dem 

113
00:06:29,760 --> 00:06:34,000
Zuge dann nicht nur von dem 
Continuous Integration teil, 

114
00:06:34,240 --> 00:06:37,040
sondern von so einer 
klassischen. 

115
00:06:37,520 --> 00:06:42,240
CICD Pipeline, ein CI Server, 
der aber irgendwie ja doch mehr 

116
00:06:42,240 --> 00:06:45,480
macht als nur Integration und 
Artefakte bauen, sondern 

117
00:06:45,480 --> 00:06:47,800
irgendwie auch Deployment 
beinhaltet. 

118
00:06:47,800 --> 00:06:50,640
Jeder kennt das, der vielleicht 
mal so ganz einfache Pipelines 

119
00:06:50,640 --> 00:06:54,640
gebaut hat. 
Und im Endeffekt steckt dahinter

120
00:06:54,640 --> 00:06:58,800
das schon mal vorweg, eine 
Strategie, ein Modell, das Push 

121
00:06:58,800 --> 00:07:02,720
Modell und das wollen wir heute 
mal mit Git ops. 

122
00:07:02,720 --> 00:07:04,800
Spoilerwarnung ist halt kein 
Push. 

123
00:07:04,800 --> 00:07:07,760
Modell, das heute mal 
gegenüberstellen. 

124
00:07:07,760 --> 00:07:10,160
Ja genau, ich würde dazu noch 
sagen, dass zum Beispiel weil du

125
00:07:10,160 --> 00:07:13,120
auch Def Ops erwähnt hattest, 
wenn man jetzt von def ops 

126
00:07:13,120 --> 00:07:16,320
redet, finde ich, sollte man es 
so einordnen oder ist es halt 

127
00:07:16,320 --> 00:07:20,080
so, dass Def Ops. 
Ich sag mal nen ne Art Mindset 

128
00:07:20,080 --> 00:07:25,040
ist oder ne Art Kultur mit einer
bestimmten ich sag mal Palette 

129
00:07:25,040 --> 00:07:27,600
von Prozessen die man nutzen 
kann, wo es viel um 

130
00:07:27,600 --> 00:07:30,960
Automatisierung geht ne und wenn
man jetzt sagt OK wir wollen 

131
00:07:30,960 --> 00:07:35,120
jetzt aber def Ops nehmen, ja 
und jetzt nicht sagen OK git Ops

132
00:07:35,120 --> 00:07:40,520
ist aber sozusagen def Ops plus 
in dem Sinne sondern Git Ops ist

133
00:07:40,800 --> 00:07:44,520
genauso wie CI ops so wie du es 
gerade beschrieben hast. 

134
00:07:44,520 --> 00:07:50,080
Es sind ja ich sag mal konkrete 
Betriebsmodelle von defops ne, 

135
00:07:50,240 --> 00:07:54,560
also defops sagt Denk dran, dass
du Dinge automatisieren sollst. 

136
00:07:54,560 --> 00:07:56,560
Ne, also ob es jetzt 
Fehlermeldungen sind die du 

137
00:07:56,560 --> 00:07:59,120
siehst, die du schnell erkennst,
die automatisiert dir gemeldet 

138
00:07:59,120 --> 00:08:01,920
werden oder vielleicht auch, 
dass du n irgendein Deployment 

139
00:08:01,920 --> 00:08:05,520
machst, was schief geht und es 
automatisiert wieder gerade 

140
00:08:05,520 --> 00:08:10,240
gebogen werden soll, solche 
Dinge, das sind ja Konzepte und 

141
00:08:10,240 --> 00:08:13,360
die konkret umzusetzen, das ist 
dann am Ende natürlich die 

142
00:08:13,360 --> 00:08:16,800
Frage, wie man es macht, ne und 
genauso wie CI OPS. 

143
00:08:17,240 --> 00:08:19,360
Es. 
Git Ops sozusagen auch eine 

144
00:08:19,360 --> 00:08:25,240
Möglichkeit dazu? 
Ne ja, absolut und ja, git ops 

145
00:08:25,240 --> 00:08:28,640
ist quasi so über die Jahre so 
diese Weiterentwicklung, aber 

146
00:08:28,800 --> 00:08:31,840
lass uns mal drüber sprechen 
warum es überhaupt notwendig war

147
00:08:31,840 --> 00:08:36,600
oder warum es es hat ja immer 
Gründe warum Entwicklerinnen und

148
00:08:36,600 --> 00:08:39,760
Entwickler sich denken. 
Wir müssen uns irgendwie noch 

149
00:08:39,760 --> 00:08:41,600
was überlegen. 
Wir müssen vielleicht noch das 

150
00:08:41,600 --> 00:08:44,560
Modell erweitern, ja, oder auch 
wie du meinst im Death Ops 

151
00:08:44,560 --> 00:08:49,400
Gedanken das ganze noch weiter 
tragen als wir es bisher tun und

152
00:08:49,400 --> 00:08:52,560
da möchte ich mal so auf ne 
klassische Pipeline gehen, so 

153
00:08:52,560 --> 00:08:57,160
wie wir sie ja auch anfangs 
wieder betrieben haben, nenne 

154
00:08:57,160 --> 00:08:59,640
ich es mal. 
Also alles was wir heute 

155
00:08:59,640 --> 00:09:02,440
erzählen ist ja nicht so, dass 
man sich denkt, jetzt weiß ich 

156
00:09:02,440 --> 00:09:05,520
was git ops ist nur noch git 
ops, so weißt du. 

157
00:09:05,920 --> 00:09:09,040
Sondern es ist ja auch immer nen
nen Prozess sag ich mal ne 

158
00:09:09,040 --> 00:09:14,160
Entwicklung ne Einschätzung zu 
dem Projekt was wofür möchte ich

159
00:09:14,160 --> 00:09:16,560
das gerade verwenden? 
Ist es notwendig, brauche ich 

160
00:09:16,560 --> 00:09:18,640
das wirklich, ist es n bisschen 
over the top? 

161
00:09:19,360 --> 00:09:21,920
Ja das ich mein das sagen wir 
bei vielen Themen, aber es ist 

162
00:09:21,920 --> 00:09:24,760
leider halt auch immer so, dass 
man das natürlich projektbezogen

163
00:09:24,760 --> 00:09:28,800
entscheiden muss. 
Für unsere Systeme hatte ich ja 

164
00:09:28,800 --> 00:09:32,720
schon gesagt, haben wir uns 
wieder dafür entschieden, aber 

165
00:09:32,720 --> 00:09:37,240
wir sind von diesem klassischen.
Hinzu git Ops gegangen. 

166
00:09:37,240 --> 00:09:40,240
Wir haben ja auch ganz am Anfang
gesagt, Hey, wir brauchen ne 

167
00:09:40,240 --> 00:09:44,960
Website, lass mal ne einfache 
Pipeline aufbauen und das 

168
00:09:44,960 --> 00:09:48,000
entsprach eher einer CI Ops 
Pipeline. 

169
00:09:48,640 --> 00:09:52,800
Ja so wie wir sie jetzt heute 
definieren als Modell und nicht 

170
00:09:52,800 --> 00:09:55,680
einer Git ops Pipeline nenn ich 
es mal. 

171
00:09:55,680 --> 00:09:58,920
Ja ja. 
Und deswegen finde ich das Thema

172
00:09:58,920 --> 00:10:01,520
halt auch so cool, weil es zeigt
halt auch einfach, dass es auch 

173
00:10:01,520 --> 00:10:04,080
n Entwicklungsprozess ist. 
Und genau dafür steht ja def 

174
00:10:04,080 --> 00:10:06,880
Ops. 
Ne, dass man sich dahingehend 

175
00:10:06,880 --> 00:10:09,280
auch weiterentwickelt. 
Auf jeden Fall. 

176
00:10:10,400 --> 00:10:15,520
Also ich kann ja mal n bisschen 
noch mal das ganze kurz 

177
00:10:15,520 --> 00:10:19,600
beschreiben, dass man sagt, OK, 
was ist denn jetzt so CI ops ne,

178
00:10:19,600 --> 00:10:22,560
also du meintest ja auch schon, 
das ist so n push Modell ja also

179
00:10:22,560 --> 00:10:24,800
das heißt. 
Wenn wir jetzt am Beispiel 

180
00:10:24,800 --> 00:10:27,360
unserer zum Beispiel unserer 
Website von der Coding Bodies 

181
00:10:27,360 --> 00:10:30,320
Website sind, dann haben wir 
gesagt, OK, wir haben halt 

182
00:10:30,320 --> 00:10:34,080
irgendwo unser Repository, wir 
machen Changes am Repository, es

183
00:10:34,080 --> 00:10:38,080
laufen zum Beispiel Tests, ne um
zu gucken, ob neue Änderungen 

184
00:10:38,080 --> 00:10:41,840
neue Changes integriert werden 
können in die Codebase und wenn 

185
00:10:41,840 --> 00:10:45,080
das der Fall war, dann deployen 
wir die neue Version, sodass es 

186
00:10:45,080 --> 00:10:48,320
halt eben. 
Auch ne die aktualisierte 

187
00:10:48,320 --> 00:10:51,360
Version verfügbar gemacht wird. 
Das heißt du hast irgendwie NCI 

188
00:10:51,360 --> 00:10:56,240
System was am Ende noch sagt OK 
ich pushe jetzt das Artefakt was

189
00:10:56,240 --> 00:10:59,760
ich zum Beispiel erzeugt habe 
oder ne was was da ist push ich 

190
00:10:59,760 --> 00:11:03,520
jetzt in die in in auf Port 
sozusagen dass du es halt 

191
00:11:03,520 --> 00:11:07,040
einfach verfügbar machst. 
Das heißt du hast ja ne dieses 

192
00:11:07,120 --> 00:11:10,880
dieses Push Prinzip etwas 
erstellt das und du schiebst es 

193
00:11:10,880 --> 00:11:14,080
dahin wo es hin soll ne also das
ist ja so als würde. 

194
00:11:14,800 --> 00:11:18,640
Weiß ich nicht. 
Ich jetzt zum Beispiel, oder 

195
00:11:18,640 --> 00:11:21,120
sagen wir mal Postbote. 
Ne Postbote ist auch n Push 

196
00:11:21,120 --> 00:11:23,720
Prinzip ja also der kommt zu dir
und sagt OK es gibt irgendwie n 

197
00:11:23,720 --> 00:11:26,040
Brief hier bitteschön komm zu 
dir und gib dir das als Beispiel

198
00:11:26,040 --> 00:11:27,920
ne so und so. 
Full er wirklich zum 

199
00:11:27,920 --> 00:11:30,600
Briefkasten? 
So genau so und so funktioniert 

200
00:11:30,600 --> 00:11:33,560
das halt ne und das kann man ja 
auf jeden Fall so machen. 

201
00:11:33,560 --> 00:11:36,160
Und wie du meintest, wir hatten 
das ja so gemacht und sind dann 

202
00:11:36,160 --> 00:11:37,960
irgendwann wieder auf Git Ops 
gegangen. 

203
00:11:37,960 --> 00:11:40,240
Bisher ist ja irgendwann wieder,
also wir sind dann auf Git Ops 

204
00:11:40,240 --> 00:11:42,400
gewechselt. 
Ich finde, es hat aber auch ein 

205
00:11:42,400 --> 00:11:44,960
paar Gründe gehabt, ne und es 
hat aber auch Gründe gehabt zu 

206
00:11:44,960 --> 00:11:48,680
sagen, wir haben es erstmal so 
gemacht, wie wir es gemacht 

207
00:11:48,680 --> 00:11:53,280
haben mit diesem push Prinzip ne
weil es halt eben auch nur diese

208
00:11:53,280 --> 00:11:55,720
eine Website gab. 
Es war nicht vieles war nur 

209
00:11:55,720 --> 00:11:58,080
dieses kleine und dafür hat es 
erstmal völlig ausgereicht. 

210
00:11:59,360 --> 00:12:02,120
Genau da steckten ja nicht 
mehrere Systeme denn dahinter, 

211
00:12:02,120 --> 00:12:03,880
sondern es war ja anfangs 
wirklich eine reine 

212
00:12:03,880 --> 00:12:07,840
Informationsseite, die sich ja 
auch nicht oft geändert hat, 

213
00:12:07,840 --> 00:12:10,640
oder irgendwas. 
Wir haben da jetzt nicht täglich

214
00:12:10,640 --> 00:12:13,920
dran entwickelt, sage ich mal. 
Also es war auch sehr statisch, 

215
00:12:13,920 --> 00:12:16,920
das ganz der ganze 
Projektkontext, sage ich mal. 

216
00:12:16,920 --> 00:12:18,960
Und da war das auch genau 
richtig, weil es sich ja auch 

217
00:12:18,960 --> 00:12:23,280
schnell umsetzen lässt. 
Ja, aber was da natürlich Fakt 

218
00:12:23,280 --> 00:12:26,320
ist, um das pushen zu können, 
und da kommen wir mal auf einen 

219
00:12:26,320 --> 00:12:28,560
Punkt, der auch sehr 
entscheidend heute sein wird. 

220
00:12:28,880 --> 00:12:34,240
Ist, dass ich natürlich Zugriff 
brauche aus meiner CI heraus sag

221
00:12:34,240 --> 00:12:38,400
ich mal ne, also aus meinem sei 
es der CI Server. 

222
00:12:38,400 --> 00:12:41,680
Wie auch immer, ich hab aber in 
dem Schritt wo ich diese 

223
00:12:41,680 --> 00:12:46,720
Continuous Integration mache und
quasi Änderung integriere, 

224
00:12:46,720 --> 00:12:51,760
Artefakte erzeuge und jetzt sage
ich push sie gleich aktiv ja auf

225
00:12:51,760 --> 00:12:55,200
Prot beispielsweise setzt das 
natürlich voraus, dass ich auch 

226
00:12:55,200 --> 00:12:58,080
Zugriffe darauf brauche. 
Ja, das heißt, ich muss ja 

227
00:12:58,080 --> 00:12:59,920
Zugriff auf mein Prot System 
haben. 

228
00:12:59,920 --> 00:13:03,200
Ich muss secrets haben. 
Ja, also in dieser ganzen 

229
00:13:03,200 --> 00:13:06,280
Umgebung, in der ich mich gerade
befinde, müssen ja auch gewisse 

230
00:13:06,280 --> 00:13:09,280
Secrets vorhanden sein, sonst 
funktioniert das ja am Ende 

231
00:13:09,280 --> 00:13:10,800
nicht, weil ich einfach keinen 
Zugriff hab. 

232
00:13:10,800 --> 00:13:13,520
Also ich sollte keinen Zugriff 
haben, wenn ich die Secrets 

233
00:13:13,520 --> 00:13:16,640
nicht habe. 
Ja und oder auch so im 

234
00:13:16,640 --> 00:13:19,120
kubanettes Kontext. 
Ich muss natürlich dann Zugriff 

235
00:13:19,120 --> 00:13:23,360
aufs Cluster haben und so weiter
das heißt man merkt da sind so n

236
00:13:23,360 --> 00:13:26,160
paar Sicherheitsaspekte die man 
berücksichtigen muss an der 

237
00:13:26,160 --> 00:13:29,680
Stelle. 
Und Fakt ist auch, dass ich an 

238
00:13:29,680 --> 00:13:33,040
der Stelle die komplette 
Deployment Logik brauche. 

239
00:13:33,360 --> 00:13:36,800
Ja, wenn diese natürlich sehr 
simpel ist, wie wir es gerade 

240
00:13:36,800 --> 00:13:39,760
gesagt haben, anfangs ist es 
einfach nur kommt Sheeps auf 

241
00:13:39,760 --> 00:13:43,280
prot und fertig, ja dann ist die
die Logik dahinter nicht sehr 

242
00:13:43,280 --> 00:13:46,480
umfangreich und komplex, dann 
kann man sagen ja OK dann. 

243
00:13:46,640 --> 00:13:49,840
Machen wir das da halt mit rein.
Es ist irgendwo Continuous 

244
00:13:49,840 --> 00:13:53,040
Integration und Continuous 
Deployment, aber es passiert 

245
00:13:53,040 --> 00:13:56,080
alles in einem Kontext, 
sozusagen auf dem gleichen 

246
00:13:56,080 --> 00:14:00,160
System. 
Ja, und das bringt natürlich 

247
00:14:00,160 --> 00:14:04,920
Probleme mit sich, ne, also wo 
ist jetzt zum Beispiel so ne 

248
00:14:04,920 --> 00:14:10,320
richtige Single Source of Truth?
Ja oder dieses typische Ach 

249
00:14:10,320 --> 00:14:13,360
komm, wir ändern mal schnell 
was, hau mal rein. 

250
00:14:13,600 --> 00:14:16,720
Dann wird das gleich gepusht. 
Das geht gleich auf Prot. 

251
00:14:16,880 --> 00:14:20,480
Wenn dann irgendwas passiert 
huiuiui, dann machst du noch 

252
00:14:20,480 --> 00:14:23,360
schnell n paar Hotfixes, 
schiebst das direkt hinterher. 

253
00:14:24,080 --> 00:14:27,800
Worst Case gerade, aber das kann
ja passieren, dass du auch bei 

254
00:14:27,800 --> 00:14:30,720
einer einfachen Website sagst, 
komm ich mach mal was neues 

255
00:14:30,720 --> 00:14:33,440
rein, oh warte, warte, warte, 
warte, hier geht gar nichts mehr

256
00:14:33,440 --> 00:14:37,080
gerade oh oh gleich mal n Hotfix
hinterher geschoben, weil du 

257
00:14:37,080 --> 00:14:38,760
auch gar nichts anderes machen 
kannst. 

258
00:14:38,760 --> 00:14:43,040
Dann an der Stelle außer. 
Erneut zu Deployen ja, also 

259
00:14:43,040 --> 00:14:46,680
wieder was rauf zu pushen und 
das sind so worst case Szenarien

260
00:14:46,680 --> 00:14:51,920
wo man sich denkt Oh das so n 
bisschen separieren voneinander 

261
00:14:51,920 --> 00:14:55,040
wär schon nicht schlecht. 
Aber du kannst ja auch, du 

262
00:14:55,040 --> 00:14:58,800
kannst ja auch soweit gehen und 
sagen, du hast, sagen wir mal, 

263
00:14:58,800 --> 00:15:02,000
wenn du jetzt so größere Cloud 
Services ne bist ne, da kannst 

264
00:15:02,000 --> 00:15:06,400
du ja auch so NCI Ops umsetzen, 
kannst aber gleichzeitig dann 

265
00:15:06,400 --> 00:15:09,000
auch. 
Wie willst, wie will ich das 

266
00:15:09,000 --> 00:15:11,200
jetzt am besten beschreiben? 
Du hast deine deine Umgebung, 

267
00:15:11,200 --> 00:15:14,160
die etwas irgendwo hin pusht, ne
auf die entsprechende prot 

268
00:15:14,160 --> 00:15:17,240
Instanz und die prot Instanz, 
die hat halt bestimmt auch ich 

269
00:15:17,240 --> 00:15:20,280
sag mal konfigurationsparameter 
und so weiter das kannst du 

270
00:15:20,280 --> 00:15:25,200
natürlich alles irgendwo in 
deiner, also in deinen deinen so

271
00:15:25,200 --> 00:15:27,800
infrastructures Codemäßig 
abbilden in so einer 

272
00:15:27,800 --> 00:15:32,880
Konfiguration die du dann 
sozusagen auch über diese diese 

273
00:15:32,880 --> 00:15:36,600
ganz also dass dass du das alles
aufsetzt, ne darüber, aber du 

274
00:15:36,600 --> 00:15:39,600
hast immer noch die Möglichkeit,
zum Beispiel dann auch bestimmte

275
00:15:39,600 --> 00:15:42,320
Dinge selbst zu verändern. 
Also du kannst ja zum Beispiel 

276
00:15:42,320 --> 00:15:47,120
dann reingehen und manuell 
Veränderungen machen, was aber 

277
00:15:47,120 --> 00:15:49,720
dann zum Beispiel auch wiederum 
dazu führen kann, wenn du nicht 

278
00:15:49,720 --> 00:15:52,480
aufpasst, dass du halt so ne Art
Drift hast zwischen deinem 

279
00:15:52,880 --> 00:15:56,880
System, ja, was du eigentlich im
Code hast, was wo du eigentlich 

280
00:15:56,880 --> 00:15:59,520
davon ausgehst, das ist jetzt 
gerade irgendwie diploid, 

281
00:15:59,520 --> 00:16:02,200
genauso wie es ist. 
Und auf der anderen Seite hast 

282
00:16:02,200 --> 00:16:05,520
du aber irgendwo einen manuellen
Step gemacht, weil du vielleicht

283
00:16:05,520 --> 00:16:09,160
genau dieses Verhalten gerade 
hattest. 

284
00:16:09,160 --> 00:16:11,720
Was du angesprochen hast. 
Irgendwas funktioniert nicht. 

285
00:16:11,720 --> 00:16:14,160
Ich mach mal ganz kurz was um zu
gucken ob es geht. 

286
00:16:14,320 --> 00:16:17,200
Du vergisst irgendwas wie auch 
immer, am Ende kannst du halt 

287
00:16:17,200 --> 00:16:20,760
einen einen Drift erzeugen 
zwischen dem was du eigentlich 

288
00:16:20,760 --> 00:16:23,920
in deiner Source truth hast und 
was dann tatsächlich aber 

289
00:16:23,920 --> 00:16:28,400
wirklich produktiv läuft und das
ist halt auch so ein kleines 

290
00:16:28,400 --> 00:16:31,760
Problem. 
Ja, und genau das ist sogar der 

291
00:16:31,760 --> 00:16:35,440
das Kernproblem, weswegen man ja
gesagt hat okay, lass uns mal 

292
00:16:35,440 --> 00:16:39,840
das Ganze weiterentwickeln, weil
man quasi die Aussage getroffen 

293
00:16:39,840 --> 00:16:43,120
hat, wenn dein Live System, wie 
du es ja gerade besprochen hast,

294
00:16:43,200 --> 00:16:45,520
nicht vollständig reproduzierbar
ist. 

295
00:16:45,520 --> 00:16:49,040
Aus Git zum Beispiel aus deiner 
Versionierung, dann hast du halt

296
00:16:49,040 --> 00:16:53,440
ein strukturelles Problem, ein 
Risiko, vor allem was dir früher

297
00:16:53,440 --> 00:16:56,960
oder später in die Suppe spucken
kann und. 

298
00:16:57,120 --> 00:16:59,920
Ja, das ist nämlich auch n gutes
Stichwort. 

299
00:17:00,120 --> 00:17:02,720
Wenn wir nämlich über 
reproduzierbare Infrastruktur 

300
00:17:02,720 --> 00:17:05,200
sprechen, dann braucht man 
natürlich auch eine saubere 

301
00:17:05,200 --> 00:17:07,599
Basis. 
Da fängt es ja schon beim Server

302
00:17:07,599 --> 00:17:09,200
an. 
Ne, man braucht ne Basis auf die

303
00:17:09,200 --> 00:17:12,240
man sich verlassen kann und an 
der Stelle muss ich mal ganz 

304
00:17:12,240 --> 00:17:15,119
kurz Werbung machen. 
Denn für unsere codingbuddies 

305
00:17:15,119 --> 00:17:17,440
Systeme nutzen wir unter anderem
auch. 

306
00:17:17,440 --> 00:17:21,079
V Server und da können wir 
wärmstens die Server von unserem

307
00:17:21,079 --> 00:17:24,319
heutigen Werbepartner Strato 
empfehlen, denn Strato hat 

308
00:17:24,319 --> 00:17:26,960
aktuell wieder absolute No 
brainer Angebote. 

309
00:17:27,040 --> 00:17:29,600
Ja Tino, ich find es auch krass,
weil es ist einfach. 

310
00:17:29,840 --> 00:17:33,880
Du bezahlst einen schmalen Taler
und kriegst einfach für ein paar

311
00:17:33,880 --> 00:17:36,160
Monate so diese Server zum 
Testen. 

312
00:17:36,240 --> 00:17:40,320
Und das ist absolut geil, um das
einfach mal auszutesten und 

313
00:17:40,320 --> 00:17:42,560
genau das, was wir in dieser 
Folge besprechen, auch wirklich 

314
00:17:42,560 --> 00:17:45,040
mal umzusetzen. 
Selbst wenn man nur keine 

315
00:17:45,040 --> 00:17:46,880
Ahnung. 
Eine Testumgebung für kleine 

316
00:17:46,880 --> 00:17:49,920
Mini Projekte aufsetzt. 
Ja also gar nicht mal das Ziel 

317
00:17:49,920 --> 00:17:53,200
hat groß Webseiten zu betreiben,
Backends zu betreiben aber 

318
00:17:53,200 --> 00:17:56,640
einfach mal in die Welt 
einzutauchen und es mal für sich

319
00:17:56,640 --> 00:17:59,720
produktiv umzusetzen, auch zum 
Beispiel Git Ops ist. 

320
00:17:59,880 --> 00:18:03,200
Das natürlich absolut Gold wert 
und man muss natürlich sagen, 

321
00:18:03,280 --> 00:18:06,960
Strato bringt auch richtig coole
Eigenschaften mit ihren Servern 

322
00:18:06,960 --> 00:18:08,440
mit sich. 
Also allein schon der 

323
00:18:08,440 --> 00:18:10,640
Datenschutz. 
Ne es ist auf jeden Fall DSGVO 

324
00:18:10,640 --> 00:18:13,360
konform, die Rechenzentren sind 
in Deutschland. 

325
00:18:13,640 --> 00:18:15,880
Das sind einfach Dinge, die sind
heutzutage, glaube ich, 

326
00:18:15,880 --> 00:18:17,960
wichtiger als den je. 
Und was natürlich auch ein 

327
00:18:17,960 --> 00:18:20,920
richtig cooler Punkt ist und 
auch wichtiger denn je ist 

328
00:18:20,920 --> 00:18:22,880
natürlich ihr Green Hosting 
Ansatz. 

329
00:18:22,960 --> 00:18:25,720
Also wenn du Bock hast auf einen
neuen Server oder vielleicht 

330
00:18:25,720 --> 00:18:28,560
deinen allerersten Server, dann 
schau gerne bei uns in die Show 

331
00:18:28,560 --> 00:18:32,120
Notes, da findest du den Link zu
den Strato angeboten mit diesem 

332
00:18:32,120 --> 00:18:34,760
Link unterstützt du uns und das 
Projekt Coding Buddies auch 

333
00:18:34,760 --> 00:18:38,160
zusätzlich dann vielen Dank 
dafür und jetzt geht es weiter 

334
00:18:38,160 --> 00:18:42,960
mit der Folge Werbung Ende. 
Und ich finde es halt auch 

335
00:18:43,120 --> 00:18:46,080
spannend, dass du ja vorhin 
gesagt hast, das ist so Mindset 

336
00:18:46,080 --> 00:18:48,320
und Modell. 
Also du hast ja Def Ops als 

337
00:18:48,320 --> 00:18:51,840
Mindset auch bezeichnet, da gehe
ich auch ganz mit und ich finde 

338
00:18:52,000 --> 00:18:54,960
spannend hierbei ist, wenn wir 
jetzt, ich nenne es jetzt noch 

339
00:18:54,960 --> 00:18:58,720
mal ci ops und git Ops 
vergleichen, dann stellen wir 

340
00:18:58,720 --> 00:19:03,400
auch 2 verschiedene Ansätze, 
auch Denkansätze gegenüber, die 

341
00:19:03,400 --> 00:19:07,440
da verfolgt werden, das. 
Dein Punkt war ja klassisch 

342
00:19:07,760 --> 00:19:10,960
Infrastructure is CODE. 
Wie sieht das oft aus? 

343
00:19:11,200 --> 00:19:15,440
Infrastructure is Code sieht ja 
oft so aus im ganz einfachen 

344
00:19:15,440 --> 00:19:19,920
Kontext gesprochen, dass es 
immer so Befehle sind, ne mach 

345
00:19:19,920 --> 00:19:22,880
das. 
Mach das und jetzt machst du das

346
00:19:22,880 --> 00:19:26,080
Beispiel. 
Teste ob die Änderung richtig 

347
00:19:26,080 --> 00:19:29,040
ist. 
Bau das ganze und jetzt pushe es

348
00:19:29,040 --> 00:19:31,440
hoch und lass es produktiv 
laufen. 

349
00:19:31,840 --> 00:19:34,120
Ganz ganz simpel ausgedrückt, 
aber das könnte ja so die 

350
00:19:34,120 --> 00:19:36,320
Reihenfolge sein. 
Ne ich teste noch mal ob die 

351
00:19:36,320 --> 00:19:38,720
Änderung in Ordnung ist. 
Ich integriere sie, baue dir 

352
00:19:38,720 --> 00:19:40,320
meine Software und schiebe sie 
hoch. 

353
00:19:40,720 --> 00:19:44,840
So, das Ganze ist ja sehr 
imperativ gedacht, ne? 

354
00:19:44,840 --> 00:19:48,400
Also so befehlsform ne, also 
mach das, mach das und jetzt 

355
00:19:48,400 --> 00:19:51,520
machst du das, jetzt machst du 
das und jetzt bist du fertig und

356
00:19:51,520 --> 00:19:56,240
die von diesem Ansatz ja oder 
auch sowas wie Installier die 

357
00:19:56,240 --> 00:19:59,000
Abhängigkeiten vorweg ja auch 
ganz gefühlt immer drin. 

358
00:19:59,000 --> 00:20:01,080
Ne für deine Software, die 
Abhängigkeiten müssen ja erstmal

359
00:20:01,080 --> 00:20:06,000
irgendwie gegeben sein, aber das
ist alles so stepweise Befehle 

360
00:20:06,080 --> 00:20:09,600
die ausgeführt werden sollen. 
Und bei Git Ops geht man jetzt 

361
00:20:09,600 --> 00:20:13,520
aber so einen deklarativen 
Ansatz und sagt nicht mehr macht

362
00:20:13,520 --> 00:20:17,760
das Macht das Macht, das Macht 
das, sondern beschreibt was 

363
00:20:17,760 --> 00:20:20,160
möchte ich, wie soll das 
Aussehen am Ende, wie soll mein 

364
00:20:20,160 --> 00:20:24,480
System aussehen, das heißt, ich 
konzentriere mich auf eine 

365
00:20:24,480 --> 00:20:30,000
Zustandsbeschreibung am Ende ja,
also wie stelle ich mir den 

366
00:20:30,000 --> 00:20:33,680
Zustand vor, wie er am Ende 
aussehen soll und nicht mehr als

367
00:20:33,680 --> 00:20:37,520
Schritt für Schritt 
befehlsanleitung Abfolge. 

368
00:20:37,920 --> 00:20:44,720
Befehlskette wie das, dann weißt
du was ich meine und das hat bei

369
00:20:44,720 --> 00:20:48,000
mir jetzt, wo wir auch die 
Systeme quasi umgestellt haben 

370
00:20:48,000 --> 00:20:53,120
beziehungsweise den ganzen 
Ansatz unseres unserer Pipeline 

371
00:20:53,120 --> 00:20:56,520
sag ich mal ne umgestellt haben 
war das für mich erstmal wieder 

372
00:20:56,520 --> 00:21:02,400
n Step dieses Umdenken gar nicht
so einfach, weil du fängst 

373
00:21:02,960 --> 00:21:05,360
wieder an im Kopf zu sagen OK 
was müssen wir machen. 

374
00:21:05,840 --> 00:21:10,160
OK, erstmal die Abhängigkeiten 
auflösen, sehen, dass alles da 

375
00:21:10,160 --> 00:21:12,160
ist. 
Die Tests auf jeden Fall müssen 

376
00:21:12,160 --> 00:21:17,520
die Tests erstmal laufen und so 
weiter ne und davon gehst du weg

377
00:21:17,520 --> 00:21:20,880
mit dem Ansatz um einfach 
Komplexität da auch rauszunehmen

378
00:21:20,880 --> 00:21:23,320
dir nicht halt gleich direkt zu 
überlegen welche Steps müssen da

379
00:21:23,320 --> 00:21:27,200
alle rein, vor allem um 
Reihenfolgefehler zu vermeiden, 

380
00:21:27,600 --> 00:21:31,200
weil bei umso komplexer. 
Es wird also jetzt von der von 

381
00:21:31,200 --> 00:21:34,400
der Abfolge der Befehle her, 
umso mehr musst du drauf achten 

382
00:21:34,400 --> 00:21:35,720
Boah hab ich hier irgendwelche 
Abhängigkeiten? 

383
00:21:35,800 --> 00:21:37,800
Abhängigkeiten? 
Kann ich das überhaupt vor dem 

384
00:21:37,800 --> 00:21:40,000
machen oder sollte ich 
vielleicht doch noch Schritt c 

385
00:21:40,000 --> 00:21:45,440
erstmal machen? 
Ei und außerdem diese Abfolge 

386
00:21:46,240 --> 00:21:49,280
wie du ja meintest, menschliches
Eingreifen hier mal was ändern, 

387
00:21:49,280 --> 00:21:52,000
da mal was ändern. 
Ist das überhaupt alles so noch 

388
00:21:52,000 --> 00:21:54,320
auf Prot wie ich das gerade hier
vor mir sehe? 

389
00:21:54,640 --> 00:21:58,640
Das ist schwierig und davon will
man halt weggehen mit einem 

390
00:21:58,640 --> 00:22:01,520
deklarativen Ansatz. 
Ja. 

391
00:22:02,760 --> 00:22:06,160
Also im Endeffekt ist es ja dann
so, dass du quasi deine 

392
00:22:06,160 --> 00:22:11,040
Deployment Umgebung hast, die 
nicht mehr darauf wartet, dass 

393
00:22:11,040 --> 00:22:15,120
etwas, dass sie etwas bekommt, 
sondern diese Umgebung zieht 

394
00:22:15,120 --> 00:22:21,360
sich aktiv, dann sozusagen das 
was es braucht von dort, wo es 

395
00:22:21,760 --> 00:22:26,240
weiß wo es das gibt was es 
braucht, ne was ja nicht mehr 

396
00:22:26,240 --> 00:22:29,080
heißt, dass du sagst, OK, man 
muss irgendwie, man braucht sich

397
00:22:29,080 --> 00:22:31,120
jetzt nicht mehr darum kümmern, 
dass man sagt, OK, die Tests 

398
00:22:31,120 --> 00:22:33,360
müssen nicht laufen. 
Würde ich jetzt ne. 

399
00:22:33,360 --> 00:22:37,600
Also das das ist ja trotzdem. 
Also du hast ja so als Beispiel,

400
00:22:37,600 --> 00:22:41,760
du hast dein Repository in in 
github zum Beispiel und Du nutzt

401
00:22:41,760 --> 00:22:44,280
vielleicht github actions um mal
so ein konkretes Beispiel zu 

402
00:22:44,280 --> 00:22:48,200
nehmen, dann hast du ja trotzdem
auf einem auf einem Push ne der 

403
00:22:48,200 --> 00:22:51,520
irgendwie stattfindet auf dein 
Repository irgendeine Action die

404
00:22:51,520 --> 00:22:54,920
Losläuft, also zum Beispiel 
sowas wie natürlich muss erstmal

405
00:22:54,920 --> 00:22:57,600
gecheckt werden, dass die Tests 
laufen, damit die Tests laufen, 

406
00:22:57,600 --> 00:22:59,800
muss man vielleicht auch noch 
irgendwelche Abhängigkeiten 

407
00:22:59,800 --> 00:23:03,120
installieren, so. 
Und wenn das aber in Ordnung 

408
00:23:03,120 --> 00:23:04,480
ist, dann wird mehr oder 
weniger. 

409
00:23:04,480 --> 00:23:06,640
Ich nenn es jetzt mal dieses 
Artefakt bereitgestellt und 

410
00:23:06,640 --> 00:23:10,280
gesagt, OK, wir sind jetzt erst 
mal soweit fertig und wären 

411
00:23:10,280 --> 00:23:16,160
bereit ne etwas, also wir können
etwas anbieten, aber wir pushen 

412
00:23:16,160 --> 00:23:20,960
es nicht auf die auf die 
Deployment Umgebung, das ist 

413
00:23:20,960 --> 00:23:25,600
nicht mehr sozusagen der Sinn, 
sondern es kommt ja dieser Pull,

414
00:23:25,600 --> 00:23:29,720
also dieses die Deployment 
Umgebung checkt dann warte da 

415
00:23:29,720 --> 00:23:32,320
ist was Neues. 
Das hole ich mir mal selber. 

416
00:23:33,760 --> 00:23:36,880
Genau. 
Und das ganze ja, weil ich, und 

417
00:23:36,880 --> 00:23:42,680
das finde ich halt so cool, an 
dem Ansatz jetzt sage Git meine 

418
00:23:42,680 --> 00:23:47,760
Versionierung ist die absolute 
Single Source of Truth, was in 

419
00:23:47,760 --> 00:23:52,760
Git steht in den Comits das 
zählt, und du hast ja jetzt 

420
00:23:52,760 --> 00:23:55,320
schon quasi angefangen, so n 
bisschen zu beschreiben, wie das

421
00:23:55,320 --> 00:24:00,240
Ganze unter githops githops 
aussieht ja nicht mehr. 

422
00:24:01,200 --> 00:24:04,960
Ich mach ne Continuous 
Integration und ja ist fertig. 

423
00:24:04,960 --> 00:24:07,560
Na gut, dann ich will das jetzt 
auch verwenden, also Push ist 

424
00:24:07,560 --> 00:24:11,680
hoch ne dass ich so aktiv 
treibe, sondern es ist jetzt 

425
00:24:11,680 --> 00:24:14,240
wirklich ne Integration, das 
heißt wenn wir jetzt zum 

426
00:24:14,240 --> 00:24:17,840
Beispiel über Github sind und 
github actions nutzen, ich lass 

427
00:24:17,840 --> 00:24:21,200
meine Tests laufen, alles ist 
grün, alles ist super, die 

428
00:24:21,200 --> 00:24:24,400
Codeänderung beispielsweise auf 
dem Pull Request sehen gut aus, 

429
00:24:24,560 --> 00:24:28,240
es läuft alles grün, ja dann 
integriere ich das, das heißt. 

430
00:24:28,920 --> 00:24:32,720
Ich integriere es in meine 
codebasis, ich baue meine 

431
00:24:32,720 --> 00:24:34,560
Software, zum Beispiel unsere 
Website. 

432
00:24:34,560 --> 00:24:39,280
Ja, baue ich neu, das läuft auch
durch und dann habe ich mein 

433
00:24:39,280 --> 00:24:43,480
Artefakt erzeugt, dass ich sage,
es gibt eine neue Version meiner

434
00:24:43,480 --> 00:24:49,680
Website beispielsweise, und das 
ist ja Continuous Integration, 

435
00:24:49,920 --> 00:24:53,600
so wie man sich das vorstellt, 
ja, aber an der Stelle ist das 

436
00:24:53,600 --> 00:24:57,600
von der Seite aus beendet. 
Ja, also ich habe n Artefakt 

437
00:24:57,600 --> 00:25:01,480
erzeugt und ich kann eine neue 
Auslieferung bereitstellen, aber

438
00:25:01,480 --> 00:25:04,400
ich drück sie nicht gleich 
irgendwo hin und weiß nicht mehr

439
00:25:04,400 --> 00:25:07,800
wo überhaupt noch irgendwo was 
liegt, sondern jetzt kommt 

440
00:25:07,800 --> 00:25:10,680
nämlich der Unterschied warum 
man sagt Git ist jetzt die 

441
00:25:10,680 --> 00:25:16,000
Single Source of Truth. 
Bei Git Ops habe ich noch eine 

442
00:25:16,000 --> 00:25:21,840
weitere Instanz, beispielsweise 
ein Infrastructure Repository. 

443
00:25:22,880 --> 00:25:28,000
Was macht das Ganze? 
Das Ganze sorgt dafür, dass ich 

444
00:25:28,800 --> 00:25:34,480
diese Deployment Strategie ja, 
also im Prinzip die 

445
00:25:34,480 --> 00:25:38,800
Konfiguration meines Deployments
ebenfalls versioniere. 

446
00:25:39,200 --> 00:25:42,400
Das heißt, ich hab jetzt 
beispielsweise n ein n einzelnes

447
00:25:42,400 --> 00:25:46,240
Repository, wo jetzt drin steht,
da gibt es ja verschiedene 

448
00:25:46,240 --> 00:25:48,200
Möglichkeiten und Tools, die das
unterstützen. 

449
00:25:48,200 --> 00:25:51,480
Wir sind jetzt wirklich nur auf 
der Theorie modellebene ne, also

450
00:25:51,480 --> 00:25:53,920
es gibt ja unterschiedliche 
Tools das umzusetzen. 

451
00:25:55,360 --> 00:26:01,360
Aber da definiere ich jetzt zum 
Beispiel Deklarativ. 

452
00:26:01,360 --> 00:26:06,960
Ja, es gibt eine Website und ich
wünsche mir, dass sie so und so 

453
00:26:07,120 --> 00:26:12,240
deployed wird, dass sie darunter
erreichbar ist, dass sie das und

454
00:26:12,240 --> 00:26:14,080
das Macht. 
Alles, was ich mir so vorstelle 

455
00:26:14,080 --> 00:26:17,920
und mir von meiner Website 
wünsche, und ich wünsche mir, 

456
00:26:17,920 --> 00:26:22,320
dass es in der Version xy ist 
so. 

457
00:26:22,840 --> 00:26:24,640
Und das ist nämlich der 
entscheidende Punkt. 

458
00:26:25,360 --> 00:26:29,680
Darüber wird definiert, welche 
Version erwarte ich denn 

459
00:26:29,680 --> 00:26:34,960
überhaupt in zum Beispiel 
productive wie du meintest das 

460
00:26:34,960 --> 00:26:37,120
überhaupt erstmalig versioniert 
ist? 

461
00:26:37,120 --> 00:26:42,200
Was soll denn überhaupt live 
laufen, weil bei dem anderen sag

462
00:26:42,200 --> 00:26:45,440
ich mal feiern forget ich push, 
das wird klappen, ja hat 

463
00:26:45,440 --> 00:26:47,280
geklappt, gut, da läuft jetzt ne
Version. 

464
00:26:48,760 --> 00:26:50,720
Aber ich kann das nicht 
reproduzieren, und das ist genau

465
00:26:50,720 --> 00:26:53,600
der entscheidende Step, in dem 
ich jetzt sage, wir packen das 

466
00:26:53,600 --> 00:26:56,800
in ein Repository, ich kann es 
reproduzieren, ich kann 

467
00:26:56,800 --> 00:27:00,080
jederzeit sämtliche 
Konfigurationen davon ja auch 

468
00:27:00,080 --> 00:27:03,360
wiederherstellen und zeigen, 
dann lief die Version hier und 

469
00:27:03,360 --> 00:27:06,320
so weiter und das sind halt 
noch, das wird noch sehr wichtig

470
00:27:06,320 --> 00:27:09,120
für die guten Eigenschaften, die
Git, ob es dadurch ja mit sich 

471
00:27:09,120 --> 00:27:13,520
bringt, ja, also. 
Ich habe jetzt ein Repository, 

472
00:27:13,520 --> 00:27:16,960
was mir den deklarativen Zustand
beschreibt, wie es ist. 

473
00:27:17,120 --> 00:27:20,400
Das heißt, ich muss ja jetzt nur
noch nachschauen, welcher 

474
00:27:20,400 --> 00:27:25,360
Zustand ist gewünscht und ziehe 
mir sozusagen die Version, die 

475
00:27:25,360 --> 00:27:28,000
ich ja mit Continuous 
Integration immer bereitstelle. 

476
00:27:28,400 --> 00:27:31,200
Mhm. 
Die gewünschte Version und lass 

477
00:27:31,200 --> 00:27:34,080
die in Prot. 
Laufen beispielsweise. 

478
00:27:34,080 --> 00:27:36,960
Ja, also ich find es erstmal 
ganz gut, weil ich. 

479
00:27:37,000 --> 00:27:39,360
Als ich das erst mal git ops 
gehört hab, ne, da denkst du 

480
00:27:39,360 --> 00:27:42,000
erst mal OK was das ist wieder 
für n Quatsch ne also irgendwie 

481
00:27:42,080 --> 00:27:46,400
git ops klingt wie def ops was 
wieso git ops ne und ich finde 

482
00:27:46,400 --> 00:27:50,520
es ist ja auf jeden Fall gut um 
das noch mal konkret also 

483
00:27:50,520 --> 00:27:52,160
wirklich auf den Punkt zu 
bringen, du hattest es auch 

484
00:27:52,160 --> 00:27:56,320
schon gesagt, Git Ops ist nicht 
def Ops mit git so nach dem 

485
00:27:56,320 --> 00:27:58,840
Motto Ja wir machen jetzt def 
Ops und nutzen dafür git sondern

486
00:27:58,840 --> 00:28:01,040
es geht ja darum, dass du 
wirklich diese Single Source of 

487
00:28:01,040 --> 00:28:03,280
Truth wie du meintest in Git 
hast. 

488
00:28:04,560 --> 00:28:08,160
Und das was du meinst, es ist 
halt mit dieser Versionierung 

489
00:28:08,160 --> 00:28:11,040
zum Beispiel, es ist ja n 
totaler Vorteil, weil du genau 

490
00:28:11,040 --> 00:28:14,640
diese Versionierung auch 
wirklich mehr oder weniger als 

491
00:28:14,640 --> 00:28:18,160
commit irgendwo in deinem 
Infrastructure repo dann hast. 

492
00:28:18,160 --> 00:28:21,720
Du weißt ja genau, diese Version
wurde erzeugt und du kannst 

493
00:28:21,720 --> 00:28:24,880
nachverfolgen aus welchem Commit
diese Version kommt. 

494
00:28:25,440 --> 00:28:28,840
Ne, also du kannst mehr oder 
weniger sagen, diese Änderungen 

495
00:28:28,840 --> 00:28:31,760
sorgen für diese Version und 
Sorgen für dieses Deployment. 

496
00:28:32,080 --> 00:28:37,600
Und das ist ja totaler Vorteil, 
den du unter Umständen in diesem

497
00:28:38,000 --> 00:28:40,520
ne CI, ob sie das genannt haben 
ja nicht unbedingt hast. 

498
00:28:40,520 --> 00:28:44,320
Also du weißt nicht, OK, du 
musst ja immer gucken welcher 

499
00:28:44,320 --> 00:28:47,840
Pipeline run ist das, welche 
Änderungen wurden da gemacht, in

500
00:28:47,840 --> 00:28:50,600
welchem Environment und so 
weiter also da es kann da auf 

501
00:28:50,600 --> 00:28:52,760
jeden Fall zu n bisschen 
kuddelmuddel kommen und das ist 

502
00:28:52,760 --> 00:28:54,640
natürlich absolut klar definiert
dabei. 

503
00:28:55,280 --> 00:28:59,040
Und weil du ja gemeint hast so 
das die guten Eigenschaften ja 

504
00:28:59,040 --> 00:29:01,200
ich find wir können ja gleich, 
wir können ja direkt mal n 

505
00:29:01,200 --> 00:29:03,840
bisschen diese guten 
Eigenschaften mal so auf so 

506
00:29:03,840 --> 00:29:07,760
präsentieren, weil und ich finde
das ist NN unglaublich 

507
00:29:08,960 --> 00:29:13,600
spannender Punkt, auch diese der
der Sicherheitsfaktor ne wenn du

508
00:29:13,600 --> 00:29:18,720
zum Beispiel sagst du hast 
irgendwie in der CI Pipeline, 

509
00:29:18,720 --> 00:29:21,240
die braucht die. 
Also deine sagen wir mal. 

510
00:29:21,240 --> 00:29:24,400
Nennen wir es mal CI Umgebung ne
deine CI Umgebung braucht alle. 

511
00:29:24,800 --> 00:29:30,160
Credentials ne um halt eben n 
Deployment zu machen und 

512
00:29:30,720 --> 00:29:33,920
angenommen ja, wir würden jetzt 
mal das Gedankenexperiment 

513
00:29:34,400 --> 00:29:38,400
durchspielen und sagen, 
irgendein Angreifer schafft es 

514
00:29:38,400 --> 00:29:42,040
deine CI Umgebung zu 
kompromittieren, dann hat er die

515
00:29:42,040 --> 00:29:47,360
komplette Kontrolle darüber neue
Dinge zu deployen, auch Mhm. 

516
00:29:48,160 --> 00:29:50,640
Was, wohlgemerkt. 
Wir hatten ne Big Fails Folge 

517
00:29:50,640 --> 00:29:54,480
dazu ja auch schon passiert. 
Ist sowas ne, dass Angreifer 

518
00:29:54,480 --> 00:29:59,040
genau das geschafft haben, 
wirklich in die Def Ops Welt 

519
00:29:59,040 --> 00:30:01,560
einzudringen und so 
Schadsoftware zu verbreiten? 

520
00:30:01,560 --> 00:30:04,800
Also deswegen ist das n riesen 
Punkt den du da nennst ne genau 

521
00:30:05,120 --> 00:30:07,760
und das ist. 
Ja, zum Beispiel tatsächlich 

522
00:30:07,760 --> 00:30:11,120
nicht unbedingt der Fall, wenn 
du nach diesem Git Ops Prinzip 

523
00:30:11,120 --> 00:30:14,560
arbeitest, weil selbst wenn du 
die CI. 

524
00:30:15,680 --> 00:30:18,760
Kompromittieren kannst, heißt 
das ja noch lange nicht, dass du

525
00:30:18,760 --> 00:30:22,880
sozusagen die auch wirklich die 
Deployment Umgebung 

526
00:30:22,880 --> 00:30:25,480
kompromittieren kannst 
beziehungsweise richtig, die 

527
00:30:25,480 --> 00:30:29,920
sind ja getrennt und solange das
Deployment, solange man das 

528
00:30:29,920 --> 00:30:32,560
Deployment da, also die 
Deployment Umgebung getrennt 

529
00:30:32,560 --> 00:30:36,880
hat, davon die sich ja selbst 
die sehr selbst entscheidet nach

530
00:30:36,880 --> 00:30:39,600
gewissen regeln, OK was hole ich
mir hier eigentlich ne? 

531
00:30:42,400 --> 00:30:45,240
Dann hast du sozusagen. 2 
Systeme und wenn du das eine 

532
00:30:45,240 --> 00:30:47,840
hast, hast du das andere nicht 
zwangsläufig. 

533
00:30:48,240 --> 00:30:51,440
Ne, das heißt du kannst nicht 
einfach irgendwas direkt 

534
00:30:51,440 --> 00:30:54,720
deployen, ja. 
Also. 

535
00:30:55,120 --> 00:30:58,720
Das ist halt wirklich n riesen 
riesen Punkt ne, dass ich halt 

536
00:30:58,720 --> 00:31:01,920
in der Lage bin dadurch dass ich
den. 

537
00:31:02,720 --> 00:31:08,160
Das Deployment quasi extrahiert 
habe und eigenständig verwalte, 

538
00:31:08,400 --> 00:31:10,880
kann ich natürlich jederzeit 
auch sagen. 

539
00:31:10,880 --> 00:31:14,640
Ich gehe auf einen alten Zustand
zurück, der absolut definiert 

540
00:31:14,640 --> 00:31:18,800
ist und reproduzierbar ist an 
der Stelle, weil es halt auch in

541
00:31:18,800 --> 00:31:22,040
Git versioniert ist. 
Das heißt wie du meintest, die 

542
00:31:22,040 --> 00:31:26,880
können ja gerne den CI Server, 
sage ich mal ganz simpel 

543
00:31:26,880 --> 00:31:30,080
ausgedrückt hacken und irgendwie
Versionen erstellen, die. 

544
00:31:30,560 --> 00:31:33,640
Die Schadsoftware beinhalten, 
aber dann sind das nur 

545
00:31:33,640 --> 00:31:38,240
Artefakte, die abholbereit sind,
aber niemand muss sie abholen, 

546
00:31:38,240 --> 00:31:41,040
weil sie sich nicht selbst 
ausliefern sozusagen. 

547
00:31:41,280 --> 00:31:44,960
Das ist der Unterschied, ob der 
Postbote dir den Brief unter der

548
00:31:44,960 --> 00:31:48,160
Haustür durchschiebt oder im 
Briefkasten legt und ich selbst 

549
00:31:48,160 --> 00:31:50,960
noch entscheide, ob ich den aus 
dem Briefkasten rausnehme, ja. 

550
00:31:51,360 --> 00:31:54,320
Also und ich finde, dass das ist
halt wirklich n riesen Punkt 

551
00:31:54,320 --> 00:31:57,360
auch aus Security Sicht. 
Wenn du mal keine 

552
00:31:57,360 --> 00:31:59,280
Rechnungssätze. 
Hattest und das ansprichst super

553
00:31:59,280 --> 00:32:03,040
Möglichkeit ne einfach nicht den
Brief aufmachen, ja. 

554
00:32:04,080 --> 00:32:11,800
Ja oder so genau, weil es gibt. 
Natürlich dann unterschiedliche 

555
00:32:11,800 --> 00:32:15,040
Strategien, beispielsweise ich 
hab n Pull recurse ne neue 

556
00:32:15,200 --> 00:32:17,840
Änderung kommt rein, ne neue 
Version wird gebaut, dann kann 

557
00:32:17,840 --> 00:32:22,960
ich natürlich auch sagen. 
Das automatisiert, und das sind 

558
00:32:22,960 --> 00:32:27,040
so typische Kontrollmechanismen,
die so Tools mit sich bringen, 

559
00:32:27,040 --> 00:32:29,440
die dann halt quasi so n 
Operator haben, der ständig auf 

560
00:32:29,440 --> 00:32:33,520
Changes guckt. 
Ja der dann mitkriegt ey es gibt

561
00:32:33,520 --> 00:32:35,120
ne neue Version. 
Ja also. 

562
00:32:35,760 --> 00:32:39,920
CI ist gelaufen, Änderungen 
wurden integriert, alles Grün 

563
00:32:40,000 --> 00:32:43,200
gebaut, Artefakt abgelegt und 
ich krieg das mit, weil ich halt

564
00:32:43,200 --> 00:32:48,000
n kontrollmechanismus hab, der 
quasi ständig den ist und den 

565
00:32:48,000 --> 00:32:51,440
soll Zustand vergleicht. 
Ja also an der Stelle soll 

566
00:32:51,440 --> 00:32:55,640
Zustand ist das was in meinem 
Repository steht ja also es gibt

567
00:32:55,640 --> 00:32:59,840
jetzt zum Beispiel auf meinem 
Infrastruktur Infrastructure 

568
00:32:59,920 --> 00:33:04,640
Repository 9 commit ja. 
Das erkenne ich. 

569
00:33:04,640 --> 00:33:08,000
Das heißt, es gibt neuen soll 
Zustand an der Stelle, den ich 

570
00:33:08,000 --> 00:33:10,960
analysiere was? 
Ist mein ist Zustand. 

571
00:33:11,040 --> 00:33:12,960
Ist der Zustand in meinem 
Cluster? 

572
00:33:12,960 --> 00:33:15,120
Was läuft prod? 
Was läuft auf der Teststage? 

573
00:33:15,360 --> 00:33:18,240
Wie auch immer das aussieht, 
aber ich habe ja quasi immer den

574
00:33:18,240 --> 00:33:21,600
Abgleich zwischen mein 
Repository und dem was ich 

575
00:33:21,600 --> 00:33:26,080
gerade aktiv laufen habe und 
verwalte und da dieser 

576
00:33:26,080 --> 00:33:29,360
Kontrollmechanismus gleicht, das
dann zum Beispiel ständig ab und

577
00:33:29,360 --> 00:33:32,000
dann kannst du natürlich sagen, 
ja, zieh dir das automatisch, 

578
00:33:32,000 --> 00:33:34,400
lass es laufen. 
Aber dann kommt der nächste 

579
00:33:34,400 --> 00:33:36,560
super wichtige Punkt an der 
Stelle. 

580
00:33:37,120 --> 00:33:41,760
Ich hab n has check, ich kann 
einfach prüfen, ist zum Beispiel

581
00:33:42,080 --> 00:33:45,120
der Container den ich hochfahr 
für unsere Website jetzt 

582
00:33:45,120 --> 00:33:47,840
beispielsweise wie wir es 
hatten, ist der überhaupt 

583
00:33:47,840 --> 00:33:50,560
gesund, läuft der, hat der 
irgendwelche Fehler? 

584
00:33:51,200 --> 00:33:55,360
Ja, bei dem alten pushst du das 
hoch das Ding schmiert ab zack 

585
00:33:55,360 --> 00:33:58,160
seid ihr nicht erreichbar. 
Kriegst du mit oder kriegst du 

586
00:33:58,160 --> 00:34:00,560
nicht mit? 
Das ist denn dein Problem, mehr 

587
00:34:00,560 --> 00:34:03,600
passiert da erstmal nicht. 
Jetzt haben wir den Zustand 

588
00:34:04,240 --> 00:34:07,800
Monitoring ey warte mal das das 
läuft nicht, ich kann das nicht 

589
00:34:07,800 --> 00:34:11,520
hochfahren das Ding hier und der
die der alte Container die alte 

590
00:34:11,520 --> 00:34:14,000
Version ist ja noch da, ist ja 
nicht so dass die Weg ist ja, 

591
00:34:14,159 --> 00:34:17,520
sondern es wird halt aktiv 
gemonitort ey das läuft nicht ja

592
00:34:17,520 --> 00:34:20,280
gut dann machen wir n royback 
oder oder selbst wenn es 

593
00:34:20,280 --> 00:34:22,239
hochfährt und wir sehen ey nee 
warte mal die Änderung war 

594
00:34:22,239 --> 00:34:24,639
richtig Käse jetzt haben wir 
richtig bugs drin da was haben 

595
00:34:24,639 --> 00:34:26,920
wir da nur gemacht. 
Ist ja auch die Realität, dass 

596
00:34:26,920 --> 00:34:28,639
sowas passiert. 
Rollback. 

597
00:34:28,639 --> 00:34:31,840
Ich kann ja dadurch, dass es 
versioniert ist, immer wieder 

598
00:34:31,840 --> 00:34:33,920
auf nen definierten Zustand 
zurückgehen. 

599
00:34:34,320 --> 00:34:37,600
Ja das sind Riesen Vorteile die 
an der Stelle sich da ergeben. 

600
00:34:37,600 --> 00:34:40,000
Ja das auf jeden Fall das ohne 
dass ich jetzt in meiner 

601
00:34:40,000 --> 00:34:42,159
Codebase irgendwie 
zurückspringen muss, das darf 

602
00:34:42,159 --> 00:34:45,120
man ja nicht vergessen dabei ja 
meine Entwicklung, meine 

603
00:34:45,120 --> 00:34:49,840
Codebase von meiner Software hat
damit ja gar nichts zu tun, ich 

604
00:34:49,840 --> 00:34:51,080
sag ja. 
Einfach nur ich. 

605
00:34:51,080 --> 00:34:54,239
Guck auf mein Infrastruktur 
repository. 

606
00:34:55,440 --> 00:34:56,719
Und. 
Sag im Endeffekt nee. 

607
00:34:56,719 --> 00:34:57,880
Das hier ist gerade nicht so 
gut. 

608
00:34:57,880 --> 00:35:00,240
Was war denn übrigens die 
Vorgängerversion nachher die und

609
00:35:00,240 --> 00:35:01,520
die? 
Ja gut hier komm hab ich, 

610
00:35:01,920 --> 00:35:05,120
kriegst du ne wissen mal dass 
die läuft wenn du von einer 

611
00:35:05,120 --> 00:35:07,520
klassischen. 
Von von diesem klassischen CI 

612
00:35:07,520 --> 00:35:10,800
Ops oder einer ganz klassischen 
CICD Pipeline ausgehst. 

613
00:35:11,280 --> 00:35:14,720
Dann ne vielleicht. 
Noch mal so n bisschen. 

614
00:35:15,040 --> 00:35:18,160
Noch n Beispiel oder das noch 
mal so darzustellen, wir hatten 

615
00:35:18,160 --> 00:35:20,000
das ja auch schon mal, dass wir 
gesagt haben, wir. 

616
00:35:21,720 --> 00:35:26,480
Pushen etwas also auch in der 
unserer alten cicd Pipeline. 

617
00:35:26,720 --> 00:35:30,560
Da haben wir etwas gepusht und 
am Ende war es einfach, hatten 

618
00:35:30,560 --> 00:35:32,720
wir die Situation, dass die 
Website halt nicht mehr 

619
00:35:32,720 --> 00:35:36,080
verfügbar war, ne, weil es halt 
irgendwie einen Fehler gab so, 

620
00:35:36,240 --> 00:35:40,080
das heißt die Tests sind zwar 
durchgelaufen, ne wie gesagt, 

621
00:35:40,080 --> 00:35:43,280
zwar ist es auch sehr viel 
statischer Content, weshalb auch

622
00:35:43,280 --> 00:35:47,360
quasi gar nicht so viele Tests 
dann funktional drin sind 

623
00:35:48,000 --> 00:35:52,240
demzufolge. 
War es quasi OK so n Check ne 

624
00:35:52,800 --> 00:35:56,720
und es wurde deployed, heißt 
aber noch nicht, dass unbedingt 

625
00:35:56,720 --> 00:35:59,320
auch wirklich immer alles 
abgefangen wird. 

626
00:35:59,320 --> 00:36:03,200
Dadurch so ne kann man natürlich
auch verbessern, ist ja klar ne,

627
00:36:04,000 --> 00:36:06,680
aber du hast halt die Situation,
dass du in der Lage bist 

628
00:36:06,680 --> 00:36:10,400
bestimmt etwas zu deployen, was 
irgendwie nicht ganz hinhaut und

629
00:36:10,400 --> 00:36:13,120
um das zu fixen, wenn wir jetzt 
einmal mal die Situation 

630
00:36:13,120 --> 00:36:16,960
annehmen, dann sagst du, OK, ich
muss mal kurz im Code was 

631
00:36:16,960 --> 00:36:19,040
ändern. 
Pusht das wieder neu? 

632
00:36:19,120 --> 00:36:22,320
Die Pipeline läuft durch, ist 
die Ploid und es funktioniert 

633
00:36:22,320 --> 00:36:26,160
wieder ne, das wäre ja so der 
klassische Weg, so dieser 

634
00:36:26,400 --> 00:36:29,840
typische dieses typische ich 
fixe das ne ein Hotfix was auch 

635
00:36:29,840 --> 00:36:32,520
immer einspielen Zack 
funktioniert wieder geht wieder 

636
00:36:32,520 --> 00:36:35,600
alles gut ne oder wie du auch 
meintest ja du merkst ey diese 

637
00:36:35,600 --> 00:36:38,920
diese das irgendwie haben wir 
was eingebaut was echt blöd ist 

638
00:36:38,920 --> 00:36:42,720
ne. 
Neues Deployment anstatt einfach

639
00:36:42,720 --> 00:36:45,600
nur zu sagen ich habe meine CI, 
also meine Deployment Umgebung 

640
00:36:45,600 --> 00:36:49,040
so nicht CI deployment Umgebung 
und kann einfach n rollback 

641
00:36:49,040 --> 00:36:53,360
machen ganz entspannt ne und das
genau das hatten wir ja auch 

642
00:36:53,360 --> 00:36:57,240
erlebt, auch mit unserer neuen 
Infrastruktur wo wir gesagt 

643
00:36:57,240 --> 00:37:00,960
haben OK Moment warte mal das 
war n anderes Problem Probleme 

644
00:37:00,960 --> 00:37:02,880
kannst du immer irgendwie 
erzeugen das war glaube ich ne 

645
00:37:02,880 --> 00:37:05,120
falsche Docker Version das heißt
am Ende. 

646
00:37:06,160 --> 00:37:09,440
Konnte man sozusagen konnte 
dieser Container nicht 

647
00:37:09,440 --> 00:37:10,880
hochgefahren werden. 
Das heißt, wir haben aber 

648
00:37:10,880 --> 00:37:13,520
gemerkt, OK, irgendwie, der 
Container ist nicht healthy, 

649
00:37:14,080 --> 00:37:16,760
also konnten wir einfach n 
rollback machen und demzufolge 

650
00:37:16,760 --> 00:37:19,520
mussten wir nichts am Code 
ändern, aber konnten uns in Ruhe

651
00:37:19,520 --> 00:37:22,840
angucken, was eigentlich genau 
das Problem ist und konnten also

652
00:37:22,840 --> 00:37:25,560
im Lokal nachstellen und konnten
in Ruhe aber erstmal sagen wir 

653
00:37:25,560 --> 00:37:28,720
gehen noch mal auf die alte 
Version zurück, völliger Vorteil

654
00:37:29,840 --> 00:37:31,760
ja. 
Und was dabei? 

655
00:37:31,760 --> 00:37:34,880
Auch ersichtlich wird ist, dass 
man auch so ein man spricht da 

656
00:37:34,880 --> 00:37:39,280
oft so von so einem 
vollständigen Audit Trail, weil 

657
00:37:39,280 --> 00:37:43,120
das Ganze ist vollständig 
nachvollziehbar am Ende, wenn 

658
00:37:43,120 --> 00:37:46,480
ich nämlich anfange, gerade in 
der alten Welt mit Hotfixes zu 

659
00:37:46,480 --> 00:37:49,360
arbeiten, und ich verfalle im 
Panikmodus, je nachdem, was für 

660
00:37:49,360 --> 00:37:52,800
ein Projekt das ist, so mal Hand
aufs Herz, wenn unsere Website 

661
00:37:52,800 --> 00:37:54,920
mal eine Stunde nicht erreichbar
ist, dann geht die Welt nicht 

662
00:37:54,920 --> 00:37:58,800
unter, ja, aber es gibt 
Projekte, wo das das Ende 

663
00:37:58,800 --> 00:38:01,520
bedeuten kann. 
Oder auf jeden Fall n großen 

664
00:38:01,520 --> 00:38:04,720
großen Schaden. 
Ja, und dann verfällst du in so 

665
00:38:04,720 --> 00:38:07,680
n Panic Mode, weil es ist 
passiert, wir müssen sofort 

666
00:38:07,680 --> 00:38:10,440
wieder live gehen, irgendwas 
muss passieren und in der alten 

667
00:38:10,440 --> 00:38:12,960
Welt sah das halt auch oft so 
aus wie du ja meintest. 

668
00:38:14,240 --> 00:38:16,960
OK warte mal, warte mal, warte 
mal commit noch mal raus, 

669
00:38:16,960 --> 00:38:19,680
zurück, noch mal pushen, los, 
noch mal hochschieben, das Ding 

670
00:38:19,680 --> 00:38:24,560
muss wieder laufen so ne und wo 
ist da die Nachvollziehbarkeit 

671
00:38:24,560 --> 00:38:26,400
hin? 
Wenn du sag ich mal Monate 

672
00:38:26,400 --> 00:38:29,360
später drauf guckst und also 
warte mal ihr habt etwas 

673
00:38:29,360 --> 00:38:31,400
committed. 
Dann habt ihr es. 

674
00:38:31,400 --> 00:38:33,600
So gesehen reverted. 
Habt den Stand davor wieder 

675
00:38:33,600 --> 00:38:38,960
committed, dann habt ihr fix 
committed, dann noch n fix, also

676
00:38:38,960 --> 00:38:43,360
weißt du, also da, da ist ja die
sämtliche, warum passiert etwas 

677
00:38:43,520 --> 00:38:45,920
wenn du das auch ständig in 
deiner Codebase wieder 

678
00:38:45,920 --> 00:38:48,480
zurücksetzt? 
Und so hast du die Möglichkeit, 

679
00:38:48,480 --> 00:38:52,920
dass ja geradliniger, sauberer. 
Zu entwickeln wie du meinst. 

680
00:38:52,920 --> 00:38:54,320
Du kannst es dir in Ruhe 
angucken. 

681
00:38:54,320 --> 00:38:56,840
Du kannst sagen, OK, dieser fix 
ist jetzt drin und der ist 

682
00:38:56,840 --> 00:39:00,080
passiert, sozusagen ne und 
darauf aufbauen, ohne dass du 

683
00:39:00,080 --> 00:39:03,040
irgendwelche Sachen wieder 
wegschmeißt oder so, weil du ja 

684
00:39:03,200 --> 00:39:05,280
diesen Prozess voneinander 
trennst. 

685
00:39:05,520 --> 00:39:08,200
Genauso kannst du auf der 
anderen Seite genauso sehen, ey,

686
00:39:08,200 --> 00:39:11,520
warum geht diese Version nicht? 
Ja, die war halt nicht healthy 

687
00:39:11,520 --> 00:39:13,360
wie du meintest, wir haben es 
zurückgesetzt. 

688
00:39:13,480 --> 00:39:15,880
Ja, hier siehst du der. 
Container kriegt den und. 

689
00:39:15,880 --> 00:39:18,880
Den Fehler wir können diese 
Version nicht hochfahren, fix 1 

690
00:39:18,880 --> 00:39:21,880
fix 2 fix final. 
Ja, kann. 

691
00:39:21,880 --> 00:39:23,040
Man dann. 
Vermeiden. 

692
00:39:23,840 --> 00:39:26,240
Und das das sind halt auch. 
Wirklich wichtige Sachen? 

693
00:39:26,240 --> 00:39:28,880
Ja, die du denn dadurch 
gewinnst? 

694
00:39:28,880 --> 00:39:34,400
Ja, definitiv man. 
Muss ja auch dazu sagen ne 

695
00:39:34,480 --> 00:39:38,160
prinzipiell ne, also auch 
bestimmte Fehler die auftreten, 

696
00:39:38,160 --> 00:39:40,720
die kann man ja auch abfangen, 
ne also zum Beispiel. 

697
00:39:41,440 --> 00:39:43,520
Wie ich meinte, wenn du jetzt 
zum Beispiel sagst, du möchtest 

698
00:39:43,520 --> 00:39:47,640
eine Angular Version deployen, 
ne oder ein eine Angular 

699
00:39:47,640 --> 00:39:50,800
Anwendung ein Angular Frontend 
in einer Version, die dann aber 

700
00:39:50,800 --> 00:39:53,520
zum Beispiel vielleicht weil du 
deine Angular Version updatest 

701
00:39:53,520 --> 00:39:56,360
nicht mehr zu der Note Version 
passt, die du in deinem 

702
00:39:56,360 --> 00:39:59,360
Dockercontainer hast. 
Es ist möglich, es gibt auch, 

703
00:39:59,600 --> 00:40:03,520
ich sag mal Möglichkeiten diese 
Fehler im Vorfeld abzufangen, 

704
00:40:03,520 --> 00:40:06,560
ohne dass es dazu kommt, dass du
sagst ey OK. 

705
00:40:06,920 --> 00:40:08,800
Irgendwie ist mein Container 
nicht healthy. 

706
00:40:08,960 --> 00:40:10,680
Das ist mal eine andere 
Geschichte. 

707
00:40:10,680 --> 00:40:13,680
Das ist natürlich Learning, was 
man daraus ziehen kann, um zu 

708
00:40:13,680 --> 00:40:17,600
sagen okay. 
Man kann das immer noch. 

709
00:40:17,600 --> 00:40:19,960
Verbessern, das finde ich, ist 
auch immer ein wichtiger Punkt, 

710
00:40:19,960 --> 00:40:23,360
dass man sich sagt, du setzt ja 
ein System auf, merkst okay es 

711
00:40:23,360 --> 00:40:28,160
gibt vielleicht Schwachstellen, 
die zu einem möglichen Verhalten

712
00:40:28,160 --> 00:40:32,240
führen, was irgendwie. 
Ich sag mal unschön ist ne und 

713
00:40:32,240 --> 00:40:35,160
wenn du jetzt genau diese 
Reihenfolge gehst und sagst du 

714
00:40:35,160 --> 00:40:39,280
hast ne klassische cicd Pipeline
wie wir sie besprochen haben und

715
00:40:39,280 --> 00:40:42,000
merkst ey irgendwie ist das blöd
weil ich muss jetzt wirklich 

716
00:40:42,000 --> 00:40:45,400
noch mal n fix machen damit das 
erstmal wieder quasi läuft und 

717
00:40:45,400 --> 00:40:47,040
dann kann ich mir das in Ruhe 
angucken. 

718
00:40:47,840 --> 00:40:50,160
Vielleicht passieren aber 
zwischendrin noch andere Dinge, 

719
00:40:50,800 --> 00:40:52,640
weil vielleicht noch jemand 
anders committed hat. 

720
00:40:52,640 --> 00:40:56,240
Ah es wird schwieriger, es wird 
schnell schwieriger ne so also. 

721
00:40:56,720 --> 00:40:59,920
Sagst du, ey, wir stellen um von
einer klassischen CICD Pipeline 

722
00:40:59,920 --> 00:41:02,720
nutzen wir jetzt git Ops, dann 
merkst du zum Beispiel sowas was

723
00:41:02,720 --> 00:41:04,960
ich meinte ne, dass vielleicht 
die Version nicht passen 

724
00:41:04,960 --> 00:41:07,320
Containers anhält, sie die Seite
ist kurzzeitig auch nicht 

725
00:41:07,320 --> 00:41:09,680
erreichbar, also überlegst du 
dir wieder zum Beispiel n 

726
00:41:09,680 --> 00:41:13,480
automatisches Rollback oder ne 
das sind ja die Dinge, weil man 

727
00:41:13,480 --> 00:41:15,840
ja sich immer hinstellen kann 
sagen kann ja, aber man kann ja 

728
00:41:15,840 --> 00:41:18,280
auch ne klar kann man und es 
kann auch immer wieder 

729
00:41:18,280 --> 00:41:21,480
schiefgehen, aber es ist 
natürlich ne noch mal um den so 

730
00:41:21,480 --> 00:41:24,400
n bisschen. 
Sag ich mal den größeren Bogen 

731
00:41:24,400 --> 00:41:26,960
zu spannen. 
Es ist ne schrittweise 

732
00:41:27,280 --> 00:41:30,160
Verbesserung und es ist 
natürlich auch immer die Frage, 

733
00:41:30,160 --> 00:41:31,760
wie du ja auch eingehend 
meintest. 

734
00:41:31,920 --> 00:41:35,360
Passt es denn überhaupt oder ist
es notwendig für das was was wir

735
00:41:35,360 --> 00:41:37,560
bauen? 
Ja, also für für die 

736
00:41:37,560 --> 00:41:40,800
Infrastruktur, die man im 
Endeffekt hat, bei uns war es ja

737
00:41:40,800 --> 00:41:44,360
am Anfang auch so, wir hatten 
eine Website, ja es ist nicht so

738
00:41:44,360 --> 00:41:48,640
schlimm wenn sie mal bisschen 
down ist an sich kein Problem, 

739
00:41:48,880 --> 00:41:51,680
also konnten wir das machen. 
Wir sind ja hauptsächlich auf 

740
00:41:51,680 --> 00:41:56,080
Git Ops umgestiegen oder auf 
dieses Prinzip dieses Betriebs, 

741
00:41:56,080 --> 00:41:59,360
diese Betriebsart, weil wir 
gesagt haben, ey, wir, wir haben

742
00:41:59,360 --> 00:42:02,200
noch mehrere Services, also wir 
haben jetzt nicht nur einfach ne

743
00:42:02,200 --> 00:42:04,640
Website, sondern wir haben zum 
Beispiel noch ne n Backend dazu 

744
00:42:04,640 --> 00:42:08,480
oder was auch immer ne und es 
ist ja nicht nur ein Service, 

745
00:42:08,480 --> 00:42:11,920
nicht nur 2 Services, es sind 
sagen und schreibe 3, Nein. 

746
00:42:14,240 --> 00:42:16,320
Weißt du? 
Du hast mehrere Services, die du

747
00:42:16,320 --> 00:42:18,480
halt im Endeffekt die auch 
zusammenlaufen. 

748
00:42:18,480 --> 00:42:22,320
Du brauchst vielleicht n Cluster
und demzufolge hat es sich ja, 

749
00:42:22,320 --> 00:42:26,400
also das war ja der eigentliche 
Gedanke, ne da überhaupt in die 

750
00:42:26,400 --> 00:42:29,440
Richtung zu gehen das 
umzustellen, weil unsere 

751
00:42:29,440 --> 00:42:32,200
Infrastruktur generell oder 
unsere Anforderungen komplexer 

752
00:42:32,200 --> 00:42:35,760
geworden sind, ne genau. 
Noch mal der Punkt nimm. 

753
00:42:35,760 --> 00:42:38,080
Das was du brauchst für das was 
Sinnvolles. 

754
00:42:38,160 --> 00:42:40,440
Ja, ja, und wenn? 
Du halt auch zu dem Punkt 

755
00:42:40,440 --> 00:42:42,880
kommst, dass du sagst was ist. 
Wenn das hier alles mal 

756
00:42:42,880 --> 00:42:44,520
zusammenbricht, wie schnell 
können wir das Eis wieder 

757
00:42:44,520 --> 00:42:48,240
aufbauen und da bist du halt mit
dem Git Ops Ansatz dadurch dass 

758
00:42:48,240 --> 00:42:51,680
ja alles versioniert ist auch 
sehr schnell, dabei halt ne 

759
00:42:52,000 --> 00:42:56,160
definitiv ja, aber wenn wir 
schon bei der Umsetzung sind, 

760
00:42:56,160 --> 00:42:58,480
ich würd das gern noch mit 
aufnehmen, die heutige Folge 

761
00:42:58,480 --> 00:43:01,840
lass uns auch mal n bisschen 
praxisnah werden. 

762
00:43:03,200 --> 00:43:06,800
Soll jetzt keine Einleitung in 
das Tool selbst werden, aber 

763
00:43:07,040 --> 00:43:10,320
Vollständigkeit halber würde ich
gerne kurz drüber sprechen. 

764
00:43:10,320 --> 00:43:15,760
Und zwar haben wir uns ja für 
ago CD entschieden, auch 

765
00:43:15,920 --> 00:43:19,280
hinsichtlich so Absprachen in 
der Community. 

766
00:43:19,280 --> 00:43:22,480
Ja kennt ihr das ja, aber noch 
nicht verwendet, ja guckt euch 

767
00:43:22,480 --> 00:43:26,080
das mal an, das ist wirklich 
cool, haben wir gemacht uns und 

768
00:43:26,160 --> 00:43:28,840
sag ich mal auch dafür 
entschieden das zu verwenden, 

769
00:43:28,840 --> 00:43:31,840
weil es auch wirklich ein cooles
Tool ist was im Prinzip. 

770
00:43:34,240 --> 00:43:37,200
Hilft Git Ops umzusetzen? 
Ne, weil es halt auch diesen 

771
00:43:37,200 --> 00:43:42,480
deklarativen, deklarativen 
Ansatz schwieriges Wort verfolgt

772
00:43:42,480 --> 00:43:45,120
und das ganze Halt mit 
beispielsweise kybernet es dann 

773
00:43:45,120 --> 00:43:48,000
halt sich geil alles verbinden 
lässt, um diese ganze 

774
00:43:48,000 --> 00:43:52,720
Infrastruktur aufzubauen. 
Ne es ist so gesehen eine Git 

775
00:43:52,720 --> 00:43:56,160
Ops Engine ja also es ermöglicht
dir halt diese Prinzipien 

776
00:43:56,160 --> 00:43:59,320
umzusetzen. 
Das heißt, es kann sich mit Git 

777
00:43:59,320 --> 00:44:02,080
verbinden, es kann deine 
Konfigurationsänderungen 

778
00:44:02,080 --> 00:44:06,240
überwachen, es macht halt diesen
soll ist Zustandsvergleich 

779
00:44:06,400 --> 00:44:09,600
diesen Kontrollmechanismus, den 
wir angesprochen hatten, es 

780
00:44:09,600 --> 00:44:12,400
synchronisiert auch automatisch,
wenn du es möchtest. 

781
00:44:12,720 --> 00:44:15,600
Und was ich halt auch richtig 
cool finde ist, dass du 

782
00:44:15,600 --> 00:44:18,480
natürlich auch einfach eine UI 
hast, auf die du dich einloggen 

783
00:44:18,480 --> 00:44:21,280
kannst, wenn du quasi agocity 
eingerichtet hast, dann. 

784
00:44:21,440 --> 00:44:24,640
Um einfach auch zu sehen, wie 
sieht denn mein Cluster aus, 

785
00:44:24,640 --> 00:44:27,600
laufen die Container, wie lange 
laufen sie, sind sie überhaupt 

786
00:44:27,600 --> 00:44:30,640
gesund? 
Ja, also healthy oder seh ich 

787
00:44:30,640 --> 00:44:32,760
zum Beispiel, dass irgendwas 
abgeschmiert ist und kann 

788
00:44:32,760 --> 00:44:36,520
einfach noch mal royback 
triggern sozusagen, und das ist 

789
00:44:36,520 --> 00:44:41,040
halt das coole, wenn irgendwas 
passiert und ausfällt wie bei 

790
00:44:41,040 --> 00:44:45,600
uns, dann geh ich darauf royback
fertig und dann ist erstmal Ruhe

791
00:44:45,600 --> 00:44:47,640
wieder so ne dann bin ich 
erstmal wieder an einem Punkt wo

792
00:44:47,640 --> 00:44:50,640
ich mal durchatmen kann und 
sagen kann. 

793
00:44:51,040 --> 00:44:54,600
OK, was haben wir hier gerade 
verkackt, oder? 

794
00:44:54,640 --> 00:44:57,120
Das muss ich sagen. 
Mag ich sehr und es war auch 

795
00:44:57,120 --> 00:45:00,400
sehr cool, das Ganze damit 
umzusetzen. 

796
00:45:00,400 --> 00:45:04,480
Es war auch sehr lehrreich, wie 
gesagt, es war n umdenken, aber 

797
00:45:04,480 --> 00:45:07,280
ich will es auch nicht mehr 
missen und an der Stelle, liebe 

798
00:45:07,280 --> 00:45:09,920
Zuhörerinnen, liebe Zuhörer, 
wenn du sagst so Boah klingt 

799
00:45:09,920 --> 00:45:13,680
geil mit Argo CD könnt ihr nicht
mal mehr dazu machen ne Folge 

800
00:45:13,680 --> 00:45:16,880
oder auch anderen Content, dann 
meld dich gerne bei uns, lass es

801
00:45:16,880 --> 00:45:20,000
uns gerne wissen dann. 
Machen wir das natürlich sehr 

802
00:45:20,000 --> 00:45:22,720
gerne und teilen da noch mehr 
unsere Erfahrung zu. 

803
00:45:22,720 --> 00:45:26,160
Auf jeden Fall da bleibt. 
Mir nicht viel zu sagen, Tino, 

804
00:45:27,360 --> 00:45:32,520
sehr gut. 
Genau also welche Vorteile? 

805
00:45:32,520 --> 00:45:37,840
Also ich würd gern, lass uns mal
abschließend noch mal vor und 

806
00:45:37,840 --> 00:45:40,720
Nachteile so als Take Home 
Message zusammenfassen, weil 

807
00:45:41,280 --> 00:45:46,560
viel gesagt viele Punkte genannt
ist aber auch kein. 

808
00:45:47,520 --> 00:45:48,800
Einfaches. 
Thema sag. 

809
00:45:48,800 --> 00:45:54,480
Ich mal ne, was würdest du sagen
aus unserer Erfahrung und auch 

810
00:45:54,480 --> 00:45:57,040
aus der Theorie heraus? 
Das sind natürlich immer so 2 

811
00:45:57,040 --> 00:46:00,240
Paar Schuhe, ne in auf der 
Theorie klingt vieles gut, aber 

812
00:46:00,240 --> 00:46:02,640
wie sieht es dann in der Praxis 
am Ende aus? 

813
00:46:03,520 --> 00:46:04,960
Kannst. 
Du so vor. 

814
00:46:04,960 --> 00:46:09,200
Und Nachteile nennen bei. 
Git Ops bei dieser. 

815
00:46:09,200 --> 00:46:11,440
Bei diesem Modell, bei dieser 
Strategie dahinter. 

816
00:46:12,880 --> 00:46:15,920
Also Vorteil. 
Ja, du hast auf jeden Fall wie 

817
00:46:15,920 --> 00:46:19,960
gesagt diese diese Entkopplung, 
diesen, diesen Sicherheitsaspekt

818
00:46:19,960 --> 00:46:22,360
auf jeden Fall. 
Auch diese Entkopplung von, ich 

819
00:46:22,360 --> 00:46:26,800
sag mal CI und CD möchte ich es 
jetzt mal so n bisschen nennen, 

820
00:46:26,800 --> 00:46:29,240
einfach aus dem Grund, dass du 
zum Beispiel halt eben nicht 

821
00:46:29,240 --> 00:46:32,960
mehr aus deiner CI Umgebung 
sagst. 

822
00:46:32,960 --> 00:46:39,080
OK, ich pushe jetzt zum Beispiel
weiß nicht, also du, du kannst 

823
00:46:39,080 --> 00:46:40,880
ja zum Beispiel wenn du 
kybernetes hast oder so. 

824
00:46:41,280 --> 00:46:44,240
Als Umgebung, dass du dann nicht
sagst, OK, applye mir jetzt 

825
00:46:44,320 --> 00:46:48,120
meine neue Protjammel oder so 
nach dem Motto ne, dass du das 

826
00:46:48,120 --> 00:46:51,120
halt nicht machen kannst. 
Es ist n Sicherheitsaspekt auf 

827
00:46:51,120 --> 00:46:55,200
der einen Seite und auf der 
anderen Seite hatten wir auch 

828
00:46:55,200 --> 00:46:57,240
gesagt, dass das natürlich ne 
deutlich bessere 

829
00:46:57,240 --> 00:46:59,040
Nachvollziehbarkeit mit sich 
bringt. 

830
00:46:59,040 --> 00:47:02,960
Ne, dass du proco mit auch genau
weißt was da los ist und sich 

831
00:47:02,960 --> 00:47:07,280
dann am Ende die Deployment 
Umgebung sozusagen das holt. 

832
00:47:07,280 --> 00:47:10,000
Also du hast sozusagen diesen 
Pull und nicht diesen Push, ne? 

833
00:47:11,200 --> 00:47:17,840
Wie gesagt, Nachvollziehbarkeit,
Sicherheitsaspekt, aber auch die

834
00:47:17,840 --> 00:47:21,840
Möglichkeit, dass du zum 
Beispiel eine bessere Kontrolle 

835
00:47:21,840 --> 00:47:25,360
über dein Cluster hast. 
Im Normalfall diese Single 

836
00:47:25,360 --> 00:47:30,240
Source of Truth in Git drin hast
und nicht die Möglichkeit oder 

837
00:47:30,240 --> 00:47:32,680
weniger die Möglichkeit hast, 
irgendwelche manuellen 

838
00:47:32,680 --> 00:47:36,400
Änderungen zu machen, die dann 
irgendeinen Drift erzeugen, weil

839
00:47:36,400 --> 00:47:38,400
selbst wenn du das machen 
würdest. 

840
00:47:38,960 --> 00:47:42,000
Wäre es ja so, dass sich 
trotzdem dann als Nächstes in 

841
00:47:42,000 --> 00:47:45,320
beim bei der nächsten Änderung 
einfach die Deployment Umgebung 

842
00:47:45,320 --> 00:47:50,000
sich wieder das Holt was da ist.
So, das heißt du Überbügelst den

843
00:47:50,000 --> 00:47:52,760
Drift am Ende wenn du ihn nicht 
sogar einfach konfigurierst, 

844
00:47:52,760 --> 00:47:54,640
dass gemeldet wird, dass 
irgendwas passiert ist oder so 

845
00:47:54,640 --> 00:47:59,440
ne, aber das sind auf jeden Fall
definitiv Vorteile, die wir auch

846
00:47:59,440 --> 00:48:00,880
genannt haben. 
Aber noch mal kurz 

847
00:48:01,040 --> 00:48:03,560
zusammenzufassen, auch die 
Rollbacks, wie gesagt es ist 

848
00:48:03,560 --> 00:48:05,680
einfach viel viel einfacher und 
wie gesagt, die 

849
00:48:05,680 --> 00:48:08,080
Reproduzierbarkeit ist für mich 
halt ein Riesenvorteil, gerade 

850
00:48:08,080 --> 00:48:10,160
wenn man so in der Klasse. 
Clusterwelt unterwegs ist und 

851
00:48:10,160 --> 00:48:13,320
sagt, Ich möchte mehrere Cluster
haben, dann kann ich halt mit 

852
00:48:13,320 --> 00:48:15,840
dieser Strategie einfach mehrere
Cluster hochfahren. 

853
00:48:17,280 --> 00:48:21,680
Nachteile ist natürlich wie 
gesagt die Komplexität, du 

854
00:48:22,720 --> 00:48:23,960
brauchst. 
Halt einfach. 

855
00:48:23,960 --> 00:48:28,000
Einen schon einen Repo für die 
Infrastruktur, also da, wo 

856
00:48:28,000 --> 00:48:31,440
sozusagen alles drin steht, wo 
die Versionen sozusagen auch 

857
00:48:31,440 --> 00:48:33,840
hochgezählt werden für einen 
Commit und so weiter 

858
00:48:34,160 --> 00:48:38,800
beziehungsweise für Changes. 
Dieses diesen Ovide hast du halt

859
00:48:38,800 --> 00:48:42,800
einfach, der ist mit dabei, ne 
und da das muss man sich halt 

860
00:48:42,800 --> 00:48:45,760
auch vor Augen halten und es ist
natürlich auch irgendwo n 

861
00:48:45,760 --> 00:48:50,240
weiteres Repository was man 
irgendwie pflegen muss und das 

862
00:48:50,320 --> 00:48:53,280
Bedarf halt eben auch irgendwie 
ne gewisse Art von Lernkurve, ne

863
00:48:53,280 --> 00:48:55,440
um das zu handeln ja absolut 
absolut. 

864
00:48:56,080 --> 00:49:01,120
Allein das Umdenken ne. 
Also diesen Change in der 

865
00:49:01,120 --> 00:49:04,760
Denkweise im Ansatz. 
War auf jeden Fall, das kann man

866
00:49:04,760 --> 00:49:06,280
auch jeweils Lernkurve 
bezeichnen. 

867
00:49:06,280 --> 00:49:10,560
Ne, du hast ja auch einfach so n
Multi Environment Ansatz der 

868
00:49:10,560 --> 00:49:12,040
auch unübersichtlich werden 
kann. 

869
00:49:12,040 --> 00:49:14,720
Ne das finde ich es halt auch n 
Nachteil du brauchst halt ne 

870
00:49:14,720 --> 00:49:18,280
gute repostruktur du musst n 
Gutes Secret Management haben 

871
00:49:18,480 --> 00:49:20,640
weil du das ja voneinander 
trennst. 

872
00:49:20,640 --> 00:49:22,800
Jetzt können ja manche sagen ja 
gut, aber ich muss mich nur an 

873
00:49:22,800 --> 00:49:25,640
einer Stelle wie beim 
klassischen CI Server um die 

874
00:49:25,640 --> 00:49:28,400
Secrets kümmern so ne und das 
stelle ich sicher, dass das 

875
00:49:28,400 --> 00:49:30,880
passt und gut, dann muss ich nur
darauf gucken, jetzt muss ich 

876
00:49:30,880 --> 00:49:33,080
ja. 
Einmal für den Continuous 

877
00:49:33,080 --> 00:49:36,960
Integration Anteil ne und die 
Artefakte zu erzeugen was auch 

878
00:49:36,960 --> 00:49:39,840
immer muss ich gucken was ich da
brauche und für die Deployment 

879
00:49:39,840 --> 00:49:42,480
Strategie werde ich ja auch 
Secrets brauchen, spätestens vom

880
00:49:42,480 --> 00:49:46,120
Cluster halt ne und jetzt hab 
ich 2 stellen die ich überwachen

881
00:49:46,120 --> 00:49:48,120
muss. 
Ja gut das kann man natürlich 

882
00:49:48,120 --> 00:49:51,120
als Nachteil auslegen oder muss 
man einfach nennen, dass man 

883
00:49:51,120 --> 00:49:54,000
natürlich n gutes Konzept 
braucht um das Ganze. 

884
00:49:54,400 --> 00:49:57,560
Auch übersichtlich zu gestalten.
Am Ende ne, aber da gibt es ja 

885
00:49:57,560 --> 00:50:00,280
wie gesagt dann auch Tools die 
einen das gut abnehmen am Ende, 

886
00:50:00,280 --> 00:50:05,520
dafür sind sie ja da definitiv. 
Ja, was? 

887
00:50:05,760 --> 00:50:08,280
Würdest du sagen, ist git Ops n 
Allheilmittel? 

888
00:50:08,280 --> 00:50:12,400
Ist es jetzt so n Ding def Ops 
nur mit git ops? 

889
00:50:14,880 --> 00:50:16,320
Na ja, also wir hatten das ja 
schon. 

890
00:50:16,320 --> 00:50:21,120
Gesagt, dass es im Endeffekt 
darauf ankommt, ne wie du. 

891
00:50:21,680 --> 00:50:25,200
Was du eigentlich benötigst, ne?
Also wenn es wenn, wenn alles 

892
00:50:25,200 --> 00:50:31,400
schon anfängt langsam sehr 
komplex zu werden, dann brauchst

893
00:50:31,400 --> 00:50:35,000
du halt auch ne komplexere 
Infrastruktur, wenn es zum 

894
00:50:35,000 --> 00:50:38,240
Beispiel auch wichtig ist, dass 
du sagst, OK, es ist mir 

895
00:50:38,240 --> 00:50:40,000
wirklich sehr sehr wichtig oder 
es gibt vielleicht auch 

896
00:50:40,000 --> 00:50:44,000
Anforderungen, dass bestimmte 
Dinge ne auch wirklich sehr, 

897
00:50:44,000 --> 00:50:46,640
sehr nachvollziehbar sind, dass 
du so n Audit Trail hast, um 

898
00:50:46,640 --> 00:50:49,440
wirklich zu sagen, Ey, was 
passiert hier eigentlich, dass 

899
00:50:49,440 --> 00:50:52,800
vielleicht auch. 
Für für Audits, die ja auch 

900
00:50:52,800 --> 00:50:58,320
manchmal gemacht werden, in für 
bestimmte Produkte, das dafür 

901
00:50:58,320 --> 00:51:00,920
hilft es halt einfach ne. 
Also da kannst du ja auf jeden 

902
00:51:00,920 --> 00:51:03,840
Fall sagen, wenn du sowas hast, 
dann brauchst du das auf jeden 

903
00:51:03,840 --> 00:51:07,160
Fall, aber natürlich ist es 
nicht unbedingt n Allheilmittel,

904
00:51:07,360 --> 00:51:10,480
du kannst dich natürlich auch 
verlieren da drin oder 

905
00:51:10,480 --> 00:51:13,200
vielleicht auch ich sag mal das 
ganze auch over Engineeren an 

906
00:51:13,200 --> 00:51:16,560
der Stelle ist natürlich möglich
ne ja ja. 

907
00:51:17,200 --> 00:51:20,080
Fakt ist natürlich, dass 
trotzdem git UPS so in den 

908
00:51:20,080 --> 00:51:22,880
letzten Jahren sich absolut 
etabliert hat. 

909
00:51:23,360 --> 00:51:27,600
Also so gerade kybernet ist Git 
ups, dass sich das auch so Cloud

910
00:51:27,600 --> 00:51:30,120
native Umgebung ganz klar ne, 
also es ist halt so irgendwie 

911
00:51:30,120 --> 00:51:33,840
der Standard geworden ne und 
viele bauen da drauf und 

912
00:51:33,840 --> 00:51:36,640
deswegen sind wir beide ja auch 
der Meinung, dass man 

913
00:51:36,640 --> 00:51:39,280
zumindestens ob man das jetzt 
selbst umsetzt oder nur 

914
00:51:39,280 --> 00:51:41,840
verwendet, also nur so n User 
ist am Ende. 

915
00:51:42,560 --> 00:51:44,960
Das Konzept dahinter zu 
verstehen, ist auf jeden Fall 

916
00:51:44,960 --> 00:51:48,800
Gold wert und es lohnt sich 
auch, das noch mal so als 

917
00:51:48,800 --> 00:51:53,600
abschließende Motivation. 
Ja, weil ich kann, oder ich 

918
00:51:53,600 --> 00:51:57,120
denke mal, wir können so aus 
Erfahrung sagen, wenn man diese 

919
00:51:57,120 --> 00:52:00,320
ganze Infrastruktur auch 
wirklich wie Code behandelt, 

920
00:52:00,320 --> 00:52:03,680
weil mir hilft es zum Beispiel 
zu sagen, OK, warte mal, das ist

921
00:52:03,680 --> 00:52:07,200
jetzt n Repository, also da sind
auch nur config Dateien drinne. 

922
00:52:07,520 --> 00:52:10,160
Ja, es ist versioniert. 
Ich kann da was ändern, ich kann

923
00:52:10,160 --> 00:52:13,960
das zurücksetzen, das ist alles 
kein Thema mehr, so ne verliert 

924
00:52:13,960 --> 00:52:16,760
man auch die Angst davor, dass 
irgendwas Schlimmes im 

925
00:52:16,760 --> 00:52:20,360
Deployment passieren kann, weil 
du halt diese Sicherheiten auch 

926
00:52:20,360 --> 00:52:21,680
gewinnst. 
Ganz klar. 

927
00:52:21,760 --> 00:52:24,680
Also das heißt nicht, dass man. 
Fahrlässig. 

928
00:52:24,680 --> 00:52:27,360
Wird das meine ich nicht. 
Aber dieses ungute Gefühl von 

929
00:52:27,680 --> 00:52:30,400
eigentlich habe ich an alles 
gedacht, aber oh bitte lass das 

930
00:52:30,400 --> 00:52:33,240
Deployment gut gehen, so, das 
ist ja so absolut worst case, 

931
00:52:33,240 --> 00:52:35,680
das willst du ja nicht, ne und 
dann hast du zum Beispiel 

932
00:52:35,680 --> 00:52:38,800
Schutzmechanismen wie. 
Ja OK, wenn das hier nicht 

933
00:52:38,800 --> 00:52:41,000
gesund ist, das Ding oder nicht 
richtig hochfertig, ja dann 

934
00:52:41,000 --> 00:52:43,320
machen wir royback und fertig 
und dann gucken mal was los ist.

935
00:52:43,320 --> 00:52:48,000
Ne du hast n log dann alles auch
Stichwort Audit wieder der alte 

936
00:52:48,320 --> 00:52:52,400
Container läuft alles cool so ne
und das muss ich sagen, das hat 

937
00:52:52,720 --> 00:52:56,160
dieses Prinzip hat da auf jeden 
Fall geholfen da entspannter zu 

938
00:52:56,160 --> 00:52:58,320
werden und zuversichtlicher, ja 
und? 

939
00:52:58,320 --> 00:53:01,440
Gerade wenn du sagst, klar, man 
sollte auf jeden Fall dadurch, 

940
00:53:01,440 --> 00:53:04,080
dass es halt etabliert ist, mit 
diesem Konzept vertraut sein und

941
00:53:04,080 --> 00:53:07,040
natürlich noch besser ist es. 
Es auch einfach mal 

942
00:53:07,040 --> 00:53:11,040
durchzuspielen, also wirklich 
mal zu sagen, ich probiere das 

943
00:53:11,040 --> 00:53:14,040
mal wirklich, aussagen wir bei 
vielen Dingen, auch wenn es nur 

944
00:53:14,040 --> 00:53:17,760
ums um Design Pattern geht, auch
wenn man es nicht akut braucht, 

945
00:53:17,760 --> 00:53:20,480
es ist nicht verkehrt es einmal 
auszutesten und auszuprobieren 

946
00:53:20,480 --> 00:53:23,000
und dafür kann man ja zum 
Beispiel auch einfach mal Agus 

947
00:53:23,000 --> 00:53:25,840
City ausprobieren, wie wir es 
auch haben und wenn du es 

948
00:53:25,840 --> 00:53:28,720
richtig machen willst, nimmst du
halt einen Server dafür, dass du

949
00:53:28,720 --> 00:53:31,360
irgendein Server hast, mit dem 
du arbeitest und dann quasi das 

950
00:53:31,360 --> 00:53:33,680
Ganze einfach mal ausprobierst. 
Genau. 

951
00:53:34,240 --> 00:53:36,560
Und wenn du noch einen Server 
sucht, wie gesagt, können wir 

952
00:53:36,560 --> 00:53:39,360
dir die Strato v Server 
wärmstens empfehlen und dann 

953
00:53:39,360 --> 00:53:42,040
schaue gerne noch mal die Show 
Notes, da findest du einen Link 

954
00:53:42,040 --> 00:53:43,200
dazu. 
Kannst du uns auch mit 

955
00:53:43,200 --> 00:53:48,080
unterstützen, vielen Dank. 
Ja, ansonsten gibt es auch 

956
00:53:48,080 --> 00:53:50,080
nichts mehr dazu würde ich 
sagen, haben wir die Folge 

957
00:53:50,080 --> 00:53:52,720
durchgebracht super geiles 
Thema, war vielleicht an der 

958
00:53:52,720 --> 00:53:54,720
einen oder anderen Stelle ein 
bisschen theoretisch, aber 

959
00:53:54,720 --> 00:53:57,920
bleibt nicht aus, weil es halt 
auch wirklich sage ich mal geht 

960
00:53:57,920 --> 00:54:01,440
ob es ein Modell ist, ein 
Arbeitsmodell, eine Strategie, 

961
00:54:01,440 --> 00:54:03,600
ja. 
Aber uns interessiert natürlich 

962
00:54:03,600 --> 00:54:06,720
noch, liebe Zuhörer, liebe 
Zuhörer, bist du in der Def Ops 

963
00:54:06,720 --> 00:54:10,240
Welt unterwegs, wie deployst du 
aktuell, nutzt du vielleicht 

964
00:54:10,240 --> 00:54:13,480
schon die git ops Prinzipien? 
Lass es uns gerne wissen, hast 

965
00:54:13,480 --> 00:54:16,960
du Anmerkung Ergänzung 
Verbesserungsvorschläge? 

966
00:54:17,200 --> 00:54:20,440
Schreib uns gerne alle Links in 
den shownotes e mail Adresse in 

967
00:54:20,440 --> 00:54:23,920
den shownotes such dir was aus 
wir werden auf allen Plattformen

968
00:54:23,920 --> 00:54:27,600
antworten. 
Und wenn dir der Podcast 

969
00:54:27,600 --> 00:54:30,480
gefällt, empfehlen gerne weiter.
Lass ne Bewertung da, das 

970
00:54:30,480 --> 00:54:34,200
unterstützt uns ungemein. 
Du findest auch in den Shownotes

971
00:54:34,200 --> 00:54:36,960
n kleinen Spendling wenn du 
sagst ey Leute wieder mal ne 

972
00:54:36,960 --> 00:54:39,120
geile Folge vielen Dank, ich 
möchte euch n bisschen 

973
00:54:39,120 --> 00:54:42,080
unterstützen, dann würde uns das
auch mega freuen. 

974
00:54:42,080 --> 00:54:44,320
Vielen vielen Dank dafür. 
Ansonsten bleibt mir eigentlich 

975
00:54:44,320 --> 00:54:47,320
nur noch zu sagen Fabi, wir 
hören uns alle beim nächsten Mal

976
00:54:47,320 --> 00:54:50,080
wieder wenn es weitergeht mit 
dem Coding Buddies Podcast bis 

977
00:54:50,080 --> 00:54:53,520
dahin habt ne schöne Zeit ciao 
ciao Deine Coding Buddies 

978
00:54:53,880 --> 00:54:57,400
gemeinsam besser. 
Weißt du, was ich auch immer 

979
00:54:57,400 --> 00:54:59,680
ganz cool. 
Finde, dass so Tools wie auch 

980
00:54:59,680 --> 00:55:02,520
beispielsweise Agus sind, die 
eigentlich immer so ganz witzige

981
00:55:02,600 --> 00:55:04,720
Maskottchen haben. 
Ja, und da bin ich richtig froh,

982
00:55:04,720 --> 00:55:07,040
dass wir Kobi haben. 
Ja, Kobi ist ja besser.

