Cloud -> Cloud Native
B2C, iCloud, iPhone, Apple
Anytime, Anywhere, Share
B2B, 아마존, 공유경제, 에어비앤비, 우버, 점유권, 이용권
컴퓨팅 자원
온디멘드, AWS
24x365, AnyDevice, 미국 국립표준기술연구소 (NIST: National Institute of Standards and Technology)
Dev 개발 Sec 보안 Ops 운영 => CI/CD
FinOps 사용량만큼 비용청구, 가성비
DataOps 빅데이타, AI, 전처리, 정제, 마이닝
Scale-Up vs Scale-Out
Scale-Up, 용량을 키움
Scale-Out, 여러개로
https://aws.amazon.com/ko/solutions/case-studies/indischool/
AWS 고객사례 : 인디스쿨
14만 명의 회원을 보유하고 있는 인디스쿨은 초등학교 교사들이 자발적으로 참여하는 인터넷 커뮤니티입니다. 운영과 재정적인 지원은 모두 자원 봉사자와 기부를 통해 이루어지고 있어, 소수의 IT 인력으로 운영이 되고 있었습니다. 인디스쿨은 기존에 IDC에서 운영하던 모든 시스템을 AWS로 이전하고 Auto Scaling을 적용해 확장성 및 비용 절감 효과를 얻을 수 있었고, Elastic Load Balancing, Amazon RDS 등을 적용해 고가용성을 확보했습니다.
코로나19 백신 예약 시스템
Gate -> 큐 -> 인증 -> 예약
Scale Out
Gate -> 인증 -> 큐 -> 예약 -> DB, Block Chain 사상
-> 인증 -> 큐 -> 예약
-> 인증 -> 큐 -> 예약
-> 인증 -> 큐 -> 예약
Cloud Management Platform
사용량->AI->예측
Agile - Time To Market
Lean - Start up costs, 낭비되는 요소를 줄이자.
낭비 제거(Eliminate waste) : 불필요한 코드/기능, 불분명한 요구사항(요구사항 혼란) 등 상품의 가치에 영향을 미치지 않는 모든 것을 제거
배움 증폭(Amplify Learning) : 개발 과정 진행 중 참여자(기획자, 개발자, 고객 등) 학습의 필요성 존재
늦은 결정(Defer Commitment) : 돌이키기 힘든 주요 문제에 대한 의사결정을 최대한 연기함으로써 요구사항변경에 적극적으로 대응
빠른 납품(Deliver Fast) : 결과물을 가능한 한 빨리 제공하는 것이 도움이 됨. 사용자의 불확실성이 감소하고, 개발자에게는 결함발견의 기회가 주어짐
팀에 권한 위임(Empower the Team) : 팀원들의 동기부여 및 자기 의사 결정권으로 잠재력 극대화
통합성 구축(Build Integrity in) : 개발 초기부터 지속적인 통합(TDD)으로 품질 향상. 소규모 개발 단계에서 오류를 수정하여 낭비를 제거
전체 최적화(Optimize the whole) : 사용자 요구사항수집부터 S/W 배포까지 모든 프로세스 최적화
TPS, 보틀넥(bottleneck)
설계 -> 제조 -> 납품
->피드백 ->피드백 ->피드백
Capex 자본 vs Opex 운영
구매방식, 자본증가
자산, 부채, 감가상각비용
손익계산서
매출이익 = 매출 - 매입
영업이익 = 매출이익 - 판매관리비(Opex), 영업이익이 줄면 세금이 줄어듬
국제회계기준16, 리스는 부채로 변경되어 클라우드로, IFRS 16 리스
Cloud Computing Limitations
Structure - NIST
클라우드
가상화
Four Deployment Models
Private Cloud, 가상화 전제, 프로비저닝, 서비스단위로 한번에, 결재 후 대신 실행하는 것도 포함,
Out-sourced Private Cloud
On-site Private Cloud
Tree Service Models
Infrastructure as a Service, 물리자원, 가상자원, VM, infra
Platform as a Service, Infra + runtime
Software as a Service, all
X as Service
E as Service
Application Layer
Middleware Layer, 브라우저 등
Opperating System Layer
SaaS, 소프트웨어를 네트워크를 통하여 서비스 받음
PaaS
Iaas
AWS, cloud 신기술 많음
GCP, 모바일, AI 쪽이 많음
Oracle Cloud Platform, DB, DR, Big Data 쪽이 많음
MS-Azure, 오피스, RPA 주력
Naver Cloud Platform, 한글 Data 처리, 공공클라우드, api 개방성
Kakao Cloud Platform, 신규 진입
Watson for Oncology
IBM은 하드웨어 기반에서 클라우드 기반 소프트웨어 회사로 변신 중
Metavers 아키텍처, Meta, Digital 기술
Cloud Native, Eco System
Pillars of Cloud Native
개발: 요구분석->설계->구현->테스트->적용
인프라: 도입->구축->검수
서비스: 개발 + 인프라
Pillars of Cloud Native: CI(Continuous Integration) / CD(Continuous Delivery)
Pillars of Cloud Native: Containers
메인프레임, 중앙집중식, CS(Server Client) 체계
서비스 개발 vs 서비스 운영, 인프라가 아님
Agile, Software Driven Infrastructure
ITIL, Operational Stability, ITIL/ITSM, SLA
Agile manifesto
CALMS Framework: Culture, Automation, Lean, Measurement, Sharing
DevOps Tool Chain
계획, 코드, 빌드, 테스트, 패키지, 릴리스, 구성, 모니터링
DevOps 이점
Dev = CI ( Continuous Integration, 지속적인 통합 )
Ops = CD ( Continuous Delivery and Continuous Deploy )
Container, 가상화 ( virtualization )
가상화 기술, 호스트 가상화, 하이퍼바이저 가상화, 컨테이너 가상화
가상화, 나눠쓰기
리눅스 파일 시스템
LXC(Linux Container)
namespaces, 프로세스를 독립시켜주는 가상화 기술
cgroup(control groups), H/W, process
docker, libcontainer, libvirt, LXC, systemd-nspawn
OS(system) Containers vs App Containers
Container
Union File System(UFS)에 대한 이해
Union Mount
Union File System
UFS는 여러 개의 파일 시스템을 하나의 파일 시스템에 마운트 하는 파일 시스템 개념
Docker의 개념과 아키텍처
HW -> 커널 -> 컨테이너 -> 도커 API
Docker Storage Drivers
docker file -> docker build -> docker pull -> docker run
container -> image layers / read only, 변경불가
Container OS'es
런타임(Run Time)
compile time -> run time, 고수준 런타임, 저수준 런타임 runC
Client - Docker Engine - Containerd - Container - runC - daemon process
Kubernetes and Docker / Containerd / CRI-O
pure, 오픈소스 원래 코드만
openstack
Docker Architecture
Client - Docker Host - Registry
Docker Components
Docker Hub
Docker Tools
Dev - QA - PRD
컨테이너 기술 적용 사례
Micro Servuces Architecture (MSA)
MSA의 개념 이해
해시캐시
blockchain
POW (Proof of Work)
POS (Proof of Stake)
쿠버네티스, 서비스 메시(Service Mesh)
Monolithic 모놀리식
Services Oriented Architecture ( SOA ) VS Mircroservices Architecture ( MSA )
The Twelve Factors
I. 코드베이스
MSA, Container and Kubernetes
Kubernetes, 스케줄링(컨테이너 배포)과 클라우드 환경을 지원하는 오픈소스 플랫폼
메소스피어(mesosphere)
Kubernetes Architecture, k8s
Kubernetes vs Docker Swarm
Kubernetes vs Datacenter OS (DCOS)
Kubernetes Components
Container -> Pod -> Node -> Cluster, Control Plane(Master)
Node부터 Replicaset 배포 가능
Masters ( Control Plane )
Masters ( Control Plane ) Components
Node Components
Kubernetes Runtime
Pods Anatomy
Pods Tightly Coupled vs Pods Loosely Coupled
Pods and Scaling
Pod Lifecycle
Deploying Pods
ReplicaSets(RS) and Deployment
kubectl apply -f test-replicatset.yaml
kubectl get replicaset,pods
kubectl delete pod test-replicaset-xgggb
kubectl get replicaset,pods
Deployments, 배포
Multiple concurrent versions
K8S Services
Connecting Pods to Services
K8S - 운영 모델
Declarative Model vs Imperative Model
The Declarative Model and Desired State
Kubernetes 기반의 Hybrid Multi-Cloud 이해
Pod를 Google, Oracle, Alibaba, BareMetal, Amazon, AZURE, Edge Cloud, Vmware 등 다양하게 위치시킴
Hybrid Multi-Cloud K8S
Hybrid Multi-Cloud Architecture
엣지 클라우드 ( 분산형 클라우드 ), Edge Cloud