본문 바로가기
소소한 일상

Cloud Solutions Architect를 위한 개념 키워드

by MFDO 2023. 11. 29.

 

멋쟁이 신입 사원이 되기 위해 정리한 표들이다.

키워드들은 흐름설명을 위한 예시이다.

내가 이 개념들을 알고 흐름대로 설명할 수 있는가?! 를 집중하고 있다.

 

공부 내용이 너무 많아 최근 삼성SDS 임직원 멘토링을 통해

공부의 우선순위를 질문하였다.

혹시나 아래 내용 중 빼도 되는 주제가 있을까 기대했지만,

역시나 희망 직무를 듣고는 "다 공부하셔야하긴 하는데..." 라는 답변이 돌아왔다.

 

그렇다면, 우선순위를 어디에 둘 지 질문을 드리니,

운영체제 => 네트워크 => DB => 서버 운영 => 클라우드

인 것을 보니 기본부터 탄탄히 채우라는 말씀 같았다!

 


 

활용

1. 표를 인쇄한다.

2. 짬짬히 기술 블로그, 서적을 통해 키워드들을 학습한다.

3. 연결/꼬리질문을 만든다.

연결질문 꼬리 질문
JVM, Spirng Boot, JPA를 안다.  => JVM부터 시작해서 JPA 까지 어떤 흐름으로 구동되는지 설명해보자. 파일은 어떻게 구분되지? 확장자는 어떻게 구분되지? 왜 pptx, zip이 같은 매직 넘버를 갖지? 

4. 학습여부와 날짜를 체크한다.

 

 

아래는 정리한 표이다.

Docker나 CI/CD등 빠진 개념의 표도 만들어나갈 예정이다...

내가 꼭 알아야 할 개념.docx
0.03MB


 

 

 

 

운영체제를 안다고 말하기 위해 알아야할 키워드

개념 키워드
운영체제 (Operating System) 커널, 프로세스, 메모리, 파일 시스템
커널 (Kernel) 스케줄러, 디바이스 드라이버, 시스템 호출
파일 시스템 (File System) 디렉토리, 파일, 클러스터, 인덱싱
프로세스 (Process) 스레드, 쓰레드, PCB, 문맥 교환
스레드 (Thread) 동시성, 병렬성, 경쟁 상태
메모리 관리 (Memory Management) 가상 메모리, 페이지 폴트, 캐싱
파일 및 디렉토리 관리 FAT, NTFS, inode, 파일 액세스 권한
입출력 관리 (I/O Management) 버퍼링, DMA, 입출력 포트
인터럽트 (Interrupt) 하드웨어 인터럽트, 소프트웨어 인터럽트
디바이스 드라이버 (Device Driver) 하드웨어 추상화, 펌웨어
시스템 호출 (System Call) API, 유저 모드, 커널 모드
프로세스 스케줄링 (Process Scheduling) Round Robin, 선점형, 비선점형
가상 메모리 (Virtual Memory) 페이지 테이블, 스왑, 메모리 매핑
네트워킹 (Networking) TCP/IP, OSI 모델, 라우팅
보안 (Security) 암호화, 방화벽, 권한, 인증

 

 

 

네트워크를 안다고 말하기 위해 알아야할 키워드

개념 키워드
네트워크 (Network) 프로토콜, 패킷, 라우터, 스위치
프로토콜 (Protocol) TCP/IP, HTTP, DNS, FTP, UDP
패킷 (Packet) 헤더, 페이로드, 라우팅, 스위칭
라우터 (Router) 라우팅 테이블, 게이트웨이, 서브넷
스위치 (Switch) MAC 주소 테이블, VLAN, 포트
TCP/IP TCP, IP, 포트, 소켓
HTTP 요청 메서드, 상태 코드, 헤더
DNS (Domain Name System) 도메인, 네임 서버, 쿼리
FTP (File Transfer Protocol) 데이터 전송 모드, 포트
UDP (User Datagram Protocol) 연결리스, 비연결형, 멀티캐스트
헤더 (Header) IP 헤더, TCP 헤더, HTTP 헤더
라우팅 (Routing) 정적 라우팅, 동적 라우팅, 경로
스위칭 (Switching) 스위칭 테이블, MAC 주소, 포워딩
VLAN (Virtual LAN) 브로드캐스트 도메인, 태깅, 언태깅
TCP (Transmission Control Protocol) 연결 지향, 신뢰성, 흐름 제어
IP (Internet Protocol) IPv4, IPv6, 서브넷 마스크
포트 (Port) 웰노운 포트, 동적 포트, 포트 번호

 

 

 

 클라우드를 안다고 말하기 위해 알아야할 키워드

