51

도서 리뷰 : 마이크로서비스 아키텍처 구축

기존의 모놀리스 아키텍처 환경의 단점을 극복하고자 여러 아키텍처 방법론이 세상에 등장하였고, 지금은 마이크로서비스 아키텍처(이하 MSA)가 위용을 과시하고 있는 시대를 목도하고 있다. 클라우드 사용의 보편화와 함께 컨테이너 시대가 본격적으로 개막되었고, 클라우드 네이티브를 기반으로 하는 앱 현대화(Application Modernazation)가 대세가 되어감에 따라 MSA는 명실상부하게 하나의 주류로 자리잡았다. 그런데 MSA를 구축하는 과정은 지난하기만 하다. MSA에 대한 도입 타당성을 온전히 따지는 것부터 결코 쉽지 않은 문제이며, 그 이후에 어떤 식으로 어떤 과정을 거쳐 MSA를 구축해 나가야하는지에 대한 또 다른 문제를 마주하게 된다. MSA의 도입과 구축은 험난한 여정과 모험이며, 그렇기 때..

2023.07.23

도서 리뷰 : 테라폼으로 시작하는 IaC

급격하게 변화하는 비즈니스 요구 사항과 그에 따른 애플리케이션 개발을 위해선 민첩한(Agile) 인프라 환경 구성이 필수다. 클라우드 환경에서 인프라를 프로비저닝하고 구축하며 구성해 나가는 과정이 온프레미스 환경보다 더 나은 시대에 살고 있지만 더욱 빠르고 정확하게 인프라를 배치하기 위해선 다른 전략과 도구가 요구된다. 인프라의 라이프 사이클(생성, 수정, 폐기) 전반에 걸쳐 사람이 개입하여 수동으로 작업을 진행하게 되었을 때 따르는 부작용과 오류, 위험 등은 비지니스 요구 사항에 대한 기민한 대응을 불가능하게 만들고 이는 곧 발전을 저해하는 장애물로 간주된다. 속도가 곧 비즈니스인 시대에 보다 빠르고 정확하게 인프라 환경을 구축하기 위해선 자동화 도구가 도입되어야 하는데, 이를 지탱하는 기술이 바로 I..

2023.06.25

도서 리뷰 : 데이터 품질의 비밀

데이터가 세상을 집어삼키고 있다. 이 말은 허황된 표현이 아니다. 데이터를 통해 비즈니스의 성패가 좌우되고 이는 곧 비즈니스의 핵심이 바로 데이터라는 데 그 누구도 부정할 수 없는 시대를 목도하고 있다. 빅데이터, AI 와 같은 기술이 나날이 발전하고 더욱 고도화되면서 데이터 중요성은 재차 언급하지 않아도 누구나 인정할 수 밖에 없는 현실과 마주하게 된다. 데이터를 잘 다루는 기업과 그렇지 못한 곳은 단순히 성과를 얼마나 낼 수 있느냐에 문제에 직면하게 되는 게 아니라, 존폐의 기로에서 어떠한 운명을 맞이하게 될지 걱정해야 하는 상황이 기다리고 있을지도 모른다. 그만큼 데이터의 중요성을 다시 역설할 수 밖에 없는 데, 문제는 데이터의 품질로 귀결된다. 데이터를 다루는 모든 개인과 조직은 품질 좋은 데이터..

2023.05.28

도서 리뷰 : FastAPI를 사용한 파이썬 웹 개발

파이썬으로 웹 개발을 할 때 양대산맥으로 일컬어지는 프레임워크가 있다. 바로 Django(장고)와 Flask(플라스크)다. 각각의 프레임워크가 제공하는 기능과 특징이 뚜렷해서, 개발자의 선호도에 따라 호오가 갈리긴 하지만 아직까지 파이썬 웹 개발 프레임워크의 대세는 장고로 굳혀지는 추세이다. 그런데, 어느 날 갑자기 파이썬 웹 개발 생태계를 뒤흔들 만한 위력을 과시하는 프레임워크가 혜성처럼 등장하고야 말았다. 그 주인공은 바로 FastAPI다. 프레임워크의 이름 그 자체가 의미하듯, API를 빠르게 제작하는 데 특화된 도구로 평가된다. 개발자 사이에서 FastAPI의 유명세는 나날이 높아지고 있고 FastAPI에 대한 사용률도 덩달아 올라가고 있는 실정이다. 다만, FastAPI에 대한 서적이 국내에 도..

2023.04.23

도서 리뷰 : 어쩌다 데이터 분석 with 파이썬

데이터 분석의 영역에서 프로그래밍 언어인 R과 Python은 양대산맥이다. 그중 R은 데이터 분석에 특화된 언어로서 통계와 관련된 여러 라이브러리 및 도구를 제공하지만 범용성이 떨어진다는 단점이 있다. 반면 Python은 범용성을 갖고 있으며 데이터 분석과 관련해서도 훌륭하고 다채로운 라이브러리를 제공하고 있다. 이뿐만 아니라 일반인이 쉽게 접근할 수 있는 장점을 갖추고 있어 데이터 분석을 Python으로 시작하는 추세가 곳곳에서 감지되고 있다. 데이터 분석과 Pytnon의 만남은 시대가 만들어 낸 하나의 움직임이고 바야흐로 대세가 되어 가고 있는 실정이다. 하지만 파이썬을 활용해서 데이터 분석을 시작하려고 해도 어디서부터 무엇을 어떻게 해야 할지 난감하기만 하다. 도처에 리소스가 널려 있지만 정보의 과..

2023.03.26

도서 리뷰 : 마이크로서비스 아키텍처 구축 가이드

