반응형
목차
- 들어가기
- Management UI
- Architecture
- 마무리
들어가기
Eclipse hawkBit의 git저장소(링크)에 따르면 hawkBit은 OTA를 위한 디바이스 독립적인 back-end 솔루션이다. hawkBit에서는 back-end 솔루션의 기준을 아래와 같이 제시한다.
- Technical Scalability : global scale의 device에 대한 OTA 처리
- Functional Scalability : global scale의 device에 대한 rollout 지원
- Reliability : 소프트웨어 업데이트는 디바이스 문제의 해결의 마지막이다. (뒤가 없음)
- Managed device complexity : 디바이스 복잡성에 대한 관리기능
- Integration flexibility : 표준이 아닌 디바이스도 쉽게 integration되어야 함.
아래는 홈페이지(링크)에 소개된 Overview 이미지이다.
hawkBit을 사용하는 디바이스는 REST API를 통해서 hawkBit을 직접적으로 접근할 수 있다. (좌측하단)
혹은 특정 프로토콜을 사용하는 Adapter-Federation API를 통해서 접근할 수 있다. (우측하단)
hawkBit은 기본적인 Management UI를 제공한다. 하지만 Management API를 통해서 UI를 커스텀할 수 있고 혹은 해당 API를 통해서 RESTfull 형태로 다른 서버와 통합될 수 있다.
Management UI
Target Filter Management
다른 Management 탭에서 공통으로 사용하는 'Target Filter'를 관리하는 기능이다.일종의 쿼리(query)를 통해서 등록된 Targets의 일부를 필터링하는 기능이라고 보면 된다.정제된 쿼리는 궁극적으로 'Target Filter'에 등록되어서 다른 탭들에서 사용된다.
위 화면에서는 Target Name이 'dmf'로 시작하는 모든 Target들이 필터링되었다.
위 화면에서는 Target Name이 'dmf'로 시작하는 모든 Target들이 필터링되었다.
Deployment Management
'Target'을 관리하고 수동으로 특정 'Target'의 S/W를 distribution하는 기능을 수행한다.
아래화면에 보면 'Targets' 창을 통해서 Target의 상태를 확인할 수 있다.
Distribution Management
Distribution이란 업데이트 이미지이다. Distribution Management 탭에서는 업데이트 이미지를 관리하는 (생성, 삭제, 수정 등) 기능을 수행한다. 아래 세 가지 용어가 등장한다.
- Distribution Set : 여러 개의 Software Module로 구성된 업데이트 이미지
- Software Module : Distribution Set을 구성하는 모듈단위 그룹이다.
- Artifact : 실제 업데이트에 사용되는 파일이다.
Distribution Management 탭에서는 Distribution Set과 Software Module을 관리한다.
Artifact Management
'Artifact'를 관리하는 기능이다. Software Module을 생성, 제거, 수정할 수 있고 특정 Software Module에 해당하는 Artifact를 업로드할 수 있다.
Rollout Management
rollout에 대해서 먼저 이해를 해야 한다.
기본적으로 rollout은 서버에서 Target으로 이미지를 한꺼번에 배포하는 것을 의미한다.
hawkBit에서는 다음과 같은 rollout 관리가 가능하다.
- 디바이스 그룹을 지정하고 이들에 대한 업데이트 기능
- 디바이스 그룹간의 Cascading 업데이트 기능
- 업데이트에서 에러 발생시 Emergency Shutdown 기능
- 전체 rollout 모니터링 기능
아래는 rollout management의 UI화면이다.
Name을 클릭하면 상세 rollout 상태를 모니터링할 수 있다.
Architecture
hawkBit 내부에서 수많은 오픈소스 솔루션을 쓰고 있다는 것을 알 수 있다.
대략 어떤 솔루션들이 있는지만 알아보자.
마무리
오픈소스 Software Update 솔루션은 Target side에 기술이 대부분이다. hawkBit은 Server Side의 기술로 UI 까지 포함된 Scalability를 지원하는 솔루션이다. 꼭 사용해야하는 Target side의 Software Update 솔루션이 Server 솔루션을 포함하고 있지 않다면 도입을 고려해볼 수 있겠다.
반응형
'소프트웨어 > OTA(on-the-air)' 카테고리의 다른 글
libostree (OStree) 예제 - 리모트 & 로컬 저장소 (1) (0) | 2019.01.30 |
---|---|
libostree (OStree) 예제 - 시작하기 (0) | 2019.01.30 |
RAUC(Robust Auto-Update Controller) 살펴보기 (0) | 2019.01.21 |
Clear Linux & swupd 살펴보기 (0) | 2019.01.18 |
SWUpdate (Software Update for Embedded Systems) 살펴보기 (0) | 2019.01.16 |