EX378

Red Hat Certified Cloud-native Developer Exam

๊ฐœ์š”

์‹œํ—˜ ์„ค๋ช…

Red Hat Certified Cloud-Native Developer Exam(EX378)์€ Quarkus ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„œ๋ฒ„ ์ธก ์ฝ”๋”ฉ๊ณผ ๊ด€๋ จ๋œ ๊ธฐ์ˆ ๊ณผ ์ง€์‹์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. ์ด ์‹œํ—˜์—์„œ๋Š” ํผ์‹œ์Šคํ„ดํŠธ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์™„์ „ํ•œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ธฐ๋ณธ ๊ธฐ์ˆ ์„ ์ค‘์ ์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.

์ด ์‹œํ—˜์— ํ•ฉ๊ฒฉํ•˜๋ฉด Red Hat Certified Cloud-Native Developer ์ž๊ฒฉ์ฆ์„ ์ทจ๋“ํ•˜๊ฒŒ ๋˜๋ฉฐ, ์ด๋Š” RHCAยฎ(Red Hat Certified Architect) ์ž๊ฒฉ์ฆ ์ทจ๋“ ์‹œ ๊ฐ€์‚ฐ์ ์œผ๋กœ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

์ด ์‹œํ—˜์€ Quarkus v3.8์˜ Red Hat ๋นŒ๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์‹œํ—˜ ์‘์‹œ ๋Œ€์ƒ:

Red Hat Certified Cloud-Native Developer ์ž๊ฒฉ์ฆ ์ทจ๋“ ๋Œ€์ƒ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Quarkus๋ฅผ ์‚ฌ์šฉํ•ด ์„œ๋น„์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” Java ๊ฐœ๋ฐœ์ž
  • Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœ ์ค‘์ด๋ฉฐ ๋” ๋น ๋ฅด๊ณ  ๋™์ ์ด๊ณ  ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ Java ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๊ณ ์ž ํ•˜๋Š” ๊ฐœ๋ฐœ์ž
  • Red Hat Certified Architect(RHCA) ์ž๊ฒฉ์ฆ ์ทจ๋“์— ๊ด€์‹ฌ์ด ์žˆ๋Š” Red Hat Certified Professional

์ „์ œ ์กฐ๊ฑด:

  • ์ˆ˜๊ฐ•์ƒ์€ Red Hat Cloud-native Microservices Development with Quarkus(DO378) ๊ต์œก ๊ณผ์ •์„ ์ด์ˆ˜ํ–ˆ๊ฑฐ๋‚˜ ๊ทธ์— ์ค€ํ•˜๋Š” ํ•ธ์ฆˆ์˜จ ๊ฒฝํ—˜์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • Red Hat Enterprise Linux ํ™˜๊ฒฝ์—์„œ Visual Code/VS Codiium ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด ์ž˜ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด ์‹œํ—˜์—๋Š” ํ•ต์‹ฌ Java ๊ฐœ๋… ๋ฐ API์— ๋Œ€ํ•œ ์ง€์‹๊ณผ ์ดํ•ด๋ฅผ ํฌํ•จํ•˜์—ฌ JSE์— ๋Œ€ํ•œ ์ถฉ๋ถ„ํ•œ ๊ฒฝํ—˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‹œํ—˜์„ ์น˜๋ฅด๋ ค๋ฉด ์˜ˆ์™ธ, ์ฃผ์„, ์ปฌ๋ ‰์…˜ API์— ๋Œ€ํ•œ ์ง€์‹์ด ๋ชจ๋‘ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • Openshift์— ๋Œ€ํ•œ ์–ด๋А ์ •๋„์˜ ์‚ฌ์ „์ง€์‹์€ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ํ•„์ˆ˜๋Š” ์•„๋‹˜
  • ๋ฉ”์‹œ์ง• ๋ฐ Kafka์™€์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์— ์–ด๋А ์ •๋„ ์ต์ˆ™ํ•จ