개념 키워드
클라우드 (Cloud) 가상화, 확장성, 서비스 모델, 리소스 프로비저닝
가상화 (Virtualization) 가상 머신, 하이퍼바이저, 컨테이너
확장성 (Scalability) 수평 확장, 수직 확장, 부하 분산
서비스 모델 (Service Models) IaaS, PaaS, SaaS
리소스 프로비저닝 (Resource Provisioning) 자동화, 스케일 업/다운, 오토스케일링
가상 머신 (Virtual Machine) 하드웨어 가상화, 이미지, 스냅샷
하이퍼바이저 (Hypervisor) 타입 1, 타입 2, 가상화 소프트웨어
컨테이너 (Container) 도커, 쿠버네티스, 마이크로서비스
수평 확장 (Horizontal Scaling) 여러 인스턴스, 로드 밸런싱
수직 확장 (Vertical Scaling) 성능 업그레이드, 자원 강화
부하 분산 (Load Balancing) 로드 밸런서, 트래픽 분배, 고가용성
IaaS (Infrastructure as a Service) 가상 서버, 스토리지, 네트워킹
PaaS (Platform as a Service) 개발 플랫폼, 런타임 환경, 디버깅
SaaS (Software as a Service) 웹 애플리케이션, 이메일, 오피스 스위트
자동화 (Automation) 스크립팅, 구성 관리, 인프라 코드
스케일 업/다운 (Scale Up/Down) 수직 스케일, 수평 스케일
오토스케일링 (Autoscaling) 트리거, 메트릭, 자동 조정
이미지 (Image) 가상 머신 이미지, 도커 이미지
스냅샷 (Snapshot) 상태 저장, 백업, 롤백
도커 (Docker) 컨테이너 기술, 이미지, 컴포즈
쿠버네티스 (Kubernetes) 오케스트레이션, 파드, 레플리카셋

 

 

 

 백엔드를 안다고 말하기 위해 알아야할 키워드

개념 키워드
백엔드 (Backend) 서버, 데이터베이스, 비즈니스 로직, API
서버 (Server) 웹 서버, 애플리케이션 서버, 데이터베이스 서버
데이터베이스 (Database) SQL, NoSQL, 관계형 데이터베이스, 몽고DB
비즈니스 로직 (Business Logic) 서버 사이드 로직, 알고리즘, 데이터 처리
API (Application Programming Interface) RESTful API, GraphQL, 엔드포인트, 요청 및 응답
웹 서버 (Web Server) Apache, Nginx, 웹 호스팅, 포트
애플리케이션 서버 (Application Server) Tomcat, JBoss, 웹 애플리케이션 배포
SQL (Structured Query Language) SELECT, INSERT, UPDATE, DELETE
NoSQL MongoDB, Redis, Cassandra
관계형 데이터베이스 (Relational Database) MySQL, PostgreSQL, Oracle
몽고DB (MongoDB) 문서 지향 데이터베이스, 콜렉션, 도큐먼트
RESTful API HTTP 메서드, 자원, 상태 코드, URI
GraphQL 쿼리 언어, 스키마, 리졸버
엔드포인트 (Endpoint) URL, REST API 엔드포인트, 경로
요청 및 응답 (Request and Response) HTTP 요청 메서드, 헤더, 바디
Apache 웹 서버 소프트웨어, 가상 호스팅
Nginx 리버스 프록시, 로드 밸런싱
Tomcat 자바 웹 애플리케이션 서버
JBoss Java EE 애플리케이션 서버
웹 호스팅 (Web Hosting) 공유 호스팅, 가상 서버, 클라우드 호스팅
포트 (Port) 포트 번호, 포트 포워딩, 보안 그룹

 

 

 

Spirng Framework를 안다고 말하기 위해 알아야할 키워드

