K's Atelier

個人的な学習記録

Fundamental Knowledge of Cloud Solutions Architect

AWSのSolutions Architect向け講座の講師準備。生成AIに入力したら面白いかな,ということで手書きで整理している。

AWSのサービス自体はいくら覚えてもどうせ変わってしまう。そもそもサービスの仕様などは人に聞いてないで,APIを叩くべきだろう。講師はAPIの叩き方を教えるべき。

 

講座としては,一般知識との関係を説明するのが大切だ。なぜ,講師が受講者に説明するのか。今は生成AIあるし,講師が説明することなんてないんじゃないか。という疑問が沸く。

生成AIには「出力の真偽判定にかなりの技術力が必要になる」という課題がある。生成AIの出力の真偽が分からない,という問題は,生成AIの精度が極限まで向上しても変わらない。これは根本的には「人間がそれで良いと判断するかどうか(=安心するかどうか)」の問題だからだ。例えばAWSの公式成果物ですら,間違っていることはある。実際に"Select THREE"と書いてある多肢選択問題の正解が,2つの選択肢のみだったことがある。公式ドキュメントだから安心できるとは限らない。

「安心するしない」の観点からいうと,生成AIの出力で安心できる人のスキルレベルには2種類あると思う。

  1. そもそも生成AIの出力を疑えないので安心している人。←有識者のサポートが必要
  2. 生成AIの出力の正誤を判定できるので安心している人。←講座は必要ない

現状も,今後も,基本的には「正誤が分かる人が能力をBoostするために生成AIを使う」ということになりそうだ。

Fundamental Knowledge of Cloud Solutions Architect

Module 1: Prerequisites of "Architecting Fundamentals"

    What is "Infrastructure of System?"
        Components of the Software System
            Application and Infrastructure
            Network and Server
            Protocols
    Enterprise system architecture
        Datacenter
        Global infrastructure
    Requirements of Infrastructure
        Non-functional requirements
        Security
        Reliability

Module 2: Prerequisites of "Account Security"

    CIA(Confidentiality, Integrity, and Availability)
    Authentication and Authorization
        OpenID Connect, SAML
    Role-Based Access Control

Module 3: Prerequisites of "Networking 1"

    Overview
        Node-to-node connection in single network(Addressing)
        Connecting networks(Routing)
    Protocols
    Open System Interconnection Reference Model
    TCP/IP Model
    IP addresses
        Subnet mask
    Routing
    Network Address Translation(NAT),Network Address Port Translation(NAPT)
    Router
    Network Interface Card(NIC)
        A use case of attaching multi-NICs on one server

Module 4: Prerequisites of "Compute"

    Overview
        What is the service?
        Specific services on the system
            Database service
            Directory service
        Application level services
            Map Search
            Ticket register
            Bank transaction
    Components of the server
        Operating system
        Middleware
        shell
    Linux operation hands-on
        process monitoring
        file system operation
        editing with editor

Module 5: Prerequisites of "Storage"

    Physical structure
        Hard disk drive
        Solid state drive
    Connecting between server and storage device    
        DAS(Direct Attached Storage)
        NAS(Network Attached Storage)
        SAN(Storage Area Network)
    Data types that stored in the storage
        Block storage
        File storage
        Object storage

Module 6: Prerequisites of "Database Services"

    Data model
        Relational data model
            Normalization, Normal-form
        Hierarchical data model 
        Network data model
    Relational Database Management System
        Table, Record, Column
        Primary key, Foreign key
        Structured Query Language(SQL)
        Transaction
    NoSQL Databases
        Key-value
        Graph
    Backup and replication

Module 7: Prerequisites of "Monitoring and Scaling"

    Overview
        Why do we need monitoring?
            Fault-tolerance: error detection and recovery
            Fraud detection
            Performance: Auto Scaling
        Observability
    Logging
    Metrics
    Event
    Load Balancing

Module 8: Prerequisites of "Aumotation"

    Overview
        Why do we need Infrastructure as Code?
            Shortened development cycle
            Quick recovery from failure
    Description style of IaC
        imperative style
        declarative style
    Popular tools for IaC
        Terraform
        OpenStack Heat
        Chef
        Puppet
    Points to note of IaC
        Appling code for the different environments (Parameterized code).
        Appling code for the complicated system (divide codes for each perspective).        

Module 9: Prerequisites of "Containers"

    Overview
        What is the container, and why is this so important?
            Development speed
        Types of virtualization
            Hosting
            Hypervisor
            Container
    Popular tools for container
        Docker
        Kubernetes

Module 10: Prerequisites of "Networking 2"

    Overview
        Inter-connection of data centers
        Inter-connection of data center and client pc
        Leased Line or Internet
        Leased Line
        Virtual Private Network
        Border Gateway Protocol(BGP)

Module 11: Prerequisites of "Serverless"

    Overview
        What is Serverless?
        Benefits and drawbacks of serverless
        Design concepts of serverless architecture
            Event-driven architecture
            Synchronous or Asynchronous
            Streamline processing
            Message queue
            Publish and subscribe
            Message delivery
                At most once
                At least once
                Exactly once
            RESTful API

Module 12: Prerequisites of "Edge Services"

    Content Delivery Network
        Cache
        Security
    DNS
    DDoS attack
    Web Application Firewall

Module 13: Prerequisites of "Backup and Recovery"

    Recovery Time Objective
    Recovery Point Objective
    Backup and Standby strategy
        Cold standby
            Pilot light
        Warm standby
        Active/Active
    Replication

 

おまけ

お金に余裕がないけど時間に余裕のある人は,以下の"Solutions Architect Learning Plan - Earn a Learning Badge"が良いと思う。日本語版もある。

https://explore.skillbuilder.aws/learn/lp/1044/solutions-architect-learning-plan-earn-a-learning-badge

Solutions ArchitectのRamp-up Guideがある。

https://d1.awsstatic.com/training-and-certification/ramp-up_guides/Ramp-Up_Guide_Architect.pdf

 

ここまで時間投資をしてインフラ,AWSの知識を身につけるべき人がどの程度いるのかは私には分からない・・・