๋ชฉํ‘œ

์ค€๋น„ ์‚ฌํ•ญ

์‹œํ—˜ ๋Œ€๋น„๋ฅผ ์œ„ํ•œ ํ•™์Šต ํฌ์ธํŠธ

์‹œํ—˜ ์ค€๋น„์— ๋„์›€์ด ๋˜๋„๋ก ์‹œํ—˜ ๋ชฉํ‘œ์—์„œ๋Š” ์‹œํ—˜์— ๋‚˜์˜ฌ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ํƒœ์Šคํฌ ์˜์—ญ์„ ์ง‘์ค‘์ ์œผ๋กœ ๋‹ค๋ฃน๋‹ˆ๋‹ค. Red Hat์€ ์‹œํ—˜ ๋ชฉํ‘œ๋ฅผ ์ถ”๊ฐ€, ์ˆ˜์ • ๋˜๋Š” ์ œ๊ฑฐํ•  ๊ถŒ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์„ ๊ฒฝ์šฐ ์‚ฌ์ „์— ๊ณต์ง€๋ฉ๋‹ˆ๋‹ค.

์‘์‹œ์ž๋Š” ๋‹ค์Œ ํƒœ์Šคํฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ข…์†์„ฑ ์ฃผ์ž…์ด๋‚˜ ์กฐํšŒ๋ฅผ ํ†ตํ•ด ์ œ๊ณต๋˜๋Š” ๋ช‡ ๊ฐ€์ง€ ํ™˜๊ฒฝ ์ธ์‹ ์†Œ์Šค๋ฅผ ํ†ตํ•ด ๊ตฌ์„ฑ ์†์„ฑ ์ œ๊ณต ๋ฐ ํ™•๋ณด

  • ๋ฐ์ดํ„ฐ๋ฅผ ์„ค์ •๋œ ๊ฐ’์œผ๋กœ ํ‘œ๋ฉดํ™”
  • ์„ค์ •๋œ ๊ฐ’๋“ค์„ @Inject ๋ฐ @ConfigProperty ํ•œ์ •์ž๋ฅผ ์‚ฌ์šฉํ•ด ๋นˆ(bean)์— ์ฃผ์ž…
  • Java ์˜ค๋ธŒ์ ํŠธ์— ๋Œ€ํ•œ ๊ตฌ์„ฑ ๋งคํ•‘์„ ์ƒ์„ฑํ•˜๊ณ  ์•ก์„ธ์Šคํ•˜๋Š” ๋Šฅ๋ ฅ ์ž…์ฆ
  • ๊ธฐ๋ณธ ConfigSource ์ˆœ์„œ ๋ฐ ์‚ฌ์šฉ์ž ์ •์˜ ConfigSource๋กœ ๊ตฌ์„ฑ ์ง€์›์„ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ• ์ดํ•ด
  • ํ”„๋กœํ•„์„ ์‚ฌ์šฉํ•˜์—ฌ ํƒ€๊ฒŸ ํ™˜๊ฒฝ๋ณ„๋กœ ์‚ฌ์šฉ์ž ์ง€์ • ๊ตฌ์„ฑ ์†์„ฑ์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ดํ•ด

Microprofile Fault Tolerance ์ „๋žต์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ด๊ฒฐํ•จ์„ฑ Quarkus ๊ธฐ๋ฐ˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ตฌ์ถ•

  • MicroProfile Config์™€์˜ ๊ด€๊ณ„ ์ดํ•ด
  • ๋น„๋™๊ธฐ์‹ ๋ฐ ๋™๊ธฐ์‹ ์‹คํ–‰ ์œ ํ˜•์— ๋Œ€ํ•œ ์ดํ•ด
  • Timeouts์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์›๋ ฅ ์ดํ•ด
  • ์žฌ์‹œ๋„ ์ •์ฑ…์„ ์ดํ•ดํ•˜๊ณ  @Retry ์ฃผ์„์„ ์‚ฌ์šฉํ•ด ์ ์šฉ
  • ํด๋ฐฑ ์ „๋žต์„ ์ดํ•ดํ•˜๊ณ  ์ •์˜
  • CircuitBreaker๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ ์šฉ
  • Bulkhead๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ ์šฉ
  • ๋‚ด๊ฒฐํ•จ์„ฑ ์„ค์ •์„ ์ดํ•ดํ•˜๊ณ  ์ด๋ฅผ ์„ค์ •

