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은 실제 태스크를 수행해야 하는 핸즈온 실습 시험입니다. 시험 중에는 인터넷을 사용할 수 없으며 시험장에 인쇄물 또는 전자 서적을 반입할 수 없습니다. 반입 금지 항목에는 노트, 책 또는 기타 자료가 포함됩니다. 대부분의 시험에서 제품과 함께 제공되는 설명서를 시험 중에 참고할 수 있습니다.
점수 및 발표
공식 시험 점수 결과는 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)