Series

DevOps

컨테이너부터 클라우드 오케스트레이션까지, 안정적인 서비스 운영을 위한 필수 인프라 기술을 다룹니다.

12 Posts

Ongoing
Part 1
Github
Not Read

[Github] CI/CD란 무엇인가?

CI/CD를 사용해야하는 이유를 알아본다.

Part 2
Github
Not Read

[Github] CI/CD 파이프라인 공급망 공격

실제 CI/CD 파이프라인 공급망 공격이 어떻게 일어나는지 확인합니다.

Part 3
Github
Not Read

[Github] Maintainer의 계정 해킹 없이 환경 변수 탈취하는 방법

PwnRequest 공격과 Expression Injection 공격을 알아봅니다.

Part 4
Github
Not Read

[Github] AWS credential을 탈취하는 방법

IMDBv2의 취약한 부분을 바탕으로 AWS 서비스의 Credential을 탈취하는 방법을 PoC합니다.

Part 5
Kafka
Not Read

[Kafka] Kafka, 데이터의 흐름을 다루는 방법

왜 다들 Kafka, Kafka 하는지, 기존 방식과 뭐가 다른지 기본 개념부터 정리합니다.

Part 6
Kafka
Not Read

[Kafka] RabbitMQ vs Kafka, 뭘 써야 할까?

메시지 큐를 고르는 기준으로 RabbitMQ와 Kafka는 뭐가 다르고 언제 뭘 써야 하는지 정리합니다.

Part 7
Kafka
Not Read

[Kafka] Producer와 Consumer는 실제로 어떻게 동작할까?

Kafka에 직접 메시지를 보내면서 Producer, Consumer, Consumer Group과 Offset이 어떻게 동작하는지 알아봅니다.

Part 8
Kafka
Not Read

[Kafka] 메시지 Key는 왜 필요할까? Python으로 Producer와 Consumer 구현하기

Python으로 Kafka Producer와 Consumer를 구현하고, 메시지 Key가 Partition과 이벤트 순서를 어떻게 결정하는지 알아봅니다.

Part 9
Kafka
Not Read

[Kafka] Producer는 메시지를 어떻게 안전하게 전송할까?

acks, retry, idempotence를 직접 설정하며 Kafka Producer에서 메시지 유실과 중복이 발생하는 순간을 알아봅니다.

Part 10
Kafka
Not Read

[Kafka] Consumer가 죽으면 무슨 일이 생길까? Rebalancing 직접 확인하기

Consumer가 추가되거나 사라질 때 Partition이 다시 배정되는 과정을 재현하고, 처리 중단과 중복을 줄이는 방법을 알아봅니다.

Part 11
Elasticsearch
Not Read

[Elasticsearch] 데이터가 많은데도 검색은 왜 빠를까?

관계형 데이터베이스의 검색과 Elasticsearch가 무엇이 다른지, 역색인과 Analyzer의 원리를 직접 실습하며 알아봅니다.

Part 12
Redis
Not Read

[Redis] 레디스는 그냥 빠른 캐시 아닌가요?

레디스가 정확히 무엇이고 왜 빠른지, RDBMS·멤케시디와는 어떻게 다른지 실전 레디스 1장을 기준으로 정리하고 직접 설치까지 해봅니다.