MicroProfile Health Check๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ Quarkus ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ๋ฅผ ์กฐ์‚ฌ

  • HealthCheck ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ดํ•ดํ•˜๊ณ  ๊ตฌํ˜„
  • @Startup, @Liveness ๋ฐ @Readiness ์ฃผ์„์„ ์ดํ•ดํ•˜๊ณ  ์ ์šฉ
  • Reactive ์ƒํƒœ ์ ๊ฒ€์„ ์ดํ•ดํ•˜๊ณ  ๊ตฌํ˜„
  • HealthCheckResponse๋ฅผ ์ดํ•ดํ•˜๊ณ  ๊ตฌํ˜„
  • ์ธ๊ฐ„์นœํ™”์  HealthCheckResponse ๊ตฌ์ถ•
  • Health UI ์ดํ•ด ๋ฐ ์‚ฌ์šฉ
  • Health Groups ๋ฐ @HealthGroup ์ฃผ์„ ์ดํ•ด ๋ฐ ์ ์šฉ
  • @Wellness ์ฃผ์„ ์ดํ•ด ๋ฐ ์ ์šฉ

Micrometer Metrics๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ ์ค‘์ธ Quarkus ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ ๊ด€์ฐฐ, ์ˆ˜์ง‘, ์ธก์ •

  • ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•œ ์ฐจ์› ๋ฐ์ดํ„ฐ ์ง‘๊ณ„ ์ดํ•ด ๋ฐ ์‚ฌ์šฉ
  • ํƒ€์ด๋จธ, ๊ฒŒ์ด์ง€, ์นด์šดํ„ฐ, ๋ฐฐํฌ ์š”์•ฝ, ๊ธด ํƒœ์Šคํฌ ํƒ€์ด๋จธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ณ  ๊ณ„์ธก
  • ๋งˆ์ดํฌ๋กœ๋ฏธํ„ฐ ์ฃผ์„ ๋ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ API ์ดํ•ด
  • REST API๋ฅผ ํ†ตํ•ด ๋…ธ์ถœ๋œ ๋ฉ”ํŠธ๋ฆญ ์ดํ•ด ๋ฐ ์‚ฌ์šฉ
  • Quarkus ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฉ”ํŠธ๋ฆญ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ ์ดํ•ด
  • ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌ ์—์ด์ „ํŠธ๋กœ ๋‚ด๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ• ์ดํ•ด

Quarkus ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ๋ฐ˜ MicroProfile Interoperable JWT RBAC: ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ์˜ ์—ญํ•  ๊ธฐ๋ฐ˜ ์•ก์„ธ์Šค ์ œ์–ด(RBAC)๋ฅผ ์œ„ํ•œ OIDC(OpenID Connect) ๊ธฐ๋ฐ˜ JWT(JSON Web Token)

  • ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ์— ๋Œ€ํ•œ ์ดํ•ด
  • JWT ์ „๋‹ฌ์ž ํ† ํฐ์„ ์‚ฌ์šฉํ•ด ์„œ๋น„์Šค ๋ณดํ˜ธ
  • JAX-RS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ MP-JWT ์•ก์„ธ์Šค ์ œ์–ด ์š”๊ตฌ๋กœ ํ‘œ์‹œ
  • MP-JWT ํ† ํฐ์„ Java EE ์ปจํ…Œ์ด๋„ˆ API์— ๋งคํ•‘