개념 키워드
Spring Framework IoC 컨테이너, DI, AOP, Bean, 컨텍스트
스프링 부트 (Spring Boot) 자동 설정, 내장 서버, 스프링 부트 스타터
MVC 아키텍처 (MVC Architecture) 모델, , 컨트롤러
빈 라이프사이클 (Bean Lifecycle) 초기화 메서드, 소멸 메서드, 빈 후처리자
어노테이션 (Annotations) @Controller, @Service, @Repository, @Autowired
의존성 주입 (Dependency Injection) 생성자 주입, 세터 주입, 필드 주입
애스펙트 지향 프로그래밍 (Aspect-Oriented Programming) @Aspect, Advice, Pointcut
데이터베이스 연동 (Database Integration) JdbcTemplate, Hibernate, MyBatis
트랜잭션 관리 (Transaction Management) @Transactional, Propagation, Isolation
스프링 시큐리티 (Spring Security) 인증, 권한, 필터 체인, 사용자 인터페이스
스프링 데이터 JPA (Spring Data JPA) Repository, Query Methods, JpaRepository
RESTful 웹 서비스 (RESTful Web Services) @RestController, @RequestMapping, @PathVariable
스프링 부트 스타터 (Spring Boot Starter) Starter 의존성, 자동 구성, 커스터마이징
프로파일 (Profiles) 개발 환경, 운영 환경, @Profile 어노테이션
테스트 (Testing) JUnit, @SpringBootTest, MockMvc
스프링 클라우드 (Spring Cloud) 서비스 디스커버리, 분산 설정, 히스트릭스
마이크로서비스 아키텍처 (Microservices Architecture) 독립 배포, API 게이트웨이, 분산 데이터 관리
스프링 배치 (Spring Batch) Job, Step, ItemReader, ItemWriter
캐시 (Caching) @Cacheable, @CacheEvict, 캐시 구현체
스프링 웹 플럭스 (Spring WebFlux) Reactive Programming, Flux, Mono
레디스 (Redis) 캐시 저장소, Pub/Sub, 레디스 템플릿

 

 

 

 AWS를 안다고 말하기 위해 알아야할 키워드

개념 키워드
AWS (Amazon Web Services) EC2, S3, RDS, Lambda, VPC, IAM
클라우드 컴퓨팅 (Cloud Computing) 가상 서버, 온디맨드, 탄력적 확장
EC2 (Elastic Compute Cloud) 인스턴스, AMI, 인스턴스 유형, 키 페어
S3 (Simple Storage Service) 버킷, 객체, 버전 관리, 정적 웹 호스팅
RDS (Relational Database Service) MySQL, PostgreSQL, Aurora, 스냅샷
Lambda 서버리스, 이벤트 드리븐, 함수 실행
VPC (Virtual Private Cloud) 서브넷, 라우팅 테이블, 보안 그룹, ACL
IAM (Identity and Access Management) 사용자, 역할, 그룹, 권한 정책
탄력적 확장 (Elasticity) Auto Scaling, 수평 확장, 수직 확장
가용 영역 (Availability Zone) 리전, 다중 가용 영역, 가용성
CloudWatch 모니터링, 경보, 지표, 로깅
Elastic Beanstalk 플랫폼 서비스, 애플리케이션 배포
Route 53 도메인 등록, DNS 서비스, 라우팅
CloudFront CDN, 캐시, Edge Location
SNS (Simple Notification Service) 토픽, 메시지, 서브스크립션
SQS (Simple Queue Service) , 메시지 전달, 폴링
Kinesis 데이터 스트림, 파이어호스, 비디오 스트림
DynamoDB NoSQL 데이터베이스, 테이블, 아이템
ECS (Elastic Container Service) 도커, 태스크, 클러스터, 서비스
EKS (Elastic Kubernetes Service) Kubernetes, 마스터, 노드 그룹
API Gateway API 관리, 배포, 인증, 캐싱
CloudFormation 인프라스트럭처 코드, 스택, 템플릿
VPC Peering 가상 사설망 연결, 라우팅
Direct Connect 전용 네트워크 연결, 고가용성
WAF (Web Application Firewall) 보안 정책, 규칙, XSS, SQL 인젝션
Cognito 사용자 풀, ID , 인증, 권한 부여

 

 

아키텍처를 안다고 말하기 위해 알아야할 키워드  

