DORA 메트릭스: DevOps 성과 측정의 핵심 지표

업무를 하다 보면 성과를 정량적으로 측정하는 방법에 대해 고민하게 된다. 업무 효율이 향상되더라도 이를 명확한 지표로 나타내기는 쉽지 않다. 이러한 고민 속에서 DORA라는 방법론을 통해 업무를 측정할 수 있다는 것을 알게 되었다. 실제로 측정과 기록, 관리가 필요한 일이라 실무에 적용하기는 쉽지 않지만, 업무를 바라보는 관점을 이해하는 것은 중요하다고 생각한다. 이에 DORA 메트릭스에 대해 조사하고 정리해보았다. DORA(DevOps Research and Assessment) 메트릭스는 DevOps 팀의 성과와 효율성을 평가하는 4가지 핵심 지표이다. 이 지표들을 통해 소프트웨어 제공 프로세스의 품질을 객관적으로 측정할 수 있다. ...

January 13, 2025 2 min

회고 방법론 (Retrospective Methods)

회고를 진행할 때 활용할 수 있는 다양한 방법론들을 소개한다. 각 방법의 특징과 장점을 참고하여 상황에 맞는 방법을 선택하여 회고를 진행할 수 있다. 1. KPT (Keep, Problem, Try) 간단하면서도 실용적인 회고 방식으로, 개인 회고에 매우 적합하다. 때로는 가볍게 프로젝트 회고를 진행할 때도 유용하다. Keep: 잘했던 것, 유지하고 싶은 것 Problem: 문제점, 개선이 필요한 것 Try: 앞으로 시도해볼 것, 개선 방안 2. 5F (Fact, Feeling, Finding, Future, Feedback) 감정적인 부분까지 깊이 있게 돌아볼 수 있는 방법이라고 한다. 실제 업무에서 사용해본 적은 없다. 다만 감정을 느낀다는 측면에서 개인 회고에 적합하다고 한다. ...

January 1, 2025 3 min

AWS EBS, FSx, EFS for EC2: Storage Comparison (2024)

개요 ML Data platform engineering에서 Feature Store의 성능을 개선하기 위해 storage 옵션들을 검토하고 있다. Remote cache만으로는 network latency 문제가 있어서, disk storage를 활용하면 더 빠른 데이터 접근이 가능할 것으로 기대된다. 이 글에서는 AWS EC2에서 사용할 수 있는 주요 storage 옵션들을 비교 분석한다: Storage 최적화 EC2 인스턴스: 로컬에 직접 연결된 NVMe SSD로 최고의 I/O 성능 제공 EBS (Elastic Block Store): EC2에 연결되는 블록 스토리지로 높은 IOPS와 처리량 지원 FSx: 완전 관리형 파일 시스템으로 여러 EC2 인스턴스에서 공유 가능 EFS (Elastic File System): 완전 관리형 NFS 파일시스템으로 자동 확장/축소 지원 AWS EC2의 Storage 최적화 인스턴스 대용량 데이터셋에 대한 고성능 읽기/쓰기 작업이 필요한 워크로드를 위해 설계되었다. ...

November 15, 2024 9 min

hxxp와 hxxps: URL 무해화(Defanging)를 위한 http/https 대체 표기법 알아보기

URL 무해화(Defanging)란? 보안 전문가들은 악성 URL을 공유할 때 특별한 표기법을 쓴다. http 대신 hxxp를, https 대신 hxxps를 쓰는 것이다. 이런 방식을 ‘URL 무해화(URL defanging)‘라고 한다. hxxp/hxxps 표기법을 알게 된 계기 최근 ProtonMail(pm.me)의 이메일을 받아봤다. 이 회사의 개발 방식이 궁금해서 찾아보니 모든 코드를 GitHub에서 공개적으로 관리하고 있었다. 우연히 “Add checks to prevent formatting hxxps”라는 제목의 PR을 발견했다. 이 PR을 보고 hxxp/hxxps 표기법이 무엇인지, 왜 쓰는지 궁금했다. URL 무해화(Defanging)가 필요한 이유 보안 전문가들이 hxxp/hxxps 표기법을 쓰는 주된 이유는 다음과 같다: ...

November 7, 2024 2 min

2024 AWS Serverless Computing 종류 정리

1. Computing & Application AWS Lambda 소개: 이벤트 기반의 서버리스 컴퓨팅 서비스 해결문제: 짧은 실행 시간의 작업, 이벤트 처리, API 요청 처리 대체서비스: EC2, ECS, EKS 규모: 최소: 128MB 메모리, 실행시간 제한 15분 최대: 10GB 메모리, 동시실행 1000개 (증설 가능) AWS Fargate 소개: 컨테이너화된 애플리케이션을 위한 서버리스 컴퓨팅 엔진 해결문제: 컨테이너 운영에 따른 서버 관리 부담 제거 대체서비스: ECS/EKS with EC2 규모: 최소: vCPU 0.25개, 메모리 0.5GB 최대: vCPU 16개, 메모리 120GB 2. Integration & Orchestration ...