Resteasy Reactive ๋ฐ Jakarta REST(์ด์ „ ๋ช…์นญ: JAX-RS)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Quarkus ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌํ˜„ํ•˜๊ณ  RESTful ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋…ธ์ถœ

  • RESTful ๊ฐœ๋…, ํŠนํžˆ HTTP PUT, DELETE, GET, POST ๋ฉ”์„œ๋“œ๋ฅผ ์ ์šฉํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ดํ•ด
  • ํ‘œ์ค€ HTTP ๋ฐ˜ํ™˜ ์ฝ”๋“œ๋ฅผ ์ดํ•ด ๋ฐ ์‚ฌ์šฉํ•˜๊ณ  ์‘๋‹ต ๋ณธ๋ฌธ ๋ฐ˜ํ™˜
  • Quarkus๋กœ JSON REST ์„œ๋น„์Šค๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ์ดํ•ด
  • RESTful ๋ฃจํŠธ ๋ฆฌ์†Œ์Šค ํด๋ž˜์Šค ๊ตฌํ˜„
  • Jakarta REST(์ด์ „ ๋ช…์นญ: JAX-RS)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ RESTful ์„œ๋น„์Šค ๋…ธ์ถœ
  • ์—”๋“œํฌ์ธํŠธ ์„ ์–ธ์„ ์ดํ•ดํ•˜๊ณ  ์ ์šฉ: URI ๋งคํ•‘, HTTP ํ‘œํ˜„, ์ฝ˜ํ…์ธ  ์œ ํ˜•
  • ๋น„๋™๊ธฐ/๋ฐ˜์‘ํ˜• ์ง€์›์„ ์ดํ•ดํ•˜๊ณ  ์ ์šฉํ•˜์—ฌ ๋…ผ๋ธ”๋กœํ‚น ์—”๋“œํฌ์ธํŠธ ์„ ์–ธ
  • CDI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ ์š”์†Œ ํ†ตํ•ฉ
  • ๋นˆ(Bean) ๊ฒ€์ฆ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ํ˜•์‹๊ณผ ์ผ๊ด€์„ฑ ๋ณด์žฅ

Panache๋ฅผ ํ†ตํ•ด ๊ฐ„์†Œํ™”๋œ JPA ๋งคํ•‘

  • ํ™œ์„ฑ ๋ ˆ์ฝ”๋“œ ํŒจํ„ด๊ณผ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ํŒจํ„ด์˜ ์ฐจ์ด์  ์ดํ•ด
  • ๊ธฐ๋ณธ JPA๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํผ์‹œ์Šคํ„ดํŠธ ์˜ค๋ธŒ์ ํŠธ์™€ ๊ทธ ๊ด€๊ณ„์˜ ์ƒ์„ฑ, ์ฝ๊ธฐ, ์—…๋ฐ์ดํŠธ, ์‚ญ์ œ ์ˆ˜ํ–‰
  • ์–ด์†Œ์‹œ์—์ด์…˜(Association)์˜ ์–‘์ชฝ์„ ํฌํ•จํ•˜์—ฌ ๋‘ ์—”ํ„ฐํ‹ฐ ๊ฐ„์˜ ์–‘๋ฐฉํ–ฅ ์ผ๋Œ€๋‹ค ๊ด€๊ณ„ ๋งคํ•‘
  • ๊ฐ€์žฅ ํ”ํ•œ Panache ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์‚ฌ์šฉ์ž ์ง€์ • ์—”ํ„ฐํ‹ฐ ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ ์ž…์ฆ

Quakus ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ˜์‘ํ˜• ๋ฉ”์‹œ์ง•

  • ๋ฐ˜์‘ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ดํ•ด
  • ๋ฉ”์‹œ์ง• ํ•ต์‹ฌ ๊ฐœ๋… ์ดํ•ด
  • ์ฑ„๋„ ์ดํ•ด
  • ์ˆ˜์‹  ๋ฐ ๋ฐœ์‹  ์ดํ•ด
  • ๋ฉ”์‹œ์ง€ ์Šน์ธ ์ดํ•ด

