스마트프로그
SmartFrog| 개발자 | 영국 브리스톨의 HP 연구소 |
|---|---|
| 초기 릴리즈 | 2004년 1월 24일 |
| 기록 위치 | 자바 |
| 플랫폼 | Linux, Microsoft Windows XP SP2, Microsoft Windows Vista, HP-UX, Mac OS/X |
| 유형 | 틀 |
| 면허증 | 아파치 라이선스 2.0 |
| 웹사이트 | www |
SmartFrog(SmartFrog for Object Groups)는 Java 기반의 오픈 소스 프레임워크로, 구성요소 기반 분산 시스템에 걸쳐 대규모 애플리케이션을 호스팅할 수 있도록 도와준다.분산 시스템의 설계, 구성, 배치 및 관리를 보다 쉽고, 정확하고, 자동화할 것을 제안한다.스마트프록은 주로 스마트프록 언어, 런타임 시스템, 스마트프록 구성요소 모델을 구현하는 스마트프록 구성요소 라이브러리 등 3가지 측면으로 구성된다.[1]
역사
SmartFrog는 원래 Hewlett-Packard의 유럽 연구소에서 개발되었다.인프라 자동화와 서비스 자동화에 대한 HP 연구뿐 아니라 다양한 HP 제품에 사용되어 왔다.[2]SmartFrog는 2004년 1월 SourceForge에서 호스팅된 GNU LSPL(Large General Public License) 라이센스에 따라 공개되었다.그 결과 연구실 외부의 사용자와 개발자도 프레임워크를 이용, 확장 또는 버그 보고를 통해 기여를 할 수 있다.[3]2017년 휴렛팩커드의 법인 분할에 이어 HP와 휴렛팩커드엔터프라이즈로 분할되면서 휴렛팩커드엔터프라이즈의 소유하에 스마트프록이 아파치 라이선스 2.0에 따라 전유됐다.[4]
기술
스마트프로그 언어
SmartFrog Language는 어떤 소프트웨어 구성요소가 시스템에 속하는지, 구성 매개변수가 무엇인지, 구성요소가 시스템의 다른 구성요소에 어떻게 바인딩되는지, 구성요소가 어떤 순서로 작동하는지와 같은 구성요소 모음과 시스템 구성을 기술하는 데 사용되는 구성 설명 언어다.
컴포넌트
SmartFrog에서는 부품이 가장 중요하고 기본적인 부분이다.시스템은 각각 요소 집합에 의해 구성되는 응용 프로그램의 집합으로 간주된다.모든 컴포넌트는 자바의 SmartFrog 파일에 쓰여 컴포넌트의 존재와 기본 속성을 나타낸다.
런타임 시스템
런타임 시스템은 SmartFrog Language로 작성된 설명을 해석하고 해석 결과에 따라 구성요소를 관리한다.또한 사용자에게 구성요소와 상호작용할 수 있는 도구를 제공한다.
특징들
프레임워크로서
패키지나 도서관 대신, SmartFrog는 소프트웨어 시스템 구축을 돕는 빌딩 블록인 프레임워크다.스마트프록은 프레임워크에 새로운 컴포넌트를 추가함으로써 확장할 수 있으며, 이는 훨씬 더 넓은 적용성을 가지고 있으며 새로운 기능을 획득할 수 있다는 것을 의미한다.[5]
템플릿 메커니즘
SmartFrog에서 모든 구성요소는 템플릿으로 정의된다.일반적으로 모든 신규 서비스에 대해 새로운 구성요소가 생성되고 활성화된다.그러나 일부 범용 구성요소는 다른 서비스에서 재사용할 수 있다.템플릿 메커니즘의 경우, 시스템 구성은 다른 요건에 적응하기 쉬우며 기본 구성을 유지할 수 있다.프로토타이핑은 또한 시스템 구성의 모든 변환과 이력을 유지할 수 있다.SmartFrog를 활용해 대규모 분산 시스템을 구축하면 일부 구성요소를 재사용할 수 있어 애플리케이션 전체를 완전히 다시 쓸 필요가 없다.사용자는 구성 설명 표기법을 사용하여 시스템을 설치, 제거, 구성, 시작 및 중지할 수 있는 간단한 SmartFrog 구성 요소를 쉽게 작성하거나 만들 수 있다.[5]
크로스 클라이언트 모델
스마트프록과 비슷한 소프트웨어 시스템이 많지만, 스마트프록에서 사용하는 것과 같은 모델을 사용하는 경우는 거의 없다.가장 큰 범주의 시스템은 클라이언트-서버 모델에 기초하여, 모든 클라이언트의 구성 데이터를 서버에 보관하고 각 클라이언트는 서버에 저장된 구성 데이터와 일치하도록 설계된다.그러나 SmartFrog에서는 각 클라이언트가 독립된 개체로 취급될 수 있도록 크로스 클라이언트 모델을 사용한다.이를 통해 SmartFrog는 광범위한 노드에 걸쳐 조정하고, 자율 조치를 수행하며, 높은 확장성을 얻을 수 있다.[6]
보안
SmartFrog는 안전과 안전의 두 가지 실행 모드를 가지고 있다.[7]안전하지 않은 모드에서는 SmartFrog에 대한 클라이언트 연결에 제한이 없으며, 일반 텍스트 통신을 도청하여 가로챌 수 있다.이 모드에서 시스템은 악성 공격에 취약하다.
SmartFrog는 악성 배포나 기타 관리 작업으로부터 보호해야 한다.보안 모드에서 스마트프록은 PKI(Public Key Infrastructure) 시스템을 사용한다.지정된 CA(인증 기관)에서 인증한 클라이언트만 SmartFrog 데몬에 연결할 수 있다.또 스마트프록은 모든 부품과 설명서에 인증서로 서명하고 서명된 부품만 배치할 수 있다.통신은 TLS(Transport Layer Security) 프로토콜을 사용하여 암호화된다.[8]
관련사업
그리드위버 프로젝트
GridWeaver 프로젝트는 2002년에 시작되어 1년 동안 계속되었다.프로젝트 협력자는 에든버러 대학교 정보학부, HP 연구소, 에든버러 병렬 컴퓨팅 센터(EPCC) 등이다.이 프로젝트는 차세대 그리드 컴퓨팅 패브릭의 구성과 관리를 자동화하는 문제에 대한 해결책을 찾기 위한 것이었다.[9]
이 프로젝트는 장단점 측면에서 스마트프록과 LCFG(Local ConFiGoration System)를 비교하는 것은 물론, 이러한 도구들이 문제 해결에 어떻게 활용되는지 조사했다.
참고 항목
- 오픈 소스 구성 관리 소프트웨어 비교
- LCFG - 대량의 시스템을 관리하기 위한 확립된 구성 프레임워크
참조
- ^ Goldsack, Patrick; Guijarro, Julio; Lain, Antonio; Mecheneau, Guillaume; Murray, Paul; Toft, Peter (2003). "SmartFrog: Configuration and Automatic Ignition of Distributed Applications": 1–9. CiteSeerX 10.1.1.187.8478.
{{cite journal}}:Cite 저널은 필요로 한다.journal=(도움말) - ^ "SourceForge project page".
- ^ "HP Lab SmartFrog project page". Archived from the original on 2019-02-20.
- ^ "SmartFrog / SVN / Commit [r8898]". Sourceforge. 2017-05-16.
- ^ a b "SmartFrog official website".
- ^ Goldsack, Patrick; Guijarro, Julio; Loughran, Steve; Coles, Alistair; Farrell, Andrew; Lain, Antonio; Murray, Paul; Toft, Peter (2009). "The Smart Frog configuration management framework". ACM SIGOPS Operating Systems Review. 43: 16–25. doi:10.1145/1496909.1496915.
- ^ "SmartFrog security". Archived from the original on 2015-03-28.
- ^ "SmartFrog User Manual". Archived from the original on 2019-02-20.
- ^ "GridWeaver Project". Archived from the original on 2016-09-23.
외부 링크
- 공식 웹사이트
- HP Labs SmartFrog 프로젝트 웹 사이트(Wayback Machine(2019년 2월 20일 자료 보관)
- SourceForge의 프로젝트 페이지
- Google Usenix Paper에서 참조.