개념 키워드
마이크로서비스 아키텍처 (Microservices Architecture) 독립 배포, 분산 데이터 관리, 각별한 서비스
클라이언트-서버 아키텍처 (Client-Server Architecture) Frontend, Backend, RESTful API
REST 아키텍처 (Representational State Transfer) 자원, URI, HTTP 메서드, 상태lessness
이벤트 드리븐 아키텍처 (Event-Driven Architecture) 이벤트, 발행-구독, 비동기 통신
시스템 아키텍처 (System Architecture) 모놀리식, 마이크로서비스, 이벤트 드리븐
분산 아키텍처 (Distributed Architecture) 클라이언트, 서버, 분산 데이터베이스
보안 아키텍처 (Security Architecture) 인증, 인가, 암호화, 보안 정책
캐시 아키텍처 (Cache Architecture) 캐시 서버, TTL, 레디스, 메모리 캐싱
컨테이너 오케스트레이션 (Container Orchestration) 쿠버네티스, 도커 스웜, 오토스케일링
서버리스 아키텍처 (Serverless Architecture) 함수 서비스, AWS Lambda, 이벤트 기반
이중화 (Redundancy) 확장성, 부하 분산, 고가용성
이중화 및 장애 복구 (Redundancy and Fault Tolerance) 장애 탄력성, 백업, 롤백
적응형 아키텍처 (Adaptive Architecture) 자동화, 학습, 성능 최적화
레이어드 아키텍처 (Layered Architecture) Presentation Layer, Business Logic Layer
, Data Access Layer
서비스 계약 (Service Contract) API, 인터페이스, 계약, 버전 관리
쿼드라틱 아키텍처 (Quadrant Architecture) 안정성, 플라이웨이트, 어댑터, 헥사고널
모바일 아키텍처 (Mobile Architecture) 네이티브 앱, 웹 앱, 하이브리드 앱
히스토리 및 상태 관리 (History and State Management) 브라우저 히스토리, 상태 저장소, Redux
서비스 지향 아키텍처 (Service-Oriented Architecture, SOA) 서비스, 메시지, 서비스 계약
산업 4.0 아키텍처 (Industry 4.0 Architecture) IoT, 빅데이터, 스마트 공장, 자율주행

 

 

 쿠버네티스를 안다고 말하기 위해 알아야할 키워드

개념 키워드
쿠버네티스 (Kubernetes) 컨테이너 오케스트레이션, 클러스터, 마스터 노드, 워커 노드
파드 (Pod) 컨테이너 그룹, 최소 배포 단위
디플로이먼트 (Deployment) 애플리케이션 배포, 롤링 업데이트
서비스 (Service) 서비스 디스커버리, 로드 밸런싱, 클러스터 내부 통신
레플리카셋 (ReplicaSet) 파드 복제, 가용성, 확장성
노드 (Node) 쿠버네티스 클러스터에서의 워커 머신
컨테이너 (Container) 도커, 파드 내부의 실행 단위
쿠블릿 (Kubelet) 노드에서 동작, 파드의 상태 유지 및 관리
쿠브-프록시 (kube-proxy) 서비스 노출, 로드 밸런싱
인그레스 (Ingress) 외부에서 클러스터로의 HTTP HTTPS 트래픽 관리
PV (Persistent Volume) 지속적인 스토리지, 스토리지 클래스와 함께 사용
PVC (Persistent Volume Claim) PV에 대한 요청, 동적 프로비저닝
네임스페이스 (Namespace) 리소스 분리, 다중 환경 지원
쿠버네티스 API (Kubernetes API) 클러스터 관리, 설정, 상태 등의 접근을 위한 RESTful API
컨피그맵 (ConfigMap) 설정 데이터, 애플리케이션 구성 정보
시크릿 (Secret) 민감한 정보 보호, 암호, 토큰 등
RBAC (Role-Based Access Control) 사용자 및 그룹에 대한 권한 제어
헬름 (Helm) 패키지 매니저, 애플리케이션 배포를 위한 차트
스테이트풀셋 (StatefulSet) 상태 유지, 순차적 파드 배포
커스텀 리소스 정의 (Custom Resource Definitions, CRD) 사용자 정의 리소스, 컨트롤러 확장
오토스케일링 (Autoscaling) 수평 및 수직 스케일링, 리소스 자동 조정
쿠버네티스 네트워크
(Kubernetes Network)
CNI, Pod 간 통신, 서비스 네트워크
쿠버네티스 이벤트
(Kubernetes Events)
클러스터 이벤트 로깅, 감지 및 디버깅

 

 

 

댓글