RESTful API๋ฅผ ๋ฌธ์„œํ™”ํ•˜๊ธฐ ์œ„ํ•œ Microprofile OpenAPI ์‚ฌ์–‘

  • OpenAPI ๋ฌธ์„œ ๋ฐ Swagger UI๋ฅผ ์ดํ•ดํ•˜์—ฌ ์›๊ฒฉ ์„œ๋น„์Šค API ๊ฒ€์ƒ‰
  • Semantic Versioning(semver) ์›๊ฒฉ ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ ์ž…์ฆ
  • ๊ธฐ๋ณธ ๋ฐ ์‚ฌ์šฉ์ž ์ง€์ • OpenAPI ๋ฌธ์„œ๋ฅผ JAX-RS ์—”๋“œํฌ์ธํŠธ์— ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ์ดํ•ด

REST Client Reactive๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Quarkus์˜ REST API์™€ ์ƒํ˜ธ ์ž‘์šฉ

  • Jakarta REST ๋ฐ Microprofile ์ฃผ์„์„ ์‚ฌ์šฉํ•˜์—ฌ HTTP๋ฅผ ํ†ตํ•ด RESTful ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœํ•˜๋Š”, ํ˜•์‹์ด ์•ˆ์ „ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹ ์ดํ•ด
  • REST ๊ฐœ๋…, ํŠนํžˆ HTTP PUT, DELETE, GET, POST ๋ฉ”์„œ๋“œ๋ฅผ ์ ์šฉํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ดํ•ด
  • ๋น„๋™๊ธฐ ์ง€์›์ด ํฌํ•จ๋œ REST Client Reactive์˜ ๋…ผ๋ธ”๋กœํ‚น ํ”Œ๋ ˆ์ด๋ฒ„ ์ดํ•ด ๋ฐ ์‚ฌ์šฉ
  • REST ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜์—ฌ ์›๊ฒฉ ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ ์ž…์ฆ
  • ํŠน์ • ์›๊ฒฉ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœํ•˜๋„๋ก REST ํด๋ผ์ด์–ธํŠธ URI๋ฅผ ๋งค๊ฐœ ๋ณ€์ˆ˜ํ™”ํ•˜๊ณ  ๊ตฌ์„ฑ
  • ์ถ”๊ฐ€ ์‚ฌ์šฉ์ž ์ •์˜ ํด๋ผ์ด์–ธํŠธ ํ—ค๋”๋ฅผ ์ดํ•ดํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์— ์ ์šฉ
  • ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด HTTP ์‘๋‹ต์„ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ์‹œ์—ฐ
  • ํŠน๋ณ„ํ•œ ์ถ”๊ฐ€ ํด๋ผ์ด์–ธํŠธ ํ—ค๋”๋ฅผ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉ

๋Œ€ํ™”ํ˜• ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•ด ๊ณ„์ธก ๋ถ„์‚ฐ ์ถ”์ ์— OTel(OpenTelemetry)์„ ์‚ฌ์šฉ

  • OpenTelemetry๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ „๋ฐ˜์—์„œ ๋ถ„์‚ฐ ์ถ”์  ์ดํ•ด ๋ฐ ๊ตฌํ˜„
  • ๋ถ„์‚ฐํ˜• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ „์ฒด ๊ฒฝ๋กœ๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ ์ž…์ฆ
  • ์ถ”์  ํ”„๋กœ๊ทธ๋žจ์ด ์ŠคํŒฌ์„ ์ƒ์„ฑํ•˜๊ณ  ์ปจํ…์ŠคํŠธ ์ „ํŒŒ๊ฐ€ ์ƒ๊ด€๊ด€๊ณ„ ์‹๋ณ„์ž์— ์ถ”์ ์œผ๋กœ ์กฐ๋ฆฝ๋˜๋Š” ๊ฒƒ์„ ์ดํ•ด
  • ํ‚ค ์ €์žฅ์†Œ ์ˆ˜ํ•˜๋ฌผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ŠคํŒฌ ๊ฐ„์— ์ปจํ…์ŠคํŠธ ์ •๋ณด๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๋ฐฉ๋ฒ• ์ดํ•ด

