V SALSA ARCHITECTURE Kiến trúc SALSA A Overview Tổng quan We have implemented SALSA1 to support the multi-level configuration functionalities, of which the architecture is shown in Figure SALSA comprises three main building blocks: Chúng triển khai SALSA để hỗ trợ chức cấu hình đa cấp, có kiến trúc thể hình SALSA bao gồm khối (i) The Central Configuration Service is for orchestrating the configuration operations, (ii) Local Configurators perform tasks on top of deployment stacks by following the instruction from the Central Configuration Service, and (iii) the Information Services maintain the knowledge for generating the configuration plan and mapping with the external artifact repositories (i) Central Configuration Service điều phối hoạt động cấu hình (ii) Local Configurators thực nhiệm vụ đầu ngăn xếp cách làm theo thị CCS (iii) Information Service trì kiến thức để tạo kế hoạch cấu hình lập đồ với kho vật bên Users interact with the framework via Configuration APIs To enrich configuration information, the Configuration Generator queries the Information Services to generate the full configuration details Người dùng tương tác với framework thông qua Configuration APIs Để làm phong phú thêm thông tin cấu hình, Configuration Generator truy vấn dịch vụ thông tin để tạo chi tiết cấu hình đầy đủ As described in Section IV-A, it generates new nodes from the Node Type Dependency Graph, then adds the configuration capabilities and artifacts for software from Artifact Metadata Service and cloud resources form the Cloud Ecosystem Information Như mô tả phần IV-A, tạo nút từ Node Type Dependency Graph, sau bổ sung thêm khả cấu hình cấu phần (artifact) cho phần mềm từ Artifact Metadata Service tài nguyên điện toán đám mây hình thành Cloud Ecosystem Information The artifact meta-information refers to real artifacts which are stored in External Repositories (e.g GitHub2 and Chef Community3) Prototype and supplement materials: http://tuwiendsg.github.io/SALSA Các artifact meta-information đề cập đến cấu phần (artifact) thực lưu trữ kho chứa bên (ví dụ GitHub Chef Community) The Topology Orchestrator orchestrates configurations of multiple service units and service topologies using the greedy mechanism presented in Section IV-B Topology Orchestrator cấu hình nhiều đơn vị dịch vụ cấu trúc liên kết dịch vụ cách sử dụng “greedy mechanism” trình bày Phần IV-B The Cloud Configurators and Local Configurators utilize different tools in order to deal with different cloud providers and application types Cloud Configurators Local Configurators sử dụng công cụ khác để giải với nhà cung cấp điện toán đám mây loại ứng dụng khác At the bootstrapping of a new spawned VM, we use cloudinit [35] to start the Local Configurator The VM Monitoring Agent monitors different stacks of cloud services, which is integrated with the Elasticity Monitoring and Analysis [36] Tại bootstrapping spawned VM mới, sử dụng cloudinit [35] để bắt đầu Local Configurator VM Monitoring Agent giám sát ngăn xếp khác dịch vụ điện toán đám mây, tích hợp với Elasticity Monitoring and Analysis [36] B Integration with multiple cloud infrastructures Tích hợp với nhiều sở hạ tầng điện toán đám mây Beside the core components, SALSA uses external tools and services to perform the actual configuration operations, increasing the extendability of the framework by exporting the configuration actions to different output formats and call the external tools Bên cạnh thành phần cốt lõi, SALSA sử dụng công cụ dịch vụ mở rộng để thực hoạt động cấu hình thực tế, tăng mở rộng tảng cách xuất hoạt động cấu hình đến định dạng đầu khác gọi công cụ mở rộng The Cloud Configurator allows SALSA to plug in different cloud drivers for connecting to different cloud infrastructures These cloud drivers also map the cloud specific APIs to the service unit’s configuration capabilities depending to the services of the providers We implemented the Openstack connector using JClouds [37] and some specific cloud APIs from cloud providers like StratusLab4 and Flexiant5 Cloud Configurator cho phép SALSA gắn trình điều khiển đám mây khác để kết nối với sở hạ tầng GitHub https://github.com/ StratusLab http://stratuslab.eu Chef Community http://www.getchef.com/community/ Flexiant http://www.flexiant.com điện toán đám mây khác Các trình điều khiển đám mây liên kết đến APIs đám mây cụ thể cho khả cấu hình đơn vị dịch vụ tùy thuộc vào dịch vụ nhà cung cấp Chúng xây dựng kết nối OpenStack sử dụng JClouds [37] số APIs đám mây cụ thể từ nhà cung cấp điện toán đám mây StratusLab Flexiant The Local Configurator wraps the functionalities of different software configuration tools and maps them on the configuration capabilities of service units By manipulating the VM environment, the Local Configurator uses the existing local package management tools (e.g apt-get, yum, gem, pip) or setups and uses higher level tools (e.g Chef) Các Local Configurator bao bọc chức công cụ cấu hình phần mềm khác liên kết chúng khả cấu hình đơn vị dịch vụ Bằng cách thao tác môi trường VM Local Configurator sử dụng công cụ quản lý gói cục có (ví dụ apt-get, yum, gem, pip) thiết lập sử dụng công cụ cấp cao (ví dụ Chef) We also implemented a plug-in mechanism that allows the Local Configurator to work in different infrastructures Depending on the nature of the tools, we have different ways to fetch the artifacts for them from External Repositories Chúng xây dựng chế plug-in cho phép Local Configurator làm việc sở hạ tầng khác Tùy thuộc vào chất công cụ, có cách khác để lấy cấu phần (artifact) cho họ từ External Repositories