2024年8月12日 星期一

how many instances and containers will be launched in AWS ECS service

AWS 彈性容器服務 (ECS) 分成 ECS on Fargate 及 ECS on EC2 兩種。其中,ECS on Fargate 由 Fargate 服務全權負責容器如何配置到個體,屬無伺服器 (serverless)或 託管 (managed)的運算類服務。ECS on EC2 則由用戶自行負責容器如何配置到個體,其服務參數的任務配置(task placement)選項包含: az balanced spread,az balanced binpack,binpack,one task per host,random,custom等。預設 az balanced spread 為先平衡分散到不同的可用區,再平衡分散到可用區內個體。binpack乃依記憶體儘量配置容器到最少數量的個體上,即挑選足夠放置之下,剩餘記憶體最小之個體先放容器。

至於 ECS 到底會啟動幾個虛擬機個體 (instance)及容器 (container)來提供服務,可由如下因素決定: 
  1. 個體數: 由 ECS 叢集參數的個體希望容量(desired capacity) 上下限決定。其實際數量可由叢集的自動伸縮群組(ASG, Auto Scaling Group)參數,依個體負載指標值(metric)變化,在希望容量的上下限之間,採用目標追蹤(target tracking)類型原則,作伸縮調整。
     
  2. 容器數: 由 ECS 部署建立服務的所須任務數 (desired tasks)參數,及建立任務定義時使用的容器數量有多少兩者決定。ECS服務的實際任務數可由服務自動伸縮 (Service Auto Scaling) 參數,依服務負載指標值變化,看是採用目標追蹤(target tracking)類型或步進伸縮(step scaling)類型的原則,作伸縮調整。
Reference:
1. ECS叢集個體自動擴展: Automatically manage Amazon ECS capacity with cluster auto scaling - Amazon Elastic Container Service

2024年4月21日 星期日

what's the mechanism behind hash tables

雜湊表格 (HashTable),雜湊集合 (HashSet),或 雜湊映射 (HashMap),以下統稱雜湊表格,是效能最佳的一種資料結構,其增刪查找的時間複雜度皆為 O(1),和容器存放的元素個數 n 無關。Python語言的集合 (Set) 及字典 (Dictionary) 就是分別基於 雜湊集合 及 雜湊映射 而實現的,所以存取效能很好。

話雖如此,雜湊表格苦於兩個缺點,一是不能發生踫撞,只要踫撞嚴重,存取效能就會降低,退化成 O(n)。二是不能排序,不能查詢比某元素大/小的元素集合(tailSet/headSet)。若容器須要排序,只能退而求其次,改用樹狀結構 (TreeSet/TreeMap),例如搜索樹等,其增刪查找效能降到 O(log(n));或堆積 (Heap),其增刪效能 O(log(n)),但查找最小或最大值效能 O(1)。

以下參考文獻,列出雜湊表格常採用的技術分類,供了解其極佳效能的作法及補救法。

A. Hash code and compression: (雜湊碼及壓縮技術)

  A1. Hash code function 雜湊碼函數
         如何依據元素內容計算雜湊值

  1.  Bit representation (位元表現法)
  2.  Polynomial hash codes (多項式雜湊碼)
  3.  Cyclic-shift hash codes (循環平移雜湊碼)

  A2. Compression function 壓縮函數
        如何將雜湊碼 (hash_code) 依表格大小 (hash_table_size) 轉為找尋起點格下標

  1.  Division method (求餘數法)
         hash_code mod hash_table_size
  2.  MAD (multiply-add-and-divide) method (乘加求餘數法)
         [(a * hash_code + b) mod p] mod hash_table_size

B. Hash collision handling 雜湊踫撞處理法

  B1. Closed addressing / Open hashing or Separate chaining
         封閉式定址         /  開放式雜湊法,個別串接

         放元素的格子全由元素的雜湊碼決定 / 放元素的格子在雜湊表之外

  B2. Open addressing / Closed hashing
         開放式定址       / 封閉式雜湊法

        放元素的格子不全由元素的雜湊碼決定,視當時踫撞情形而定 / 放元素的格子在雜湊表

  1. Linear probing 線性探索
  2. Quadratic probing 平方探索
  3. Double hashing 雙雜湊

Reference:

  1. Open Addressing Collision Handling technique in Hashing - GeeksforGeeks
  2. 2015-goodrich-wiley-data structures & algorithms in java, 6th ed.

2024年3月9日 星期六

cybersecurity and privacy protection related standards

隨著資安及隱私越來越受公私部門重視,以下列出資通安全 (cybersecurity) 及隱私保護常見的 ISO (International Standardization Organization ,國際標準化組織) 及其他標準供參考。

  • ISO 9000系列品質保證管理標準 
    • 9001品質管理系統(QMS)要求

  • ISO 22300系列安全和復原力標準 
    • 22301事業持續性管理系統(BCMS)要求 
    • 22317事業持續性管理系統指導綱要

  • ISO 27000系列資訊安全管理系統(ISMS)標準
    • 27001資訊安全管理系統要求,附錄A含控制目標、控制措施 
    • 27002資訊安全管理系統作業規範,供選擇、實施、管理控制措施之用 
    • 27003資訊安全管理系統規劃指引,有關必要活動的建議(應該),可能(能力可以),允許(權限可以)作法指引 
    • 27004資訊安全管理系統評測指導網要,供監測、測量、分析、評測之用 
    • 27005資訊安全風險管理指導綱要 
    • 27006稽核驗證機構之要求

    • 27017雲端服務資訊安全管理 
    • 27018雲端服務個資保護作業規範 

    • 27102資安管理的網宇保險指導綱要

    • 27701隱私資訊管理要求及指導綱要,含PII控制者及處理者

  • ISO 29100系列隱私權框架標準 
    • 29134隱私衝擊評估指導綱要 
    • 29151個資保護作業規範

  • ISO 31000風險管理指導綱要

  • CIS,網際網路安全中心 (Center for Internet Security) 
    • Critical Security Controls 重要安全控制措施: 基礎型(6),功能型(10),組織型(4)

  • EU,歐洲議會及委員會
    • GDPR 2016/679 一般資料保護法規 (General Data Protection Regulation)

  • IEC,國際電工委員會 (International Electrotechnical Commission)
    •  62443 工業通信及網路-網路及系統安全系列標準,乃工業控制系統資訊安全,風險控管基準

  • ISAC,資訊分享與分析中心 (Information Sharing and Analysis Center)
    • COBIT 2019,  資訊及相關技術控制目標 (Control OBjectives for Information and related Technology) 標準

  • NIST,美國商業部國家標準暨技術研究院 (National Institute of Standards and Technology) 
    • CyberSecurity Framework 網宇安全框架 
    • SP800-137資安持續監視 
    • SP800-207零信任架構 

  • NICS,行政院數位發展部國家資通安全研究所 (National Institute of Cyber Security)
    • GCB,政府組態基準 (Government Configuration Baseline)
    • VANS,弱點分析及通報系統 (Vulnerability Analysis and Notice System)
    • EDR,端點偵測及應變機制 (Endpoint Detection and Response)
    • ZTA,零信任架構 (Zero Trust Architecture)
    • N-SOC,國家資安聯防監控中心 (National Security Operation Center)
    • N-CERT,國家資通安全通報應變中心 (National Computer Emergency Response Team)

  • ACS,行政院數位發展部資通安全署 (Administration for Cyber Security)
    • 資安政策與法規
    • 關鍵基礎設施資安防護
    • 資安事件通報應變
參考:
1.經濟部產業發展署 產業人才能力鑑定計畫 iPAS 數位課程平台 (industry Professional Assessment System)