Red Hat์˜ ๋ชจ๋“  ์ˆ˜ํ–‰ ๊ธฐ๋ฐ˜ ์‹œํ—˜๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ์€ ์žฌ์‹œ์ž‘ ํ›„์—๋„ ๋ณ€๊ฒฝ ์—†์ด ์œ ์ง€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์œ ์˜ ์‚ฌํ•ญ
์œ ์˜ ์‚ฌํ•ญ

์ค€๋น„ ์‚ฌํ•ญ

์‹œํ—˜ ์ค€๋น„๋ฅผ ์œ„ํ•ด Red Hat Cloud-native Microservices Development with Quarkus(DO378) ๊ณผ์ •์„ ์ˆ˜๊ฐ•ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ์ˆ˜๊ฐ•ํ•˜๋Š” ๊ฒƒ์€ ํ•„์ˆ˜ ์‚ฌํ•ญ์ด ์•„๋‹ˆ๋ฉฐ, ์‹œํ—˜ ์‘์‹œ๋งŒ ์„ ํƒํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Red Hat์˜ ๊ต์œก ๊ณผ์ •์„ ์ˆ˜๊ฐ•ํ•˜๋ฉด ์‹œํ—˜ ์ค€๋น„์— ํฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์œผ๋‚˜, ๋‹จ์ˆœํžˆ ๊ต์œก ๊ณผ์ •์„ ์ˆ˜๊ฐ•ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ์‹œํ—˜ ํ•ฉ๊ฒฉ์ด ๋ณด์žฅ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด์ „ ๊ฒฝํ—˜, ํ”„๋ž™ํ‹ฐ์Šค, ํƒ€๊ณ ๋‚œ ์†Œ์งˆ ๋˜ํ•œ ์‹œํ—˜์—์„œ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ฃผ์š” ์š”์†Œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

Red Hat ์ œํ’ˆ์— ๋Œ€ํ•œ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ๋ฅผ ๋‹ค๋ฃจ๋Š” ์„œ์ ๊ณผ ๊ธฐํƒ€ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Red Hat์€ ์–ด๋– ํ•œ ์„œ์ ์ด๋‚˜ ๋ฆฌ์†Œ์Šค๋„ ํŠน์ • ์‹œํ—˜์— ๋Œ€ํ•œ ์‹œํ—˜ ์ž๋ฃŒ ๊ฐ€์ด๋“œ๋กœ ๊ณต์‹ ์ง€์ •ํ•˜๊ณ  ์žˆ์ง€ ์•Š์ง€๋งŒ, ์ด๋Ÿฌํ•œ ์ž๋ฃŒ๋Š” ํ•ด๋‹น ๋ถ„์•ผ์— ๋Œ€ํ•œ ์ง€์‹์„ ๋„“ํžˆ๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œํ—˜ ํ˜•์‹

Red Hat Certified Cloud-Native Developer Exam์€ ์‹ค์ œ ํƒœ์Šคํฌ๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ํ•ธ์ฆˆ์˜จ ์‹ค์Šต ์‹œํ—˜์ž…๋‹ˆ๋‹ค. ์‹œํ—˜ ์ค‘์—๋Š” ์ธํ„ฐ๋„ท์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์‹œํ—˜์žฅ์— ์ธ์‡„๋ฌผ ๋˜๋Š” ์ „์ž ์„œ์ ์„ ๋ฐ˜์ž…ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐ˜์ž… ๊ธˆ์ง€ ํ•ญ๋ชฉ์—๋Š” ๋…ธํŠธ, ์ฑ… ๋˜๋Š” ๊ธฐํƒ€ ์ž๋ฃŒ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์‹œํ—˜์—์„œ ์ œํ’ˆ๊ณผ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ์„ค๋ช…์„œ๋ฅผ ์‹œํ—˜ ์ค‘์— ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œํ—˜์€ ์ตœ๋Œ€ 3์‹œ๊ฐ„์ด ์†Œ์š”๋˜๋Š” 1๊ฐœ ์„น์…˜์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ ์ˆ˜ ๋ฐ ๋ฐœํ‘œ