October 23, 2024 3 min

UI Bakery vs. Retool: A Comprehensive Comparison for 2024

Looking to choose between UI Bakery and Retool for building internal tools? This comprehensive comparison breaks down the key differences between these popular low-code platforms, focusing on data handling, dashboard creation, and ease of use. Data Handling and Integration Retool Retool excels in data handling and integration, making it a strong choice for operating in-house data[1][4]. It offers: Powerful integration with external data sources, including APIs, databases, and cloud services Support for SQL/NoSQL databases and services like Firebase, MongoDB, and PostgreSQL Real-time data syncing between the UI and data sources UI Bakery ...

October 21, 2024 4 min

AppWrite vs. Supabase in 2024: Which Backend Platform Should You Choose?

AppWrite vs. Supabase: A Comprehensive Comparison for 2024 Choosing between AppWrite and Supabase for your backend infrastructure? This detailed comparison covers everything you need to know about these popular Backend-as-a-Service (BaaS) platforms to make an informed decision. Key Differences at a Glance Database: AppWrite uses MariaDB, Supabase uses PostgreSQL Hosting Options: Both offer cloud and self-hosted solutions Language Support: AppWrite supports 10+ languages, Supabase focuses on TypeScript Performance: AppWrite shows better performance in stress tests Pricing Model: Both offer free tiers with different scaling options Performance and Scalability Benchmarks Recent performance tests reveal significant differences between these platforms: ...

October 21, 2024 2 min

PostgreSQL Connection Modes: Session vs Transaction Mode Explained

What are PostgreSQL Connection Modes? PostgreSQL offers two primary connection modes through connection poolers like PgBouncer: Session Mode (also known as Connection Mode) and Transaction Mode. Each mode serves different use cases and comes with its own set of advantages and trade-offs. Session Mode (Connection Mode) Explained Provides a dedicated database connection for each client throughout their entire session Only releases the connection when the client explicitly disconnects Maintains full compatibility with all PostgreSQL features and session-level commands Offers better reliability and compatibility with all PostgreSQL clients Consumes more database resources due to long-lived connections[2] Transaction Mode Deep Dive Maintains database connections only during active transactions Automatically returns connections to the pool after transaction completion Supports up to 10,000 client connections with minimal pool size Optimizes resource usage by efficiently managing idle connections Particularly effective for applications with numerous low-activity connections[2][3] Key Differences Between Session and Transaction Modes Connection Lifecycle: ...

October 21, 2024 2 min

Golang Project Guide from A to Z: From Feature Development to Enterprise Application Design

Summary “고언어 프로젝트 가이드 A-Z"라는 주제로, 작은 프로젝트부터 엔터프라이즈 애플리케이션까지 Go 언어를 사용한 개발 방법론에 대해서 공유해보았습니다. 작은 프로젝트와 큰 프로젝트의 차이점을 설명하고, 작은 프로젝트에 적합한 간단한 코드 패턴을 소개하고, 기능 단위의 프로젝트를 위한 코드 패턴으로 Handler와 HandlerFunc 방식을 비교하고 각각의 장단점을 설명합니다. 엔터프라이즈 애플리케이션을 위한 코드 패턴으로 Domain Driven Design (DDD) 접근 방식을 소개하고, 각 레이어(Presenter, Handler, Usecase, Service, Repository, Recorder)의 역할과 장점을 설명합니다. NoSQL 데이터베이스 (DynamoDB) 사용 시의 모델링 방법을 간략히 소개합니다. 그리고 각 레이어에서의 테스트 코드 작성 방법과 모킹 도구인 counterfeiter의 사용법을 설명합니다. 애플리케이션 릴리즈를 위해 필요한 도구들(APM, 에러 모니터링, 메트릭 수집, 로그 서비스)을 소개하고 그 중요성을 강조합니다. ...

October 14, 2024 2 min

Go 도입 후 4년 간 기록

Summary Gophercon Korea 2023에서 발표한 “Go 도입 후, 4년 간의 기록"이라는 주제로 공유했습니다. Go를 도입하여 높은 트래픽을 처리하고 있으며, 주요 이슈와 해결 방법을 공유하고, Go를 통해 더 효율적이고 안정적인 서비스를 제공하기 위한 고민들을 공유합니다. Youtube Slideshare Go 도입 후 4년 간 기록 from Kyuhyun Byun

July 25, 2024 1 min