애플리케이션은 플랫폼 위에서 동작한다. 그런데 어떤 플랫폼에 애플리케이션이 존재하느냐에 따라 이와 관련된 담론은 달라지게 된다. 최초에 모놀리스 환경에서 애플리케이션이 구현됐고, 시간이 흘러 SOA 형태로 애플리케이션의 형태가 진화했으며, 근래에 이르러서는 MSA가 소프트웨어 아키텍처의 새로운 바람으로 각광을 받고 있다. 인프라 측면에서 온-프레미스 기반의 환경이 클라우드로 전환되는 추세가 보편화되면서 이에 부응하여 CNA(클라우드 네이티브 애플리케이션)라는 조류가 또 하나의 주류가 되어 가고 있는 실정이다. 클라우드 플랫폼에 최적화된 애플리케이션을 떠받치는 여러 기둥이 존재하지만, MSA는 그 축을 담당하는 하나의 갈래로서 CNA와 떼려야 뗄 수 없는 관계에 놓여 있다. 모든 MSA가 반드시 CNA를 ..

2023.02.26

도서 리뷰 : SQL로 시작하는 데이터 분석

4차산업혁명 시대에 있어 데이터는 '원유'로 불린다. 원유를 정제하여 사용 가능한 석유로 만들 듯이, 데이터 역시 적절하게 정제되고 변환되어야 하며 분석되어야 쓸모 있게 된다. 단순히 존재한다고 해서 가치 있는 게 아니라 올바르게 분석되었을 때 만이 데이터의 유용성이 빛을 발하게 된다. 그렇다, 데이터는 누군가에 의해 분석되었을 때 인사이트로 변모하게 된다. 세간에 데이터를 둘러싼 다양한 분석 방법이 여럿 존재한다. 프로그래밍 레벨에서 R과 파이썬의 양대산맥이 명실상부한 데이터 분석 언어로 공고히 자리잡고 있는 실정이다. 그런데 R 또는 파이썬을 통해 데이터를 분석해 나가는 과정은 결코 쉽지 않다. 프로그래밍의 개념을 이해해야 하고, 학습하는데 드는 비용을 위시해서 프로그래밍을 둘러싼 부차적인 요소들까지..

2022.12.30

도서 리뷰 : 파이썬 웹 프로그래밍 기초편(3판)

파이썬으로 웹 개발을 해야할 때가 있다. 그런데 맨땅에 헤딩하는 식으로 밑바닥부터 차근차근 쌓아 올리며 개발을 진행한다면 생산성이 떨어질 수 밖에 없다. 그렇기에 프레임워크를 사용할 필요가 있다. 아니 사용해야 한다. 프레임워크를 사용함으로써 개발 속도와 생산성 모두 잡을 수 있기 때문이다. 파이썬 생태계에서 대표적인 웹 프레임워크로는 Flask, Django 등이 있으며 요새는 신흥 강자로 부상하고 있는 Fast API가 주목 받고 있는 상황이다. 하지만 무엇보다 풍부한 자료와, 레퍼런스를 제공하며 다양한 사용자를 확보하고 있는 프레임워크는 단연 Django(이하 장고)이다. 장고가 제공하는 유연성과 기능적 풍부함은 여타의 프레임워크를 제치고 충분히 상위에 랭크될 가치를 갖고 있다. 오늘 소개하는 이 ..

2022.11.27

도서 리뷰 : 소프트웨어 아키텍처 The Hard Parts

소프트웨어 아키텍트에게 트레이드오프와 관련된 고민은 늘상 있는 법이다. 효율적인 소프트웨어 설계를 위해 주어진 다양한 선택지 앞에서 과연 아키텍트는 어떤 것을 답안지로 골라야 할 것인가? 과연 무엇이 옳은 선택이고 그릇된 것인지 어떻게 판단할 수 있을까? 그렇게 판단할 수 있는 기준은 과연 무엇일까? 그 기준으로 삼을 수 있는 근거는 과연 어디서부터 구할 수 있는 것일까? 이러한 일련의 상황과 마주하게 되는 아키텍트에게 속시원한 답은 없는 것일까? 답은 쉽게 구해지지 않고, 그것을 찾아가는 여정은 고되고 그 과정에는 온갖 괴로움이 수반된다. 그럼에도 불구하고 이러한 아키텍트에게 도움이 될 수 있는 책이 한 권 존재한다면 그것은 바로 이번에 소개하게 될 서적이 되리라 생각한다. 이 책은 '소프트웨어 아키텍..

2022.10.30

도서 리뷰 : 코드로 인프라 관리하기

고객의 요구 사항은 수시로 변화하면서 비즈니스 세계는 그런 고객의 요구에 부응하기 위해 동분서주하고 있다. 이런 와중에 비즈니스의 복잡성은 나날이 심화되며 이는 수시로 애플리케이션 코드의 복잡성을 가속화 하는 상황을 초래하고 있다. 하지만 여기서 그치는 것이 아니라 애플리케이션의 문제와 별개로 인프라 환경 역시 복잡다단한 변화의 중심에서 벗어날 수 없는 구조와 마주하게 되었다. 개발 환경과 스테이징 환경 그리고 프러덕션 환경으로 이어지는 일련의 환경은 끊임 없이 변경을 요구 받으며 인프라의 생명과 소멸이 반복해서 동작하는 복잡계 속에 포박되어 있는 실정이다. 어떻게 하면 더 빠르게 표준화 된 절차를 통해 완벽하게 인프라를 관리할 수 있을까? 인프라의 생애주기(생성, 변경, 소멸)를 관통하는 하나의 커다란..

2022.10.02