๊ณต์‹ ์‹œํ—˜ ์ ์ˆ˜ ๊ฒฐ๊ณผ๋Š” Red Hat Certification Central์„ ํ†ตํ•ด์„œ๋งŒ ๊ณต๊ฐœ๋ฉ๋‹ˆ๋‹ค. Red Hat์€ ๊ฐ๋…๊ด€ ๋˜๋Š” ๊ต์œก ํŒŒํŠธ๋„ˆ๊ฐ€ ์‘์‹œ์ž์—๊ฒŒ ์ง์ ‘ ์ ์ˆ˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐœํ‘œํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹œํ—˜ ์ ์ˆ˜๋Š” ํ†ต์ƒ์ ์œผ๋กœ ์˜์—…์ผ ๊ธฐ์ค€ 3์ผ(๋ฏธ๊ตญ ์‹œ๊ฐ„ ๊ธฐ์ค€) ์ด๋‚ด์— ๋ฐœํ‘œ๋ฉ๋‹ˆ๋‹ค.

์‹œํ—˜ ๊ฒฐ๊ณผ๋Š” ์ด์ ์œผ๋กœ ๋ฐœํ‘œ๋ฉ๋‹ˆ๋‹ค. Red Hat์€ ๊ฐœ๋ณ„ ๋ฌธํ•ญ์— ๋Œ€ํ•œ ์ ์ˆ˜๋ฅผ ๊ณต๊ฐœํ•˜์ง€ ์•Š์œผ๋ฉฐ ์š”์ฒญ์ด ์žˆ๋”๋ผ๋„ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ถŒ์žฅ๋˜๋Š” ๋‹ค์Œ ์‹œํ—˜ ๋˜๋Š” ๊ต์œก ๊ณผ์ •:

Introduction to Containers, Kubernetes, and Red Hat OpenShift(DO180)

Red Hat OpenShift Development I: Containerizing Applications(DO288)

Building Resilient Microservices with Red Hat OpenShift Service Mesh(DO328)

์œ„์น˜ ์„ ํƒ ํ•˜๊ธฐ

ํ˜„์žฅ ๊ต์œก ์•ˆ๋‚ด

ํŒ€ ์ „์ฒด๊ฐ€ ์ˆ˜๊ฐ•์„ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ๊ต์œก์žฅ์—์„œ ์ง์ ‘ ์ˆ˜๊ฐ•ํ•˜๊ฑฐ๋‚˜ ์›๊ฒฉ์œผ๋กœ ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Red Hat ๊ต์œก ์„œ๋ธŒ์Šคํฌ๋ฆฝ์…˜

Red Hat ์ œํ’ˆ์— ๋Œ€ํ•œ ํ†ตํ•ฉ ๊ต์œก ๋ฐ ํ•™์Šต ๊ฒฝ๋กœ, ์—…๊ณ„์—์„œ ์ธ์ฆ๋œ ์ž๊ฒฉ์ฆ, ์œ ์—ฐํ•˜๊ณ  ๋‹ค์ด๋‚˜๋ฏนํ•œ IT ํ•™์Šต ๊ฒฝํ—˜.

๋‹ค๋ฅธ ์ˆ˜๊ฐ•์ƒ๋“ค์ด Red Hat Learning Community์˜ ๊ต์œก ๊ณผ์ •์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ํ‰๊ฐ€ํ•˜๋Š”์ง€ ์ฝ์–ด๋ณด์„ธ์š”.