<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>감자블로그</title>
    <link>https://potato-dev.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sun, 24 May 2026 16:50:46 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>쓱은감자</managingEditor>
    <item>
      <title>  Azure Blob Storage 계층별 가격과 기능 비교 가이드</title>
      <link>https://potato-dev.tistory.com/166</link>
      <description>&lt;h1&gt;  Azure Blob Storage 계층별 가격과 기능 비교 가이드&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;클라우드에 데이터를 저장할 때, &lt;b&gt;모든 파일을 같은 방식으로 보관&lt;/b&gt;하는 건 비효율적입니다. Azure Blob Storage는 데이터 &lt;b&gt;액세스 빈도&lt;/b&gt;와 &lt;b&gt;보관 기간&lt;/b&gt;에 따라 4가지 주요 계층을 제공합니다. 각 계층은 저장 비용, 액세스 비용, 최소 보관 기간이 다르기 때문에, &lt;b&gt;데이터 특성에 맞는 선택&lt;/b&gt;이 중요합니다.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  계층별 비교표&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;계층용도 및 특징저장 비용  액세스 비용  최소 보관 기간  사용 예시  
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Hot&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;자주 액세스하는 데이터. 빠른 응답 필요.&lt;/td&gt;
&lt;td&gt;높음&lt;/td&gt;
&lt;td&gt;낮음&lt;/td&gt;
&lt;td&gt;없음&lt;/td&gt;
&lt;td&gt;웹 이미지, 실시간 로그&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Cool&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;가끔 액세스. 장기 저장에 적합.&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;30일&lt;/td&gt;
&lt;td&gt;백업, 이전 프로젝트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Cold&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;드물게 액세스. 빠른 검색은 필요함.&lt;/td&gt;
&lt;td&gt;낮음&lt;/td&gt;
&lt;td&gt;높음&lt;/td&gt;
&lt;td&gt;90일&lt;/td&gt;
&lt;td&gt;장기 백업, 보존용 데이터&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Archive&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;거의 액세스 안 함. 복원 후 사용 가능.&lt;/td&gt;
&lt;td&gt;매우 낮음&lt;/td&gt;
&lt;td&gt;매우 높음&lt;/td&gt;
&lt;td&gt;180일&lt;/td&gt;
&lt;td&gt;규정 준수, 아카이브&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;  &lt;b&gt;Tip:&lt;/b&gt; Archive 계층은 데이터를 바로 읽을 수 없고, 복원(재수화) 과정이 필요하며 수 시간 이상 소요될 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  가격 예시 (1TB 기준, 월 10회 액세스 시)&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;계층저장 비용액세스 비용총 비용
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Hot&lt;/td&gt;
&lt;td&gt;$20&lt;/td&gt;
&lt;td&gt;$1&lt;/td&gt;
&lt;td&gt;$21&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cool&lt;/td&gt;
&lt;td&gt;$10&lt;/td&gt;
&lt;td&gt;$3&lt;/td&gt;
&lt;td&gt;$13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Archive&lt;/td&gt;
&lt;td&gt;$1&lt;/td&gt;
&lt;td&gt;$50&lt;/td&gt;
&lt;td&gt;$51&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;  &lt;b&gt;핵심 포인트:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;액세스 빈도가 높으면 Hot 계층이 유리&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;장기 보관&amp;middot;저빈도 액세스는 Cool/Cold/Archive가 비용 절감 효과&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Archive는 저장은 싸지만, 꺼내 쓸 때 비용과 시간이 많이 듦&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  라이프사이클 관리로 자동화하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Azure는 &lt;b&gt;라이프사이클 관리 정책&lt;/b&gt;을 제공해, 일정 기간이 지나면 자동으로 계층을 변경할 수 있습니다. 예를 들어:&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;30일 후 &amp;rarr; Cool 계층 이동&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;90일 후 &amp;rarr; Archive 계층 이동&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이렇게 하면 &lt;b&gt;비용 절감 + 관리 효율성&lt;/b&gt;을 동시에 잡을 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;✍️ 마무리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;데이터 저장 전략은 단순히 &quot;어디에 저장할까?&quot;가 아니라 &lt;b&gt;&quot;어떻게 저장하고, 언제 꺼낼까?&quot;&lt;/b&gt;를 함께 고민해야 합니다. Azure Blob Storage의 계층별 특성을 이해하면, &lt;b&gt;비용 최적화와 성능&lt;/b&gt;을 모두 챙길 수 있습니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>클라우드/Azure</category>
      <category>azure</category>
      <category>BLOB</category>
      <category>object</category>
      <category>Storage</category>
      <category>계층</category>
      <category>비교</category>
      <category>비용</category>
      <author>쓱은감자</author>
      <guid isPermaLink="true">https://potato-dev.tistory.com/166</guid>
      <comments>https://potato-dev.tistory.com/166#entry166comment</comments>
      <pubDate>Fri, 29 Aug 2025 13:57:38 +0900</pubDate>
    </item>
    <item>
      <title>다이어터 주목! 라면 대신 즐기는 저칼로리 국물 면 요리 BEST 4   (feat. 죄책감 없는 야식)</title>
      <link>https://potato-dev.tistory.com/165</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;다이어터 주목! 라면 대신 즐기는 저칼로리 국물 면 요리 BEST 4   (feat. 죄책감 없는 야식)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;밤늦은 시간, 출출한데 따뜻하고 얼큰한 국물 면 요리가 생각난다면? 많은 분들이 라면을 떠올리시겠지만, 다이어트 중이라면 라면은 잠시 미뤄두시는 게 좋겠죠. 하지만 포기하기엔 너무 아쉬운 국물 면의 유혹!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 오늘은 다이어트 중에도 죄책감 없이 즐길 수 있는, 라면 대신 먹기 좋은 저칼로리 국물 면 요리 4가지를 소개해 드릴게요. 면의 종류부터 국물, 고명까지 건강하게 즐기는 꿀팁을 모두 담았습니다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qZMpG/btsP8adFIAU/xbuRkbEPoJyVjS2owb0y3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qZMpG/btsP8adFIAU/xbuRkbEPoJyVjS2owb0y3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qZMpG/btsP8adFIAU/xbuRkbEPoJyVjS2owb0y3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqZMpG%2FbtsP8adFIAU%2FxbuRkbEPoJyVjS2owb0y3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;236&quot; height=&quot;236&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 칼로리 파괴자! 곤약면/실곤약 잔치국수&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;곤약면으로 만든 다채로운 잔치국수, 푸짐한 야채와 고명이 어우러져 맛있고 건강한 식사입니다.   다이어트 면 요리의 &lt;b&gt;국민템&lt;/b&gt;이라 불리는 곤약면! 곤약은 칼로리가 거의 없어 (한 봉지 약 10~20kcal!) 다이어터들의 든든한 지원군이죠. 특히 따뜻한 국물과 만나면 라면 못지않은 포만감을 선사합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✅ 면:&lt;/b&gt; 곤약면 또는 실곤약&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;곤약 특유의 냄새가 걱정된다면, 끓는 물에 식초를 살짝 넣고 데친 후 찬물에 헹궈 사용해 보세요. 냄새가 싹 사라져요!&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✅ 국물:&lt;/b&gt; 멸치, 다시마, 무, 양파 등을 푹 우려낸 맑은 채소 육수 (시판 멸치 육수 팩 활용하면 간편!). 저염 간장이나 국간장으로 최소한의 간만 해주세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✅ 고명:&lt;/b&gt; 잘게 찢은 닭가슴살, 계란 지단, 순두부, 애호박, 당근, 버섯 등을 올려 영양 균형까지 완벽하게!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;  장점:&lt;/b&gt; 한 그릇에 100~150kcal 정도로 매우 낮아 야식으로도 부담 없고, 풍성한 고명으로 영양까지 챙길 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 고단백 든든함! 두부면 닭가슴살 칼국수&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따뜻한 국물에 두부면과 닭가슴살, 다양한 채소가 어우러진 건강한 칼국수입니다.   밀가루 면 대신 식물성 단백질이 풍부한 두부면을 활용해 보세요. 쫄깃한 식감은 물론, 든든함까지 채워주는 효자템입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✅ 면:&lt;/b&gt; 두부면 (시판 제품은 충전수 버리고 헹궈서 바로 사용 가능!)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✅ 국물:&lt;/b&gt; 닭가슴살을 삶은 물을 육수로 사용하면 진하고 담백한 국물을 얻을 수 있어요. 다진 마늘, 후추, 대파를 넣고 소금으로 간을 맞춥니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✅ 고명:&lt;/b&gt; 삶아서 결대로 찢은 닭가슴살, 부추, 숙주, 청경채, 버섯 등을 넣어 국물 맛을 더욱 시원하게!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;  장점:&lt;/b&gt; 탄수화물은 줄이고 단백질 함량은 높여 포만감이 오래가고, 근육 손실 걱정을 덜 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 이국적인 저탄수! 천사채 맑은 소고기 쌀국수&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;맑은 육수에 천사채 면, 얇게 썬 소고기와 숙주, 고수가 올려진 이국적인 쌀국수 요리입니다.   베트남 쌀국수를 좋아하신다면 천사채를 활용해 보세요! 오독한 천사채가 부드러운 당면처럼 변신하면 이색적인 면 요리가 탄생합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✅ 면:&lt;/b&gt; 천사채&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;핵심 꿀팁!&lt;/b&gt; 따뜻한 물에 베이킹소다를 약간 넣고 천사채를 10분 정도 담가두면 당면처럼 부드럽게 변해요. 이후 찬물에 여러 번 헹궈 사용합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✅ 국물:&lt;/b&gt; 맑은 소고기 육수 (시판 사골 육수를 물과 희석하거나, 멸치 액젓과 저염 간장으로 쌀국수 풍의 육수 만들기)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✅ 고명:&lt;/b&gt; 얇게 썬 소고기 (차돌박이, 양지 등), 숙주, 양파, 고수, 청양고추, 레몬즙을 곁들이면 칼칼하고 상큼한 맛이 일품!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;  장점:&lt;/b&gt; 쌀국수 면보다 탄수화물이 훨씬 낮고, 해조류로 만들어 식이섬유와 미네랄까지 풍부해요.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 구수한 속 편안함! 온메밀국수&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따뜻한 메밀 국물에 메밀면, 김 가루, 파, 삶은 계란 고명이 올려져 있는 온메밀국수입니다.   메밀은 밀가루보다 혈당 지수(GI)가 낮고 식이섬유가 풍부해 다이어트에 비교적 유리한 면입니다. 따뜻하게 즐기면 속도 편안하죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✅ 면:&lt;/b&gt; 메밀 함량이 높은 메밀면 (가급적 100% 메밀면을 선택하세요!)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✅ 국물:&lt;/b&gt; 가쓰오부시와 다시마로 우려낸 맑은 장국을 사용하되, 설탕과 간장 양을 줄여 염도와 당분을 낮춥니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✅ 고명:&lt;/b&gt; 삶은 계란, 구운 두부, 무순, 쪽파, 김 가루, 표고버섯 등을 올려 풍성하게 즐겨보세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;  장점:&lt;/b&gt; 구수한 메밀 향이 입맛을 돋우고, 따뜻한 국물이 몸을 녹여줍니다. 다만 메밀면도 탄수화물이니 양 조절은 필수!&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다이어트 중이라고 무조건 맛없는 음식만 먹어야 하는 건 아니에요! 이처럼 면의 종류를 바꾸고, 국물은 맑고 싱겁게, 고명은 채소와 단백질 위주로 구성하면 라면 못지않게 만족스러운 국물 면 요리를 즐길 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 저녁, 혹은 야식이 고민될 때, 위에 소개해 드린 건강한 국물 면 요리로 맛있게 다이어트 성공하세요!  &lt;/p&gt;</description>
      <category>기타</category>
      <category>다이어트</category>
      <category>라면</category>
      <category>면요리</category>
      <category>야식</category>
      <author>쓱은감자</author>
      <guid isPermaLink="true">https://potato-dev.tistory.com/165</guid>
      <comments>https://potato-dev.tistory.com/165#entry165comment</comments>
      <pubDate>Wed, 27 Aug 2025 08:40:43 +0900</pubDate>
    </item>
    <item>
      <title>Azure Backup 완벽 정복 가이드: VM부터 특정 폴더 백업까지</title>
      <link>https://potato-dev.tistory.com/164</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;Azure Backup 완벽 정복 가이드: VM부터 특정 폴더 백업까지&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클라우드를 사용하면서 데이터 보호는 가장 중요한 과제 중 하나입니다. Microsoft Azure는 &lt;b&gt;Azure Backup&lt;/b&gt;이라는 강력하고 유연한 백업 서비스를 제공하지만, 백업 대상과 환경에 따라 방법이 달라 처음에는 다소 헷갈릴 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글에서는 Azure Backup의 핵심 사용법을 시나리오별로 명확하게 정리하여, 더 이상 헷갈리지 않고 여러분의 소중한 데이터를 안전하게 보호할 수 있도록 도와드립니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 기본 중의 기본: Azure VM 전체 백업&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 일반적인 시나리오입니다. Azure에서 실행 중인 가상 머신(VM) 전체를 보호하는 방법으로, 운영 체제, 설치된 소프트웨어, 모든 데이터를 포함한 디스크 전체의 스냅샷을 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✅ 진행 방식&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Recovery Services 자격 증명 모음 생성&lt;/b&gt;: 모든 백업 데이터가 저장될 중앙 컨테이너입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;백업 정책 설정&lt;/b&gt;: '매일 오후 10시에 백업하여 30일간 보관'과 같이 백업 주기와 보존 기간을 정의합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VM 선택 및 백업 활성화&lt;/b&gt;: 정책을 적용할 VM을 선택하면 설정이 완료됩니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 방식은 VM에 장애가 발생했을 때 특정 시점으로 VM 전체를 완벽하게 복원할 수 있는 가장 확실하고 안정적인 방법입니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 온프레미스 서버 백업: MARS vs MABS&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Azure는 클라우드뿐만 아니라 회사 내부에 있는 온프레미스 서버의 데이터도 백업할 수 있습니다. 이때는 서버의 운영 체제에 따라 다른 도구를 사용합니다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;윈도우 서버의 파일/폴더: MARS 에이전트&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;MARS(Microsoft Azure Recovery Services) 에이전트&lt;/b&gt;는 가벼운 프로그램으로, 온프레미스 &lt;b&gt;윈도우 서버&lt;/b&gt;에 직접 설치합니다.&lt;/li&gt;
&lt;li&gt;이 에이전트를 통해 특정 파일이나 폴더, 시스템 상태를 Azure 자격 증명 모음으로 '직접' 백업할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;리눅스 서버 및 기타 워크로드: MABS&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;MARS 에이전트는 리눅스를 지원하지 않습니다.&lt;/b&gt; 온프레미스 &lt;b&gt;리눅스 서버&lt;/b&gt;를 백업하려면 **MABS(Microsoft Azure Backup Server)**가 필요합니다.&lt;/li&gt;
&lt;li&gt;MABS는 온프레미스 환경에 별도의 윈도우 서버를 구축하여 설치하는 백업 전용 서버입니다.&lt;/li&gt;
&lt;li&gt;리눅스 서버의 데이터를 MABS가 1차로 백업한 후, MABS가 다시 이 데이터를 Azure로 전송하는 '중간다리' 역할을 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 가장 많이 헷갈리는 부분! &quot;특정 디렉터리만 백업하기&quot;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;VM 전체 말고, /home/data 디렉터리만 백업하고 싶은데요?&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 질문에 대한 답은 VM이 &lt;b&gt;어디에&lt;/b&gt; 있는지, 운영 체제가 &lt;b&gt;무엇인지&lt;/b&gt;에 따라 달라집니다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Case 1: Azure에 있는 &lt;b&gt;리눅스&lt;/b&gt; VM의 특정 디렉터리&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결론부터 말하면, &lt;b&gt;MARS 에이전트와 같은 방식은 불가능합니다.&lt;/b&gt; Azure의 리눅스 VM에서 특정 디렉터리만 골라 백업하는 공식적인 네이티브 기능은 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;➡️ 해결책 1 (권장): &quot;전체 백업 후 파일 단위 복구&quot;&lt;/b&gt; Azure의 표준 방식입니다. 먼저 &lt;b&gt;VM 전체를 백업&lt;/b&gt;한 후, 복구가 필요할 때 &lt;b&gt;'파일 복구(File Recovery)'&lt;/b&gt; 기능을 사용합니다. 이 기능을 사용하면 백업된 디스크가 VM에 새로운 드라이브처럼 연결(마운트)되며, 여기서 필요한 디렉터리만 골라서 복사해올 수 있습니다. 백업은 전체 단위로 하지만, 복구는 부분 단위로 할 수 있어 사실상 같은 효과를 냅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;➡️ 해결책 2 (대안): &quot;사용자 지정 스크립트&quot;&lt;/b&gt; 반드시 특정 디렉터리만 백업해야 한다면, cron과 같은 리눅스 스케줄러와 rsync 명령어를 사용하여 스크립트를 직접 만들어야 합니다. 이 스크립트는 지정된 시간에 디렉터리 데이터를 Azure Files나 Blob Storage 같은 다른 저장소로 복사하는 방식으로 동작합니다. 이는 Azure Backup 서비스의 기능이 아닌, 수동으로 관리하는 방식입니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 핵심 요약표&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;백업 대상&lt;/td&gt;
&lt;td&gt;백업 방식&lt;/td&gt;
&lt;td&gt;주요 특징&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Azure VM (윈도우/리눅스)&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Azure VM 백업&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;VM 전체 스냅샷 백업. 특정 파일/디렉터리 복구는 '파일 복구' 기능 사용. (가장 표준적인 방법)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;온프레미스 윈도우 서버&lt;/b&gt; (파일/폴더)&lt;/td&gt;
&lt;td&gt;&lt;b&gt;MARS 에이전트&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;서버에 에이전트 설치 후 Azure로 직접 백업.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;온프레미스 리눅스 서버&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;MABS (Azure Backup Server)&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;별도의 MABS 서버가 중계하여 백업. (리눅스는 MARS 사용 불가)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;마무리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Azure Backup은 다양한 환경의 데이터를 보호할 수 있는 강력한 도구입니다. 핵심은 &lt;b&gt;백업 대상의 위치(Azure or 온프레미스)와 운영 체제(Windows or Linux)에 따라 올바른 방법을 선택하는 것&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 가이드를 통해 더 이상 헷갈리지 않고, 여러분의 비즈니스 환경에 맞는 최적의 백업 전략을 수립하여 소중한 데이터를 안전하게 보호하시길 바랍니다.&lt;/p&gt;</description>
      <category>클라우드/Azure</category>
      <category>azure</category>
      <category>Backup</category>
      <category>vm</category>
      <category>백업</category>
      <author>쓱은감자</author>
      <guid isPermaLink="true">https://potato-dev.tistory.com/164</guid>
      <comments>https://potato-dev.tistory.com/164#entry164comment</comments>
      <pubDate>Wed, 27 Aug 2025 08:32:49 +0900</pubDate>
    </item>
    <item>
      <title>윈도우에서 사용할 수 있는 SSH 터미널 툴 추천</title>
      <link>https://potato-dev.tistory.com/163</link>
      <description>&lt;p data-end=&quot;309&quot; data-start=&quot;145&quot; data-ke-size=&quot;size16&quot;&gt;리눅스 서버에 접속하거나 원격 환경을 관리할 때 가장 많이 사용하는 방법이 바로 SSH(Secure Shell)입니다. 리눅스나 macOS에서는 기본적으로 터미널에서 SSH를 사용할 수 있지만, 윈도우에서는 조금 더 편리하게 사용할 수 있는 전용 SSH 클라이언트를 사용하는 것이 효율적입니다.&lt;/p&gt;
&lt;p data-end=&quot;366&quot; data-start=&quot;311&quot; data-ke-size=&quot;size16&quot;&gt;이번 글에서는 &lt;b&gt;윈도우 환경에서 사용할 수 있는 SSH 터미널 툴들을 목적별로 정리&lt;/b&gt;해봤습니다.&lt;/p&gt;
&lt;hr data-end=&quot;371&quot; data-start=&quot;368&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;411&quot; data-start=&quot;373&quot; data-ke-size=&quot;size23&quot;&gt;✅ 1. Windows Terminal (공식 마이크로소프트)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;851&quot; data-start=&quot;516&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;729&quot; data-start=&quot;635&quot;&gt;&lt;b&gt;특징&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;729&quot; data-start=&quot;647&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;683&quot; data-start=&quot;647&quot;&gt;PowerShell, CMD, WSL, SSH 모두 통합 지원&lt;/li&gt;
&lt;li data-end=&quot;709&quot; data-start=&quot;686&quot;&gt;탭과 분할 화면을 통한 멀티 작업 가능&lt;/li&gt;
&lt;li data-end=&quot;729&quot; data-start=&quot;712&quot;&gt;JSON 기반의 커스터마이징&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;778&quot; data-start=&quot;730&quot;&gt;&lt;b&gt;SSH 사용 예시&lt;/b&gt;:&lt;/li&gt;
&lt;li data-end=&quot;778&quot; data-start=&quot;749&quot;&gt;
&lt;div&gt;sql&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;복사&lt;span data-state=&quot;closed&quot;&gt;편집&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;ssh &lt;/span&gt;&lt;span&gt;&lt;span&gt;user&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;@hostname&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li data-end=&quot;818&quot; data-start=&quot;779&quot;&gt;&lt;b&gt;장점&lt;/b&gt;: 깔끔한 UI, 빠른 성능, 마이크로소프트 공식 툴&lt;/li&gt;
&lt;li data-end=&quot;851&quot; data-start=&quot;819&quot;&gt;&lt;b&gt;단점&lt;/b&gt;: 고급 설정은 JSON 파일을 수정해야 함&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;885&quot; data-start=&quot;853&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;추천 대상&lt;/b&gt;: 기본기에 충실한 터미널을 원하는 사용자&lt;/p&gt;
&lt;hr data-end=&quot;890&quot; data-start=&quot;887&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;910&quot; data-start=&quot;892&quot; data-ke-size=&quot;size23&quot;&gt;✅ 2. MobaXterm&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1230&quot; data-start=&quot;987&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1166&quot; data-start=&quot;1043&quot;&gt;&lt;b&gt;특징&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1166&quot; data-start=&quot;1055&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1094&quot; data-start=&quot;1055&quot;&gt;SSH, RDP, VNC, X11, FTP 등 다양한 프로토콜 지원&lt;/li&gt;
&lt;li data-end=&quot;1135&quot; data-start=&quot;1097&quot;&gt;SSH 접속 시 자동으로 SFTP 창이 연결되어 파일 전송이 편리&lt;/li&gt;
&lt;li data-end=&quot;1166&quot; data-start=&quot;1138&quot;&gt;세션 저장, 포트 포워딩, 매크로 기능 등 다양&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1200&quot; data-start=&quot;1167&quot;&gt;&lt;b&gt;장점&lt;/b&gt;: 올인원 툴로 리눅스 서버 관리에 최적화&lt;/li&gt;
&lt;li data-end=&quot;1230&quot; data-start=&quot;1201&quot;&gt;&lt;b&gt;단점&lt;/b&gt;: 무료 버전은 탭 수 제한 (12개)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1275&quot; data-start=&quot;1232&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;추천 대상&lt;/b&gt;: 서버 파일 작업이 잦거나 여러 서버를 동시에 다루는 사용자&lt;/p&gt;
&lt;hr data-end=&quot;1280&quot; data-start=&quot;1277&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1298&quot; data-start=&quot;1282&quot; data-ke-size=&quot;size23&quot;&gt;✅ 3. Termius&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1570&quot; data-start=&quot;1372&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1505&quot; data-start=&quot;1418&quot;&gt;&lt;b&gt;특징&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1505&quot; data-start=&quot;1430&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1450&quot; data-start=&quot;1430&quot;&gt;SSH 호스트 그룹화 및 키 관리&lt;/li&gt;
&lt;li data-end=&quot;1482&quot; data-start=&quot;1453&quot;&gt;클라우드 기반으로 여러 기기에서 설정 동기화 가능&lt;/li&gt;
&lt;li data-end=&quot;1505&quot; data-start=&quot;1485&quot;&gt;iOS, Android 앱도 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1542&quot; data-start=&quot;1506&quot;&gt;&lt;b&gt;장점&lt;/b&gt;: GUI 기반의 SSH 매니저, 직관적인 UI&lt;/li&gt;
&lt;li data-end=&quot;1570&quot; data-start=&quot;1543&quot;&gt;&lt;b&gt;단점&lt;/b&gt;: 일부 고급 기능은 유료(Pro)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1607&quot; data-start=&quot;1572&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;추천 대상&lt;/b&gt;: 여러 서버를 효율적으로 관리하고 싶은 사용자&lt;/p&gt;
&lt;hr data-end=&quot;1612&quot; data-start=&quot;1609&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1628&quot; data-start=&quot;1614&quot; data-ke-size=&quot;size23&quot;&gt;✅ 4. PuTTY&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1913&quot; data-start=&quot;1699&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1849&quot; data-start=&quot;1787&quot;&gt;&lt;b&gt;특징&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1849&quot; data-start=&quot;1799&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1824&quot; data-start=&quot;1799&quot;&gt;가볍고 빠른 SSH/Telnet 클라이언트&lt;/li&gt;
&lt;li data-end=&quot;1849&quot; data-start=&quot;1827&quot;&gt;세션 저장 가능, 인증키 사용도 지원&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1883&quot; data-start=&quot;1850&quot;&gt;&lt;b&gt;장점&lt;/b&gt;: 최소한의 리소스로 동작, 자동화에 적합&lt;/li&gt;
&lt;li data-end=&quot;1913&quot; data-start=&quot;1884&quot;&gt;&lt;b&gt;단점&lt;/b&gt;: 구식 UI, 세션 관리가 다소 불편&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1954&quot; data-start=&quot;1915&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;추천 대상&lt;/b&gt;: 전통적인 방식의 SSH 클라이언트를 선호하는 사용자&lt;/p&gt;
&lt;hr data-end=&quot;1959&quot; data-start=&quot;1956&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1976&quot; data-start=&quot;1961&quot; data-ke-size=&quot;size23&quot;&gt;  툴별 요약 비교&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;툴 이름특징사용 난이도추천 대상
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;2434&quot; data-start=&quot;1978&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;2434&quot; data-start=&quot;2137&quot;&gt;
&lt;tr data-end=&quot;2212&quot; data-start=&quot;2137&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2156&quot; data-start=&quot;2137&quot;&gt;Windows Terminal&lt;/td&gt;
&lt;td data-end=&quot;2178&quot; data-start=&quot;2156&quot; data-col-size=&quot;sm&quot;&gt;기본 제공, 다기능, 빠른 성능&lt;/td&gt;
&lt;td data-end=&quot;2192&quot; data-start=&quot;2178&quot; data-col-size=&quot;sm&quot;&gt;중&lt;/td&gt;
&lt;td data-end=&quot;2212&quot; data-start=&quot;2192&quot; data-col-size=&quot;sm&quot;&gt;누구나&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2292&quot; data-start=&quot;2213&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2231&quot; data-start=&quot;2213&quot;&gt;MobaXterm&lt;/td&gt;
&lt;td data-end=&quot;2258&quot; data-start=&quot;2231&quot; data-col-size=&quot;sm&quot;&gt;SFTP 통합, 올인원 SSH 툴&lt;/td&gt;
&lt;td data-end=&quot;2272&quot; data-start=&quot;2258&quot; data-col-size=&quot;sm&quot;&gt;낮음&lt;/td&gt;
&lt;td data-end=&quot;2292&quot; data-start=&quot;2272&quot; data-col-size=&quot;sm&quot;&gt;DevOps, 인프라&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2361&quot; data-start=&quot;2293&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2311&quot; data-start=&quot;2293&quot;&gt;Termius&lt;/td&gt;
&lt;td data-end=&quot;2332&quot; data-start=&quot;2311&quot; data-col-size=&quot;sm&quot;&gt;호스트 관리 + 클라우드 동기화&lt;/td&gt;
&lt;td data-end=&quot;2346&quot; data-start=&quot;2332&quot; data-col-size=&quot;sm&quot;&gt;낮음&lt;/td&gt;
&lt;td data-end=&quot;2361&quot; data-start=&quot;2346&quot; data-col-size=&quot;sm&quot;&gt;서버 여러 대 관리자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2434&quot; data-start=&quot;2362&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2380&quot; data-start=&quot;2362&quot;&gt;PuTTY&lt;/td&gt;
&lt;td data-end=&quot;2404&quot; data-start=&quot;2380&quot; data-col-size=&quot;sm&quot;&gt;초경량, 기본기능 중심&lt;/td&gt;
&lt;td data-end=&quot;2418&quot; data-start=&quot;2404&quot; data-col-size=&quot;sm&quot;&gt;중&lt;/td&gt;
&lt;td data-end=&quot;2434&quot; data-start=&quot;2418&quot; data-col-size=&quot;sm&quot;&gt;고전 터미널 유저&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;2439&quot; data-start=&quot;2436&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;2449&quot; data-start=&quot;2441&quot; data-ke-size=&quot;size26&quot;&gt;✨ 마무리&lt;/h2&gt;
&lt;p data-end=&quot;2554&quot; data-start=&quot;2451&quot; data-ke-size=&quot;size16&quot;&gt;윈도우에서 SSH를 자주 사용한다면, 자신에게 맞는 터미널 툴을 선택하는 것이 업무 효율에 큰 도움이 됩니다.&lt;br /&gt;간단한 접속부터 고급 서버 관리까지, 목적에 맞는 툴을 활용해 보세요!&lt;/p&gt;</description>
      <category>기타</category>
      <category>ssh</category>
      <category>윈도우</category>
      <category>터미널</category>
      <category>툴</category>
      <author>쓱은감자</author>
      <guid isPermaLink="true">https://potato-dev.tistory.com/163</guid>
      <comments>https://potato-dev.tistory.com/163#entry163comment</comments>
      <pubDate>Tue, 5 Aug 2025 08:52:51 +0900</pubDate>
    </item>
    <item>
      <title>국내 OpenTelemetry 도입 현황: 기업 전략 및 구현 아키텍처 기술 분석</title>
      <link>https://potato-dev.tistory.com/162</link>
      <description>&lt;h1&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;국내 OpenTelemetry 도입 현황: 기업 전략 및 구현 아키텍처 기술 분석&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;제 1부: 현대 아키텍처에서 OpenTelemetry의 전략적 필요성&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;1.1. 서론: 독점 에이전트에서 개방형 표준으로&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;OpenTelemetry(OTel)는 단순히 새로운 모니터링 도구가 아니라, 관측성(Observability) 분야의 근본적인 패러다임 전환을 의미한다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 이는 분산 시스템에서 원격 측정(telemetry) 데이터를 생성, 수집, 처리, 전송하는 방식을 근본적으로 바꾸는 개방형 표준 프레임워크이다. 과거에는 각 모니터링 솔루션 벤더가 제공하는 독점적인 에이전트(agent)를 애플리케이션에 설치해야 했다. 이 방식은 특정 벤더에 대한 기술적 종속성, 즉 벤더 종속(vendor lock-in)을 심화시켰고, 여러 모니터링 도구를 동시에 사용해야 하는 경우 다수의 에이전트를 관리해야 하는 운영상의 부담을 가중시켰다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;이러한 문제를 해결하기 위해 업계의 노력이 결집된 결과물이 바로 OpenTelemetry이다. OpenTelemetry는 기존에 분산 추적(distributed tracing) 분야를 양분하던 두 개의 주요 오픈소스 프로젝트, 즉 OpenTracing과 OpenCensus가 통합되어 탄생했다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; OpenTracing은 분산 추적을 위한 벤더 중립적인 API 표준을 제공하는 데 중점을 두었고, OpenCensus는 Google 주도로 개발되어 데이터 수집을 위한 라이브러리 세트를 제공했다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;5&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 두 프로젝트의 목표는 유사했으나, 파편화된 표준은 개발자들에게 혼란을 야기했다. 2019년, 이 두 프로젝트는 커뮤니티의 단일 표준화 요구에 부응하여 OpenTelemetry라는 이름 아래 하나로 합쳐졌고, 이는 OTel이 업계 표준으로 발돋움하는 결정적인 계기가 되었다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;OpenTelemetry의 핵심 가치는 트레이스(traces), 메트릭(metrics), 로그(logs)라는 관측성의 세 가지 핵심 요소(Three Pillars of Observability)를 모두 포괄하는 통합된 API, SDK, 그리고 도구 모음을 제공하는 데 있다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;5&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 개발자는 OpenTelemetry 표준에 따라 단 한 번만 애플리케이션 코드를 계측(instrumentation)하면, 수집된 데이터를 Jaeger, Prometheus, Elasticsearch와 같은 오픈소스 백엔드 시스템은 물론, Datadog, New Relic 등 다양한 상용 솔루션으로 자유롭게 전송할 수 있다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;7&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 이러한 유연성은 특정 벤더의 기술 로드맵에 종속되지 않고, 조직의 필요에 따라 최적의 분석 도구를 선택하거나 교체할 수 있는 전략적 자율성을 보장한다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;이 모든 과정은 클라우드 네이티브 컴퓨팅 재단(Cloud Native Computing Foundation, CNCF)의 주관 아래 투명한 거버넌스 모델을 통해 운영된다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; CNCF는 쿠버네티스(Kubernetes)를 성공적으로 성장시킨 바로 그 재단으로, OTel이 특정 기업의 이해관계를 넘어 커뮤니티 전체의 이익을 위해 발전할 것이라는 신뢰를 부여한다. 현재 OTel은 CNCF 내에서 쿠버네티스 다음으로 가장 활발한 프로젝트 중 하나로 평가받으며, 이는 그 기술적 중요성과 미래 가치를 방증한다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;7&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;1.2. 왜 지금인가? 마이크로서비스, 쿠버네티스, 그리고 관측성의 융합&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;OpenTelemetry의 부상은 단순히 기술적 진보의 결과가 아니라, 현대 소프트웨어 아키텍처의 변화라는 거대한 흐름과 맞물려 있다. 특히 마이크로서비스 아키텍처(Microservice Architecture, MSA)와 쿠버네티스의 확산은 OTel의 필요성을 폭발적으로 증가시킨 핵심 동력이다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;12&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;과거의 모놀리식(monolithic) 아키텍처에서는 애플리케이션의 모든 기능이 단일 프로세스 내에서 실행되었기 때문에 문제의 원인을 파악하는 것이 비교적 용이했다. 하지만 MSA 환경에서는 하나의 사용자 요청을 처리하기 위해 수십, 수백 개의 독립적인 서비스들이 네트워크를 통해 서로 통신한다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;14&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 이러한 분산 환경에서는 특정 기능의 성능 저하나 오류가 발생했을 때, 그 원인이 어떤 서비스의 어떤 부분에 있는지 추적하는 것이 극도로 어려워진다. 바로 이 지점에서 분산 추적이 필수적인 기술로 대두된다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;15&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 분산 추적은 하나의 요청이 시스템에 들어와서 여러 서비스를 거쳐 나갈 때까지의 전체 여정을 시각화하여, 각 단계에서 소요된 시간과 발생한 이벤트를 상세히 보여준다. OpenTelemetry는 이러한 분산 추적을 구현하기 위한 표준화된 방법을 제공함으로써, 복잡한 MSA 환경에서의 디버깅과 성능 분석을 가능하게 한다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;14&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;이러한 변화는 모니터링(monitoring)이라는 전통적인 개념을 관측성(observability)이라는 더 포괄적인 개념으로 확장시켰다. 모니터링이 시스템의 상태를 미리 정의된 지표(e.g., CPU 사용률, 메모리 사용량)를 통해 확인하는 것이라면, 관측성은 시스템의 외부 출력(로그, 메트릭, 트레이스)을 통해 내부 상태를 능동적으로 탐색하고 이해하는 능력이다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; OpenTelemetry는 관측성의 세 가지 핵심 요소인 메트릭, 로그, 트레이스(MLT)를 단일 프레임워크 내에서 통합적으로 수집하고 상호 연관시킬 수 있는 길을 열었다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;7&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 예를 들어, 메트릭 대시보드에서 특정 지표의 이상 급증을 발견했을 때, 클릭 한 번으로 해당 시점에 발생한 트레이스들을 필터링하여 병목 구간을 찾아내고, 다시 그 트레이스와 연관된 로그를 조회하여 근본 원인을 파악하는 유기적인 분석이 가능해진다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;결론적으로, OpenTelemetry의 도입은 단순한 기술 스택의 교체가 아니라, 조직의 아키텍처 및 운영 성숙도를 나타내는 중요한 지표로 해석될 수 있다. 클라우드 네이티브 여정의 초기 단계에 있는 조직은 기본적인 모니터링 도구로 충분할 수 있다. 그러나 MSA와 쿠버네티스를 기반으로 복잡한 분산 시스템을 운영하게 되면, 기존 방식으로는 시스템의 동작을 이해하는 데 한계에 부딪히는 '복잡성의 벽'에 직면하게 된다. 이 시점에서 OpenTelemetry를 도입하기로 결정하는 것은, 관측성을 일급 시민(first-class citizen)으로 취급하겠다는 조직의 전략적 의지를 반영한다. 이는 평균 복구 시간(MTTR) 단축, 개발자 생산성 향상, 그리고 향후 분석 백엔드 플랫폼을 유연하게 교체할 수 있는 능력 확보 등 장기적인 가치를 위한 투자이다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;9&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 따라서 특정 기업의 OpenTelemetry 도입 여부와 그 수준을 살펴보는 것은 해당 기업의 기술적, 운영적 성숙도를 가늠하는 효과적인 척도가 될 수 있다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;제 2부: 국내 도입 확정 사례: 아키텍처 심층 분석&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;국내에서도 다수의 선도적인 기술 기업들이 OpenTelemetry의 전략적 가치를 인식하고, 이를 자사의 핵심 시스템에 도입하여 운영 효율성과 안정성을 높이고 있다. 특히 스마일게이트와 LG전자의 사례는 각각 다른 동기와 접근 방식을 통해 OpenTelemetry를 성공적으로 적용한 대표적인 경우로, 국내 기업들이 참고할 만한 구체적인 청사진을 제공한다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;2.1. 사례 연구: 스마일게이트 - 멀티 클러스터 쿠버네티스 환경의 관측성 고도화&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;스마일게이트는 2024년에 개최된 Cloud Native &amp;amp; Kubernetes Community Day (CNKCD)에서 자사의 OpenTelemetry 도입 사례를 발표하며, 국내 기술 커뮤니티에 중요한 이정표를 제시했다. 이들의 도입 동기는 대규모 멀티 클러스터 쿠버네티스 환경에서 기존 관측성 시스템이 가진 명백한 한계 때문이었다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 여러 클러스터에 분산된 모니터링 도구들은 통합된 뷰를 제공하지 못했고, 이는 플랫폼 서비스 전반의 가시성을 저해하는 주요 원인이었다. 목표는 명확했다. 파편화된 도구들을 통합하고, 관측성을 중앙에서 관리하여 고도화하는 것이었다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;아키텍처 심층 분석&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;스마일게이트가 선택한 아키텍처는 현대적인 오픈소스 기반 관측성 스택의 전형을 보여준다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;핵심 스택: Grafana LGTM&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 백엔드 시스템으로 Grafana LGTM(Loki, Grafana, Tempo, Mimir) 스택을 채택했다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 이는 특정 벤더에 종속되지 않고, 완전히 오픈소스로 자체 관리형 관측성 플랫폼을 구축하겠다는 강력한 의지를 보여준다. 각 컴포넌트는 명확한 역할을 수행한다. 트레이스는 Tempo로, 로그는 Loki로, 그리고 Prometheus와 호환되는 메트릭은 Mimir로 전송하여 저장 및 분석한다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;데이터 흐름 및 저장소 최적화&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 전체 데이터 흐름의 중심에는 OpenTelemetry Collector가 있다. 애플리케이션에서 수집된 모든 텔레메트리 데이터는 Collector를 통해 각 목적지에 맞는 백엔드로 라우팅된다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 특히 주목할 만한 점은 트레이스 저장소로 Tempo를 사용하면서 그 백엔드로 오브젝트 스토리지(object storage)를 활용한 것이다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 이는 대용량의 트레이스 데이터를 장기간 보관하는 데 있어 비용 효율성과 운영 복잡도를 크게 낮추는 현명한 아키텍처 결정이다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;중앙 집중식 관측성 클러스터&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 스마일게이트 아키텍처의 핵심적인 특징은 여러 클러스터에 흩어져 있던 관측성 관련 도구들을 하나의 전용 '관측성 클러스터'로 통합한 것이다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 이 중앙 집중식 접근 방식은 리소스 파편화를 막고 관리 포인트를 단일화하며, 모든 텔레메트리 데이터에 대한 '단일 창(single pane of glass)'을 제공하여 운영 효율성을 극대화한다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;하이브리드 계측 전략&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 데이터 수집 방식으로는 하이브리드 전략을 채택했다. 이는 실용성과 효율성을 모두 고려한 최적의 접근법이다. 광범위한 기본 데이터 수집을 위해 OpenTelemetry Operator를 활용하여 코드 수정 없이 자동 계측(auto-instrumentation)을 적용하고, 동시에 더 깊이 있는 분석이 필요한 특정 애플리케이션 로직에 대해서는 SDK를 이용한 수동 계측(manual instrumentation)을 병행한다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;도입 성과 및 영향&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;스마일게이트의 OpenTelemetry 도입은 클라우드 네이티브 기반 서비스의 가시성을 획기적으로 향상시키는 결과를 가져왔다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 통합된 플랫폼을 통해 개발자와 운영자는 트레이스, 메트릭, 로그 간의 상관관계를 쉽게 분석할 수 있게 되었고, 이는 장애 발생 시 원인 분석 시간을 단축하고 서비스 간의 복잡한 의존성을 명확하게 파악하는 데 결정적인 역할을 했다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;2.2. 사례 연구: LG전자 - ThinQ 클라우드를 위한 플랫폼 엔지니어링&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;LG전자는 LG 소프트웨어 개발자 콘퍼런스(SDC) 2024에서 'ThinQ 클라우드를 위한 플랫폼 엔지니어링(Platform Engineering for ThinQ Cloud)'이라는 주제 발표를 통해 OpenTelemetry 활용 사례를 공개했다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;18&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 이 사례가 특히 중요한 이유는 OpenTelemetry가 단일 프로젝트의 모니터링 도구로 사용된 것이 아니라, 수많은 개발팀이 사용하는 거대한 내부 개발자 플랫폼(Internal Developer Platform, IDP)의 핵심 구성 요소로 통합되었기 때문이다. 이는 OpenTelemetry를 플랫폼 수준에서 전략적으로 활용하는 선진적인 접근 방식을 보여준다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;아키텍처 심층 분석&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;LG전자의 접근 방식은 개별 애플리케이션 팀의 부담을 줄이고 플랫폼 차원에서 일관된 관측성을 제공하는 데 초점을 맞추고 있다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;서비스 메시와의 통합&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 발표 내용에서 가장 눈에 띄는 부분은 OpenTelemetry를 서비스 메시(Service Mesh)와 결합하여 사용했다는 점이다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;18&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; Istio와 같은 서비스 메시는 서비스 간의 모든 네트워크 트래픽에 대한 풍부한 텔레메트리 데이터(트레이스, 메트릭)를 자동으로 생성할 수 있다. LG전자는 이 데이터를 OpenTelemetry 파이프라인으로 수집하고 처리함으로써, 플랫폼 위에서 동작하는 모든 마이크로서비스에 대한 기본적인 수준의 관측성을 '무상으로' 제공한다. 이는 모든 개발팀이 직접 코드를 계측해야 하는 부담을 덜어주는 매우 효율적인 방식이다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;통합 관측성 데이터 버스&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 수백, 수천 개의 마이크로서비스로 구성될 수 있는 ThinQ 클라우드 플랫폼 전체에 대해, OpenTelemetry는 모든 텔레메트리 데이터를 위한 표준 '데이터 버스' 역할을 수행한다. 서비스 메시가 생성한 데이터든, 개별 애플리케이션이 SDK를 통해 생성한 데이터든, 모두 OTel 표준에 따라 수집되고 중앙 파이프라인을 통해 처리된다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;전략적 함의&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;LG전자는 관측성을 개별 개발팀의 책임이 아닌, 플랫폼이 제공해야 할 핵심 서비스로 정의했다. 이러한 플랫폼 엔지니어링 접근 방식은 개발자들이 비즈니스 로직 개발에만 집중할 수 있도록 하여 전체 조직의 개발 생산성을 높인다. 또한, 플랫폼 차원에서 데이터 수집 방식을 표준화함으로써, 전사적으로 일관되고 높은 품질의 텔레메트리 데이터를 확보할 수 있게 된다. 이는 대규모 분산 시스템의 안정성과 신뢰성을 유지하는 데 필수적인 요소이다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;18&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 더 상세한 아키텍처 정보는 당시 발표 자료인&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;Platform Engineering for ThinQ Cloud-v1.2.pptx에 담겨 있다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;18&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;이 두 가지 국내 사례는 OpenTelemetry 도입을 고려하는 기업들에게 중요한 시사점을 제공한다. 스마일게이트의 사례는 기존의 복잡한 멀티 클러스터 환경에서 관측성을 현대화하려는 '애플리케이션 중심의 현대화(Application-centric Modernization)' 접근법을 보여준다. 그들은 문제의 출발점을 애플리케이션의 가시성 부족으로 보고, 이를 해결하기 위해 중앙화된 관측성 백엔드를 구축한 후 OpenTelemetry를 표준화된 에이전트로 활용했다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 반면, LG전자의 사례는 수많은 개발팀에게 일관된 개발 환경과 서비스를 제공하려는 '플랫폼 중심의 표준화(Platform-centric Standardization)' 접근법을 대표한다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;18&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 그들은 관측성을 플랫폼이 제공해야 할 기본 기능으로 정의하고, 서비스 메시와 같은 인프라 레벨에서 OpenTelemetry를 통합하여 입주한 서비스들에게 관측성 기능을 제공한다. 이는 OpenTelemetry가 단일 솔루션이 아니라, 조직의 다양한 필요와 규모에 맞춰 유연하게 적용될 수 있는 강력한 프레임워크임을 증명한다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;제 3부: 추론을 통한 도입 및 전략적 방향성: 시장 신호 읽기&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;공식적인 컨퍼런스 발표나 기술 블로그 외에도, 기업의 전략적 방향성을 파악할 수 있는 중요한 신호가 있다. 바로 핵심 인재 채용 공고이다. 특히 기술적으로 성숙한 기업의 시니어급 엔지니어 채용 공고는 단순한 인력 충원을 넘어, 해당 기업이 미래에 어떤 기술에 집중적으로 투자하고 있는지를 보여주는 로드맵과 같다. 이러한 관점에서 라인(LINE)의 채용 공고는 OpenTelemetry를 중심으로 한 차세대 관측성 플랫폼 구축 전략을 명확하게 드러낸다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;3.1. 사례 연구: 라인(LINE) - 하이퍼스케일 관측성 플랫폼 구축&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;라인은 OpenTelemetry 도입에 대한 공식적인 사례 연구를 발표한 적은 없지만, '사이트 신뢰성 엔지니어(Site Reliability Engineer, SRE) - 관측성 엔지니어링(Observability Engineering)' 직무에 대한 채용 공고는 그들의 기술적 청사진을 상세하게 보여준다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;19&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 해당 직무가 빅데이터 및 분산 시스템에 대한 5년 이상의 깊이 있는 경력을 요구한다는 점은, 이것이 단기적인 프로젝트가 아닌 장기적이고 막대한 투자가 이루어지는 핵심 전략 분야임을 시사한다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;20&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;스택 해체 분석&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;채용 공고에 명시된 요구 기술 스택을 조합하면, 라인이 구축하고자 하는 최첨단 멀티테넌트(multi-tenant) 관측성 플랫폼의 전체 그림을 그려볼 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;데이터 수집 표준&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: OpenTelemetry가 핵심 기술로 명시되어 있다. 이는 라인의 방대한 글로벌 서비스에서 발생하는 모든 텔레메트리 데이터를 수집하기 위한 표준적이고 벤더 중립적인 프로토콜로 OTel을 채택했음을 의미한다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;20&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 즉, OTel은 이 거대한 플랫폼으로 들어오는 모든 데이터의 '정문' 역할을 한다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;백엔드 시스템&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 각 데이터 유형별로 전문화된 대용량 처리 시스템을 구축하고 있음을 알 수 있다. 메트릭 저장을 위해 Prometheus와 OpenTSDB를, 로그 및 검색을 위해 Elasticsearch의 포크(fork)인 OpenSearch를, 그리고 이 모든 데이터를 안정적으로 처리하기 위한 고성능 데이터 버스로 Kafka를 언급하고 있다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;20&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 이는 엄청난 양의 데이터를 처리할 수 있는 정교하고 계층화된 백엔드를 시사한다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;시각화 및 분석&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 시각화 도구로는 Grafana가 명시되어 있다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;20&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; Grafana는 앞서 언급된 Prometheus, OpenTSDB, OpenSearch와 같은 백엔드 시스템과 완벽하게 통합되어, 시스템 상태를 한눈에 파악할 수 있는 대시보드를 제공한다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;플랫폼 기반&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 이 모든 관측성 시스템은 쿠버네티스 위에서 구축 및 운영된다. 이는 컨테이너 오케스트레이션에 대한 깊은 전문성을 요구하며, 플랫폼 전체의 확장성과 유연성을 보장하는 기반 기술이다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;20&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;이러한 분석을 통해 라인의 관측성 스택을 체계적으로 정리하면 다음과 같다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;표 1: SRE 채용 공고 기반 라인(LINE) 관측성 스택 분석&lt;/span&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;관측성 요소&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;요구 기술&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;라인 스택 내 추론 역할&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;관련 자료&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;데이터 수집 (표준)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;OpenTelemetry&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;모든 서비스로부터 트레이스, 메트릭, 로그를 수집하는 벤더 중립적 통합 에이전트 및 프로토콜. 전체 플랫폼의 데이터 유입 관문.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;20&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;메트릭&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;Prometheus, OpenTSDB&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;시스템 및 애플리케이션 메트릭을 저장하기 위한 확장 가능한 멀티테넌트 시계열 데이터베이스. 실시간 모니터링은 Prometheus, 장기 저장은 OpenTSDB 활용 추정.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;20&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;로깅 및 검색&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;OpenSearch&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;분산 서비스에서 발생하는 대용량 로그 데이터를 중앙에서 저장, 검색, 분석하기 위한 백엔드.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;20&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;데이터 파이프라인/버퍼&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;Kafka&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;최종 저장소 백엔드에 데이터를 처리하고 수집하기 전에 텔레메트리 데이터를 버퍼링하는 고성능, 탄력적 메시지 큐.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;20&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;시각화&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;Grafana&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;Prometheus/OpenTSDB/OpenSearch의 데이터를 쿼리하고 시스템 상태를 시각화하는 대시보드를 생성하기 위한 기본 사용자 인터페이스.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;20&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;오케스트레이션&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;Kubernetes, Docker&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;관측성 플랫폼 전체와 모니터링 대상 서비스가 구축되고 운영되는 컨테이너 기반의 핵심 인프라.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f8fafd;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;20&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;이처럼 고도의 전문성을 요구하는 시니어급 인재 채용은 해당 기술 분야에 대한 깊고 전략적인 투자를 의미하는 선행 지표이다. 라인은 단순히 OpenTelemetry를 '사용'하는 수준을 넘어, 이를 중심으로 핵심 비즈니스 역량을 구축하고 있다. 소규모 팀이 특정 기술을 실험하는 것과는 차원이 다르다. 대규모 데이터 플랫폼 구축 및 운영 경험을 갖춘 시니어 SRE를 여러 명 채용한다는 것은 &lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;20&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;, 실험 단계를 지나 전략적 제도화 단계로 진입했음을 명백히 보여준다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;요구되는 기술 스택(빅데이터, 분산 시스템, 쿠버네티스)을 볼 때, 라인은 단순히 상용 SaaS 제품을 구매하는 것이 아니라, 자체적인 내부 플랫폼을 직접 구축하고 있음을 알 수 있다. 이는 OpenTelemetry가 라인의 글로벌 서비스 안정성을 보장하는 데 필수적인, 미션 크리티컬(mission-critical)한 구성 요소로 간주되고 있음을 의미한다. 이러한 수준의 투자는 표준화, 벤더 종속성 탈피, 확장성이라는 OTel의 장점이 장기적인 비즈니스 성공에 필수적이라고 판단했기 때문에 가능한 것이다. 따라서 기술 기업의 채용 공고를 분석하는 것은 해당 기업의 기술 전략과 미래 방향성을 파악하는 강력한 경쟁 정보 분석 도구가 될 수 있다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;제 4부: 국내 개발자 생태계: 지배적 동향과 구현 패턴&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;국내 기업들의 공식적인 도입 사례 외에도, 개발자 커뮤니티에서 나타나는 기술 동향과 구현 패턴을 분석하는 것은 OpenTelemetry가 현장에서 어떻게 받아들여지고 있는지를 이해하는 데 매우 중요하다. 다수의 기술 블로그, 튜토리얼, 커뮤니티 토론을 종합해 보면, 국내 개발자 생태계에서는 특정 오픈소스 스택이 사실상의 표준(de facto standard)으로 자리 잡고 있으며, 각 프로그래밍 언어별로 뚜렷한 구현 패턴이 나타나고 있다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;4.1. 사실상의 오픈소스 표준 스택: 'OTel + Grafana' 청사진&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;국내 개발자 커뮤니티의 수많은 기술 문서와 구축 사례는 특정 오픈소스 아키텍처로의 강력한 수렴 현상을 보여준다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;22&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 이는 'OpenTelemetry + Grafana' 스택으로 요약될 수 있으며, 비용 효율성과 기술적 유연성을 중시하는 국내 개발자들의 실용적인 선택을 반영한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;이 청사진의 구성 요소는 다음과 같다:&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;수집 (Collection)&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: OpenTelemetry Collector가 중앙 데이터 수집기 및 처리기 역할을 담당한다. 특히 쿠버네티스 환경에서는 OTel Operator를 통해 선언적으로 배포하고 관리하는 방식이 널리 사용된다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;17&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;트레이스 백엔드 (Tracing Backend)&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: Grafana Tempo가 압도적인 선택을 받고 있다. Tempo는 구조가 단순하고, 대용량 트레이스 저장을 위해 저렴한 오브젝트 스토리지를 활용할 수 있다는 장점 때문에 높은 인기를 누리고 있다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;메트릭 백엔드 (Metrics Backend)&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 메트릭 분야에서는 여전히 Prometheus가 표준으로 자리 잡고 있으며, 확장성을 위해 Mimir나 Cortex와 같은 스토리지 백엔드와 함께 사용하는 경우가 많다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;23&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;로깅 백엔드 (Logging Backend)&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 로그 수집 및 저장을 위해서는 Grafana Loki가 주로 선택된다. Loki는 Prometheus와 유사한 레이블 기반 쿼리 모델을 사용하여 다른 Grafana 스택과 긴밀하게 통합된다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;24&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;시각화 (Visualization)&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: Grafana가 이 모든 데이터 유형을 위한 통합 UI 역할을 한다. 개발자들은 Grafana 대시보드에서 메트릭, 로그, 트레이스를 한 번에 조회하고, 강력한 상관관계 분석 기능을 활용할 수 있다. 예를 들어, 특정 메트릭의 급증을 확인한 후, 해당 시점의 트레이스로 바로 이동(Trace to Metrics)하여 병목 현상의 원인을 찾는 식의 유기적인 분석이 가능하다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;23&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;4.2. 언어별 계측: 비교 분석&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;OpenTelemetry는 다양한 프로그래밍 언어를 지원하며, 각 언어의 특성에 따라 구현 방식과 주요 고려사항에 차이가 있다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;Java (Spring Boot)&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: Java 생태계에서는 OpenTelemetry Java Agent를 활용한 자동 계측 방식이 가장 보편적이다. JVM 실행 시 -javaagent 옵션을 추가하는 것만으로 코드 수정 없이 광범위한 트레이스와 메트릭을 수집할 수 있다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;24&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 보다 심화된 구현에서는 Prometheus 메트릭과 OTel 트레이스를 연결하기 위해 Exemplar 기능을 설정하고, 로그와 트레이스를 연관시키기 위해&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;logback-spring.xml 설정 파일에 trace_id와 span_id를 포함시키도록 로그 패턴을 수정하는 작업이 이루어진다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;24&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;.NET&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;:.NET 환경에서는 쿠버네티스의 OpenTelemetry Operator를 활용하여.NET 자동 계측 에이전트를 주입하는 방식이 선호된다. 배포 YAML 파일에 특정 어노테이션(annotation)을 추가하는 것만으로 계측이 완료되는 '코드리스(code-less)' 접근법은 그 단순함 때문에 매우 매력적이다..&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;23&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;NET의 OTel 구현은 프레임워크에 내장된 진단 관련 시스템 API를 효율적으로 활용하는 특징을 보인다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;26&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;Node.js&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: Node.js 환경에서의 구현은 다른 언어에 비해 상대적으로 더 많은 코드 레벨의 설정이 필요하다. 일반적으로 tracer.ts와 같은 별도의 설정 파일을 작성하여 NodeSDK를 직접 구성해야 한다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;27&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 개발자들이 겪는 주된 어려움으로는 초기화 순서 문제가 있다. 즉, 애플리케이션 모듈이 로드되기 전에 OTel Tracer가 먼저 초기화되어야만 정상적으로 데이터가 수집된다. 또한, 쿠버네티스 환경에서 환경 변수를 로드하는 시점과 관련된 문제로 인해 종종 별도의 해결책이 필요하다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;27&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 로거(logger) 선택에 있어서도 Pino와 Winston 같은 라이브러리 간의 장단점이 뚜렷하여, 프로젝트의 특성에 맞는 신중한 선택이 요구된다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;27&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;4.3. 진화하는 APM 시장: OTel에 적응하는 상용 벤더들&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;OpenTelemetry의 등장은 기존의 상용 APM(Application Performance Monitoring) 벤더들에게 거대한 파괴적 혁신으로 작용하고 있다. 이들은 생존과 성장을 위해 OTel을 적극적으로 수용하는 방향으로 전략을 수정하고 있다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;제니퍼소프트의 관점&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 국내 대표 APM 기업인 제니퍼소프트는 OpenTelemetry를 위기가 아닌 기회로 보고 있다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;3&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 그들은 OTel이 데이터 수집 기술을 상향 평준화시키고 상품화(commoditization)한다고 분석한다. 이에 따라, 제니퍼소프트는 자사의 핵심 가치를 데이터 수집 에이전트 판매에서, 수집된 데이터를 분석하고 시각화하여 유의미한 통찰력을 제공하는 상위 레벨로 이동시키고 있다. 특히 네이버, 카카오와 같이 자체적으로 OTel을 도입하여 데이터를 수집하지만, 여전히 강력하고 세련된 분석 플랫폼을 필요로 하는 대규모 기업들을 잠재 고객으로 보고, 이들에게 OTel 기반의 고도화된 분석 솔루션을 제공하는 것을 새로운 성장 동력으로 삼고 있다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;글로벌 벤더 전략 (New Relic, Elastic 등)&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: New Relic, Elastic과 같은 글로벌 벤더들은 OpenTelemetry를 매우 공격적으로 수용하고 있다. 이들은 OTel의 표준 프로토콜인 OTLP를 네이티브로 지원하는 엔드포인트를 제공하고, 오픈소스 프로젝트 자체에도 적극적으로 기여하고 있다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;28&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 이들의 핵심 메시지는 '통합'이다. 즉, 데이터 수집은 업계 표준인 OpenTelemetry를 사용하고, 수집된 데이터는 자사의 강력하고 기능이 풍부한 상용 백엔드로 전송하여 저장, 분석, 시각화하라는 것이다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;이러한 생태계의 동향은 국내 기술 커뮤니티가 가진 '실용적 오픈소스(pragmatic open-source)' 정신을 잘 보여준다. Grafana 스택으로의 수렴 현상은 우연이 아니다. 이는 벤더 종속을 피하면서 강력하고, 비용 효율적이며, 높은 통합성을 제공하는 솔루션을 선호하는 집단적 의사결정의 결과물이다. 개발자와 기업들은 상용 올인원(all-in-one) SaaS 플랫폼을 사용하는 대신, 직접 오픈소스 컴포넌트로 스택을 구축하는 길을 택하고 있다. 수많은 기술 블로그에서 Grafana LGTM 스택 구축 가이드를 상세히 다루고 있다는 사실이 이를 뒷받침한다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;22&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 이러한 선택의 배경에는 상용 벤더의 라이선스 비용(호스트 수 또는 데이터 수집량 기반 과금)을 피하고, 많은 DevOps/SRE 엔지니어들이 이미 보유한 쿠버네티스 및 Prometheus 관련 기술을 활용하려는 동기가 있다. 이는 국내 시장에 진입하려는 모든 벤더들이 이 사실상의 오픈소스 청사진이 제공하는 이점을 능가하는 강력한 가치를 제안해야만 경쟁력을 가질 수 있음을 시사한다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;제 5부: 도입을 위한 프레임워크: 국내 기업을 위한 전략적 제언&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;OpenTelemetry 도입은 기술 스택의 단순한 변경을 넘어, 조직의 개발 문화와 운영 방식을 혁신할 수 있는 잠재력을 가지고 있다. 성공적인 도입을 위해서는 체계적인 계획과 전략적 접근이 필수적이다. 앞서 분석한 국내외 사례와 개발자 생태계의 동향을 바탕으로, 국내 기업들이 OpenTelemetry를 효과적으로 도입하기 위한 프레임워크를 다음과 같이 제언한다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;5.1. 단계별 구현 로드맵: 빠른 성공에서 깊은 통찰까지&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;성공적인 도입을 위해서는 점진적이고 단계적인 접근이 효과적이다. 이는 초기 투자 비용과 위험을 최소화하면서 가시적인 성과를 빠르게 창출하고, 이를 바탕으로 전사적인 공감대를 형성해 나가는 전략이다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;1단계: 자동 계측으로 시작하라 (Start with Auto-Instrumentation)&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;Java의 -javaagent나.NET의 Operator 기반 주입 방식과 같은 자동 계측 기능을 최우선으로 활용해야 한다.4 이를 통해 애플리케이션 코드 변경을 최소화하면서도, 서비스 전반에 걸쳐 기본적인 분산 추적 데이터를 즉시 확보할 수 있다. 이 단계의 목표는 '빠른 성공(Quick Win)'을 통해 OpenTelemetry의 가치를 조직 내에 증명하고, 초기 도입의 동력을 확보하는 것이다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;2단계: Collector로 중앙 집중화하라 (Centralize with the Collector)&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;다음 단계는 OpenTelemetry Collector를 중앙 데이터 파이프라인으로 구축하는 것이다. 모든 애플리케이션이 OTLP(OpenTelemetry Protocol)를 통해 Collector로 데이터를 전송하도록 구성한다.5 이 아키텍처는 애플리케이션과 백엔드 시스템을 분리(decoupling)하는 핵심적인 역할을 한다. 향후 분석 도구를 교체하거나 추가하더라도, 애플리케이션 코드를 전혀 수정할 필요 없이 Collector의 내보내기(exporter) 설정만 변경하면 된다. 또한, Collector의 프로세서(processor) 기능을 활용하여 데이터를 필터링, 일괄 처리(batching), 보강(enrichment)하는 등 파이프라인을 효율적으로 관리할 수 있다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;3.단계: 목표 지향적 수동 계측을 추가하라 (Targeted Manual Instrumentation)&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;자동 계측으로 기본적인 가시성을 확보했다면, 이제 비즈니스적으로 중요한 핵심 워크플로우를 식별하고 해당 부분에 수동 계측을 추가해야 한다. OpenTelemetry SDK를 사용하여 비즈니스 로직과 관련된 커스텀 스팬(span), 속성(attribute), 이벤트(event)를 추가한다.31 예를 들어, '사용자 로그인', '상품 주문', '결제 처리'와 같은 핵심 트랜잭션에 상세한 컨텍스트를 부여하는 것이다. 이는 자동 계측만으로는 얻을 수 없는 깊이 있는 비즈니스 관련 통찰력을 제공한다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;4.단계: 세 가지 기둥을 모두 통합하라 (Integrate All Three Pillars)&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;관측성의 진정한 힘은 메트릭, 로그, 트레이스의 유기적인 통합에서 나온다. 모든 로그 메시지에 trace_id와 span_id가 포함되도록 로깅 라이브러리를 설정하여, 특정 트랜잭션과 관련된 로그를 쉽게 필터링할 수 있도록 해야 한다.24 또한, Prometheus의 Exemplar 기능을 활용하여 메트릭 데이터 포인트에서 해당 시점의 특정 트레이스로 직접 연결될 수 있는 고리를 만들어야 한다.24 이 단계가 완료되면, 시스템의 문제를 다각도에서 입체적으로 분석할 수 있는 완전한 관측성 체계가 구축된다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;5.2. 프로덕션 환경을 위한 아키텍처 모범 사례&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;프로덕션 환경에서 OpenTelemetry를 안정적이고 효율적으로 운영하기 위해서는 몇 가지 아키텍처 패턴을 고려해야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;Collector 배포 토폴로지&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: Collector 배포 방식은 크게 두 가지로 나뉜다. 각 노드에 에이전트(agent) 또는 사이드카(sidecar) 형태로 배포하는 방식과, 중앙에 게이트웨이(gateway) 서비스로 배포하는 방식이다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;33&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 가장 권장되는 방식은 이 둘을 결합한 하이브리드 접근법이다. 즉, 각 노드에 에이전트를 배포하여 초기 데이터 수집과 일괄 처리를 담당하게 하고, 이 에이전트들이 중앙의 게이트웨이 Collector로 데이터를 전달하여 최종 처리 및 외부 백엔드로의 전송을 담당하게 하는 구조이다. 이는 확장성과 관리 효율성을 모두 만족시키는 균형 잡힌 모델이다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;샘플링 전략&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 대규모 트래픽을 처리하는 프로덕션 환경에서 모든 트레이스를 100% 수집하는 것은 비용과 성능 측면에서 비현실적일 수 있다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;35&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 따라서 효과적인 샘플링(sampling) 전략이 필수적이다. 트레이스 시작 시점에 수집 여부를 결정하는 'Head-based 샘플링'과, 트레이스 전체가 완료된 후 중요도에 따라 수집을 결정하는 'Tail-based 샘플링' 등 다양한 전략이 있다. SDK 또는 Collector 레벨에서 비즈니스 요구사항에 맞는 샘플링 비율과 방식을 설정하여, 비용과 성능 오버헤드를 관리해야 한다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;시맨틱 컨벤션 준수&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: OpenTelemetry는 다양한 환경에서 수집되는 데이터의 의미를 통일하기 위해 '시맨틱 컨벤션(Semantic Conventions)'이라는 이름으로 속성의 키 이름, 값의 형식 등에 대한 가이드라인을 제공한다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;http.method, db.statement와 같이 표준화된 속성 이름을 일관되게 사용하면, 여러 팀과 서비스에서 생성된 데이터를 통합하여 쿼리하고 분석하기가 훨씬 용이해진다. 이는 조직 전체의 데이터 일관성을 확보하는 데 매우 중요하다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;5.3. 비즈니스 케이스 구축 및 조직 내 도입 확산&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;기술 도입의 성공은 기술 자체의 우수성뿐만 아니라, 조직의 공감대와 지원에 달려 있다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;정량화 가능한 이점 제시&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 기술 리더는 경영진을 설득하기 위해 OpenTelemetry 도입의 비즈니스 가치를 명확하게 제시해야 한다. 분산 추적을 통해 장애의 근본 원인을 찾는 시간이 획기적으로 단축되는 '평균 복구 시간(MTTR)' 개선 효과는 가장 강력한 정량적 지표이다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;9&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt; 또한, 개발자들이 문제 해결에 들이는 시간을 줄여 핵심 비즈니스 로직 개발에 더 집중할 수 있게 되는 '개발자 경험 향상'과, 특정 벤더에 종속되지 않는 '전략적 유연성 확보'와 같은 가치도 함께 강조해야 한다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;내부 전문가 그룹 육성&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: 조직 내에 '관측성 길드(Observability Guild)'나 전담 '플랫폼 팀'을 구성하는 것이 효과적이다. 이 그룹은 전사적인 OpenTelemetry 도입 표준을 수립하고, 공통 라이브러리와 모범 사례를 제공하며, 다른 개발팀을 교육하고 지원하는 역할을 수행한다. 이는 LG전자의 플랫폼 엔지니어링 접근 방식에서 볼 수 있듯이, 대규모 조직에서 일관되고 효과적인 도입을 보장하는 핵심적인 전략이다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;18&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;미래를 위한 투자&lt;/span&gt;&lt;span style=&quot;color: #1b1c1d;&quot;&gt;: OpenTelemetry 도입을 현재의 문제를 해결하는 단기적인 해결책이 아니라, 미래의 기술 변화에 대비하는 '미래 보장형(future-proof)' 투자로 포지셔닝해야 한다. OpenTelemetry로 계측된 시스템은, 향후 더 뛰어난 분석 백엔드나 새로운 오픈소스 프로젝트가 등장했을 때, Collector의 설정 변경만으로 손쉽게 이를 채택할 수 있다. 이는 값비싼 재계측(re-instrumentation) 프로젝트 없이도 기술 생태계의 발전에 유연하게 대응할 수 있는 강력한 경쟁력이 된다.&lt;/span&gt;&lt;span style=&quot;color: #575b5f;&quot;&gt;&lt;span&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;참고 자료&lt;/span&gt;&lt;/h4&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;What is OpenTelemetry | Rollbar, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://rollbar.com/blog/what-is-opentelemetry/&quot;&gt;https://rollbar.com/blog/what-is-opentelemetry/&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Documentation - OpenTelemetry, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://opentelemetry.io/docs/&quot;&gt;https://opentelemetry.io/docs/&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;오픈텔레메트리란 무엇일까요? &amp;ndash; 제니퍼소프트 - jennifersoft, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://jennifersoft.com/ko/blog/tech/opentelemetry/&quot;&gt;https://jennifersoft.com/ko/blog/tech/opentelemetry/&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry란 무엇인가? - Elastic, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://www.elastic.co/kr/what-is/opentelemetry&quot;&gt;https://www.elastic.co/kr/what-is/opentelemetry&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;딥리서치로 찾아본, OpenTelemetry 심층 조사 보고서 :: 아리수, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://arisu1000.tistory.com/27904&quot;&gt;https://arisu1000.tistory.com/27904&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Open Telemetry - spring rain - 티스토리, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://autumnrain.tistory.com/entry/Open-Telemetry&quot;&gt;https://autumnrain.tistory.com/entry/Open-Telemetry&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry의 사용자 관점 Overview - 어쨌건간에 흘러가는 者, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://www.anyflow.net/sw-engineer/opentelemetry-overview&quot;&gt;https://www.anyflow.net/sw-engineer/opentelemetry-overview&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry 란 무엇인가?, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://medium.com/@dudwls96/opentelemetry-%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-18b6e4fe6e36&quot;&gt;https://medium.com/@dudwls96/opentelemetry-%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-18b6e4fe6e36&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;딥리서치로 찾아본, 대규모 기업의 OpenTelemetry 도입 사례 :: 아리수, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://arisu1000.tistory.com/27905&quot;&gt;https://arisu1000.tistory.com/27905&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[CNKCD2024] OpenTelemetry 기반 멀티 클러스터 Kubernetes ..., 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=4I1yoSgKUZo&quot;&gt;https://www.youtube.com/watch?v=4I1yoSgKUZo&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://opentelemetry.io/&quot;&gt;https://opentelemetry.io/&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry란 무엇인가요? - Google Cloud, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://cloud.google.com/learn/what-is-opentelemetry?hl=ko&quot;&gt;https://cloud.google.com/learn/what-is-opentelemetry?hl=ko&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[MSA] Monitoring/Diagnostics Telemetry - 나라의 IT 잡아먹기 - 티스토리, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://waspro.tistory.com/443&quot;&gt;https://waspro.tistory.com/443&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[Elastic] MSA, 분산 추적, APM, Open Telemetry - Data engineer 삽질기 - 티스토리, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://tlsdnxkr.tistory.com/74&quot;&gt;https://tlsdnxkr.tistory.com/74&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry를 활용한 이슈 분석 및 해결 (feat. OTel Demo) - lakescript, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://lakescript.net/entry/OpenTelemetry%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-%EC%9D%B4%EC%8A%88-%EB%B6%84%EC%84%9D-%EB%B0%8F-%ED%95%B4%EA%B2%B0-otel-demo&quot;&gt;https://lakescript.net/entry/OpenTelemetry%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-%EC%9D%B4%EC%8A%88-%EB%B6%84%EC%84%9D-%EB%B0%8F-%ED%95%B4%EA%B2%B0-otel-demo&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry Traces 통한 Application 모니터링 하기 | by Paul - Medium, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://medium.com/@dudwls96/opentelemetry-traces-%ED%86%B5%ED%95%9C-application-%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81-%ED%95%98%EA%B8%B0-ac1e4c8a0749&quot;&gt;https://medium.com/@dudwls96/opentelemetry-traces-%ED%86%B5%ED%95%9C-application-%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81-%ED%95%98%EA%B8%B0-ac1e4c8a0749&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry 설치 및 구성 - velog, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://velog.io/@utcloud/OpenTelemetry-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EA%B5%AC%EC%84%B1&quot;&gt;https://velog.io/@utcloud/OpenTelemetry-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EA%B5%AC%EC%84%B1&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;LG SDC 2024 발표: Service Mesh, OpenTelemetry, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://www.anyflow.net/sw-engineer/lg-sdc-2024&quot;&gt;https://www.anyflow.net/sw-engineer/lg-sdc-2024&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;LINE CAREERS | Oneflow AI Backend Engineer, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://careers.linecorp.com/jobs/2734&quot;&gt;https://careers.linecorp.com/jobs/2734&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;라인플러스 채용 | Site Reliability Engineer - 직행, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://zighang.com/recruitment/95ea4e92-1912-48d5-be0c-ffbef276230e&quot;&gt;https://zighang.com/recruitment/95ea4e92-1912-48d5-be0c-ffbef276230e&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[라인플러스(LINE Plus)] Site Reliability Engineer (Observability) 채용 공고 - 원티드, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://www.wanted.co.kr/wd/229855&quot;&gt;https://www.wanted.co.kr/wd/229855&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Tracing - OpenTelemetry + Tempo - 매일 쓰고 달립니다. - 티스토리, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://jerryljh.tistory.com/113&quot;&gt;https://jerryljh.tistory.com/113&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[O-Tel] Opentelemetry로 .Net Trace 구성하기 - junkmm blog - 티스토리, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://junkmm.tistory.com/46&quot;&gt;https://junkmm.tistory.com/46&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[모니터링] OpenTelemetry, Tempo, Prometheus, Loki 적용하기, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://k-sky.tistory.com/922&quot;&gt;https://k-sky.tistory.com/922&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry로 EC2에 배포된 Java 애플리케이션 모니터링하기, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://ls-altr.tistory.com/156&quot;&gt;https://ls-altr.tistory.com/156&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry를 사용한 .NET 관찰 가능성 - Learn Microsoft, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://learn.microsoft.com/ko-kr/dotnet/core/diagnostics/observability-with-otel&quot;&gt;https://learn.microsoft.com/ko-kr/dotnet/core/diagnostics/observability-with-otel&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;opentelemetry 적용기 (2) - velog, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://velog.io/@hbjs97/opentelemetry-%EC%A0%81%EC%9A%A9%EA%B8%B0-2&quot;&gt;https://velog.io/@hbjs97/opentelemetry-%EC%A0%81%EC%9A%A9%EA%B8%B0-2&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry 데이터 분석 방법 - New Relic, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://newrelic.com/kr/blog/how-to-relic/opentelemetry-user-experience&quot;&gt;https://newrelic.com/kr/blog/how-to-relic/opentelemetry-user-experience&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry(OTel) 원격 측정 데이터 생성, 처리 및 전송, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://blog.pages.kr/2929&quot;&gt;https://blog.pages.kr/2929&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry를 사용한 쿠버네티스 인프라 모니터링 - New Relic, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://newrelic.com/kr/blog/how-to-relic/monitoring-kubernetes-infrastructure-with-opentelemetry&quot;&gt;https://newrelic.com/kr/blog/how-to-relic/monitoring-kubernetes-infrastructure-with-opentelemetry&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry 마이크로서비스 이해하기 자습서 - NGINX STORE, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://nginxstore.com/blog/microservices/opentelemetry-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%9E%90%EC%8A%B5%EC%84%9C/&quot;&gt;https://nginxstore.com/blog/microservices/opentelemetry-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%9E%90%EC%8A%B5%EC%84%9C/&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry를 사용하여 앱에 커스텀 trace 및 측정항목 추가 | Cloud Monitoring, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://cloud.google.com/monitoring/custom-metrics/open-telemetry?hl=ko&quot;&gt;https://cloud.google.com/monitoring/custom-metrics/open-telemetry?hl=ko&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모니터링 - OpenTelemetry! - confinalst, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://kouzie.github.io/monitoring/%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81-OpenTelemetry/&quot;&gt;https://kouzie.github.io/monitoring/%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81-OpenTelemetry/&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;OpenTelemetry란? - ServiceNow, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://www.servicenow.com/kr/products/observability/what-is-opentelemetry.html&quot;&gt;https://www.servicenow.com/kr/products/observability/what-is-opentelemetry.html&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Tracing SDK | OpenTelemetry, 7월 14, 2025에 액세스, &lt;/span&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://opentelemetry.io/docs/specs/otel/trace/sdk/&quot;&gt;https://opentelemetry.io/docs/specs/otel/trace/sdk/&lt;/a&gt;&lt;/b&gt; &lt;/p&gt;</description>
      <category>책 및 세미나</category>
      <category>opentelemetry</category>
      <category>Trace</category>
      <category>국내</category>
      <category>기업</category>
      <category>도입사례</category>
      <category>모니터링</category>
      <author>쓱은감자</author>
      <guid isPermaLink="true">https://potato-dev.tistory.com/162</guid>
      <comments>https://potato-dev.tistory.com/162#entry162comment</comments>
      <pubDate>Mon, 14 Jul 2025 13:21:07 +0900</pubDate>
    </item>
    <item>
      <title>부천 상동 양꼬치 맛집 - 일가양꼬치</title>
      <link>https://potato-dev.tistory.com/161</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;부천 상동역 근처에 위치한 진짜 양꼬치 맛집 소개해드립니다. 장소도 넓어서 회식하기 좋고 일단 맛이 정말 훌륭합니다. 개인적으로는 양꼬치보다 양갈비살을 추천드립니다. 그리고 온면도 꼭 드셔보시길 추천드려요.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;메뉴 및 가격&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;양꼬치 - 12,000원&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;양갈비살 - 13,000원&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;온면 - 7,000원&lt;/p&gt;
&lt;p&gt;&lt;iframe mapdata=&quot;addr=%EA%B2%BD%EA%B8%B0%20%EB%B6%80%EC%B2%9C%EC%8B%9C%20%EC%9B%90%EB%AF%B8%EA%B5%AC%20%EC%83%81%EB%8F%99%20534-9%20%EB%AA%A8%EA%B1%B4%EC%8B%9C%ED%8B%B0%201%EC%B8%B5%20123%ED%98%B8&amp;amp;addtype=1&amp;amp;confirmid=26885482&amp;amp;docid=&amp;amp;idx=1&amp;amp;ifrH=362px&amp;amp;ifrW=490px&amp;amp;mapHeight=362&amp;amp;mapInfo=%7B%22version%22%3A2%2C%22mapWidth%22%3A490%2C%22mapHeight%22%3A362%2C%22mapCenterX%22%3A445025%2C%22mapCenterY%22%3A1113078%2C%22mapLevel%22%3A4%2C%22coordinate%22%3A%22wcongnamul%22%2C%22markInfo%22%3A%5B%7B%22markerType%22%3A%22standPlace%22%2C%22coordinate%22%3A%22wcongnamul%22%2C%22x%22%3A445025%2C%22y%22%3A1113081%2C%22clickable%22%3Atrue%2C%22draggable%22%3Atrue%2C%22icon%22%3A%7B%22width%22%3A35%2C%22height%22%3A56%2C%22offsetX%22%3A17%2C%22offsetY%22%3A56%2C%22src%22%3A%22%2F%2Ft1.daumcdn.net%2Flocalimg%2Flocalimages%2F07%2F2012%2Fattach%2Fpc_img%2Fico_marker2_150331.png%22%7D%2C%22content%22%3A%22%EC%9D%BC%EA%B0%80%EC%96%91%EA%BC%AC%EC%B9%98%22%2C%22confirmid%22%3A26885482%7D%5D%2C%22graphicInfo%22%3A%5B%5D%2C%22roadviewInfo%22%3A%5B%5D%7D&amp;amp;mapWidth=490&amp;amp;mapX=445025&amp;amp;mapY=1113078&amp;amp;map_hybrid=false&amp;amp;map_level=4&amp;amp;map_type=TYPE_MAP&amp;amp;rcode=4119270000&amp;amp;tel=032-322-1555&amp;amp;title=%EC%9D%BC%EA%B0%80%EC%96%91%EA%BC%AC%EC%B9%98&quot; src=&quot;/proxy/plusmapViewer.php?id=maps_1750136209724&quot; id=&quot;maps_1750136209724&quot; width=&quot;540px&quot; height=&quot;350px&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; data-ke-type=&quot;map&quot; data-maps-data=&quot;addr=%EA%B2%BD%EA%B8%B0%20%EB%B6%80%EC%B2%9C%EC%8B%9C%20%EC%9B%90%EB%AF%B8%EA%B5%AC%20%EC%83%81%EB%8F%99%20534-9%20%EB%AA%A8%EA%B1%B4%EC%8B%9C%ED%8B%B0%201%EC%B8%B5%20123%ED%98%B8&amp;amp;addtype=1&amp;amp;confirmid=26885482&amp;amp;docid=&amp;amp;idx=1&amp;amp;ifrH=362px&amp;amp;ifrW=490px&amp;amp;mapHeight=362&amp;amp;mapInfo=%7B%22version%22%3A2%2C%22mapWidth%22%3A490%2C%22mapHeight%22%3A362%2C%22mapCenterX%22%3A445025%2C%22mapCenterY%22%3A1113078%2C%22mapLevel%22%3A4%2C%22coordinate%22%3A%22wcongnamul%22%2C%22markInfo%22%3A%5B%7B%22markerType%22%3A%22standPlace%22%2C%22coordinate%22%3A%22wcongnamul%22%2C%22x%22%3A445025%2C%22y%22%3A1113081%2C%22clickable%22%3Atrue%2C%22draggable%22%3Atrue%2C%22icon%22%3A%7B%22width%22%3A35%2C%22height%22%3A56%2C%22offsetX%22%3A17%2C%22offsetY%22%3A56%2C%22src%22%3A%22%2F%2Ft1.daumcdn.net%2Flocalimg%2Flocalimages%2F07%2F2012%2Fattach%2Fpc_img%2Fico_marker2_150331.png%22%7D%2C%22content%22%3A%22%EC%9D%BC%EA%B0%80%EC%96%91%EA%BC%AC%EC%B9%98%22%2C%22confirmid%22%3A26885482%7D%5D%2C%22graphicInfo%22%3A%5B%5D%2C%22roadviewInfo%22%3A%5B%5D%7D&amp;amp;mapWidth=490&amp;amp;mapX=445025&amp;amp;mapY=1113078&amp;amp;map_hybrid=false&amp;amp;map_level=4&amp;amp;map_type=TYPE_MAP&amp;amp;rcode=4119270000&amp;amp;tel=032-322-1555&amp;amp;title=%EC%9D%BC%EA%B0%80%EC%96%91%EA%BC%AC%EC%B9%98&quot; data-maps-thumbnail=&quot;https://ssl.daumcdn.net/map3/staticmap/image?center=445025%2C1113078&amp;amp;lv=4&amp;amp;size=540x350&amp;amp;srs=WCONGNAMUL&amp;amp;markers=symbol%3Asc_marker%7Clocation%3A445025%2C1113081&quot;&gt;&lt;/iframe&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;3000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WCnI7/btsOD1368Qb/Cu1wf52nmDQjfmWOXya0kk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WCnI7/btsOD1368Qb/Cu1wf52nmDQjfmWOXya0kk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WCnI7/btsOD1368Qb/Cu1wf52nmDQjfmWOXya0kk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWCnI7%2FbtsOD1368Qb%2FCu1wf52nmDQjfmWOXya0kk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;518&quot; height=&quot;389&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;3000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>기타</category>
      <category>맛집</category>
      <category>부천</category>
      <category>상동역</category>
      <category>양꼬치</category>
      <category>회식</category>
      <author>쓱은감자</author>
      <guid isPermaLink="true">https://potato-dev.tistory.com/161</guid>
      <comments>https://potato-dev.tistory.com/161#entry161comment</comments>
      <pubDate>Tue, 17 Jun 2025 14:02:07 +0900</pubDate>
    </item>
    <item>
      <title>Azure NSG Flow Log에서 상태 코드 설명</title>
      <link>https://potato-dev.tistory.com/160</link>
      <description>&lt;p data-end=&quot;179&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;NSG 흐름 로그에서 나오는 A, D 외에 &lt;b&gt;B, E&lt;/b&gt; 같은 값들은 &lt;b&gt;V2 형식(NSG Flow Logs Version 2)&lt;/b&gt; 에서 사용하는 &lt;b&gt;5-튜플 상태 코드(Status)&lt;/b&gt; 중 일부입니다. 이 경우 action 필드가 아니라 flowTuples 내부의 상태값입니다.&lt;/p&gt;
&lt;hr data-end=&quot;184&quot; data-start=&quot;181&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;227&quot; data-start=&quot;186&quot; data-ke-size=&quot;size23&quot;&gt;✅ NSG Flow Logs V2의 상태 코드 설명 (마지막 필드)&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;코드의미
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;729&quot; data-start=&quot;229&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;729&quot; data-start=&quot;385&quot;&gt;
&lt;tr data-end=&quot;451&quot; data-start=&quot;385&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;392&quot; data-start=&quot;385&quot;&gt;A&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;451&quot; data-start=&quot;392&quot;&gt;Allow (허용) &amp;ndash; 흐름이 명시적으로 허용됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;517&quot; data-start=&quot;452&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;459&quot; data-start=&quot;452&quot;&gt;D&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;517&quot; data-start=&quot;459&quot;&gt;Deny (거부) &amp;ndash; 흐름이 명시적으로 차단됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;589&quot; data-start=&quot;518&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;525&quot; data-start=&quot;518&quot;&gt;B&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;589&quot; data-start=&quot;525&quot;&gt;Begin &amp;ndash; 새로운 흐름이 시작됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;661&quot; data-start=&quot;590&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;597&quot; data-start=&quot;590&quot;&gt;E&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;661&quot; data-start=&quot;597&quot;&gt;End &amp;ndash; 기존 흐름이 종료됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;729&quot; data-start=&quot;662&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;669&quot; data-start=&quot;662&quot;&gt;I&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;729&quot; data-start=&quot;669&quot;&gt;Inter-flow &amp;ndash; 흐름이 계속되고 있음 (중간 상태)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote data-end=&quot;793&quot; data-start=&quot;731&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;793&quot; data-start=&quot;733&quot; data-ke-size=&quot;size16&quot;&gt;즉, B, E, D는 &lt;b&gt;흐름의 상태를 나타내는 값&lt;/b&gt;이며, D는 여전히 Deny (거부)를 의미합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;798&quot; data-start=&quot;795&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;809&quot; data-start=&quot;800&quot; data-ke-size=&quot;size23&quot;&gt;  예시&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&quot;flowTuples&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;1685010132,10.0.0.4,10.0.0.5,443,3389,T,B,D&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;922&quot; data-start=&quot;889&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;902&quot; data-start=&quot;889&quot;&gt;B = 흐름 시작&lt;/li&gt;
&lt;li data-end=&quot;922&quot; data-start=&quot;903&quot;&gt;D = NSG에 의해 차단됨&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>클라우드/Azure</category>
      <category>azure</category>
      <category>flowlog</category>
      <category>log</category>
      <author>쓱은감자</author>
      <guid isPermaLink="true">https://potato-dev.tistory.com/160</guid>
      <comments>https://potato-dev.tistory.com/160#entry160comment</comments>
      <pubDate>Mon, 2 Jun 2025 10:18:55 +0900</pubDate>
    </item>
    <item>
      <title>Azure Key-Vault 인증서 기관</title>
      <link>https://potato-dev.tistory.com/159</link>
      <description>&lt;p data-end=&quot;123&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;Azure Key Vault에서 인증서를 만들 때 선택하는 &lt;b&gt;CA(인증 기관, Certificate Authority) 유형&lt;/b&gt;은 인증서의 &lt;b&gt;신뢰 수준과 사용 목적&lt;/b&gt;에 따라 달라집니다. 주요 유형은 다음과 같습니다:&lt;/p&gt;
&lt;hr data-end=&quot;128&quot; data-start=&quot;125&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;165&quot; data-start=&quot;130&quot; data-ke-size=&quot;size23&quot;&gt;  1. &lt;b&gt;Self-signed (자체 서명)&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;299&quot; data-start=&quot;166&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;208&quot; data-start=&quot;166&quot;&gt;&lt;b&gt;설명&lt;/b&gt;: Key Vault가 자체적으로 인증서를 생성하고 서명함&lt;/li&gt;
&lt;li data-end=&quot;239&quot; data-start=&quot;209&quot;&gt;&lt;b&gt;용도&lt;/b&gt;: 테스트용, 내부용 시스템 간 통신&lt;/li&gt;
&lt;li data-end=&quot;281&quot; data-start=&quot;240&quot;&gt;&lt;b&gt;신뢰성&lt;/b&gt;: 브라우저나 외부 시스템에서 기본적으로 신뢰하지 않음&lt;/li&gt;
&lt;li data-end=&quot;299&quot; data-start=&quot;282&quot;&gt;✅ 빠르게 발급, 비용 없음&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;304&quot; data-start=&quot;301&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;342&quot; data-start=&quot;306&quot; data-ke-size=&quot;size23&quot;&gt;  2. &lt;b&gt;CA-signed (인증 기관 서명)&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;537&quot; data-start=&quot;343&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;430&quot; data-start=&quot;343&quot;&gt;&lt;b&gt;설명&lt;/b&gt;: 신뢰할 수 있는 외부 CA(예: DigiCert, GlobalSign) 또는 Azure Key Vault에 연결된 CA가 인증서를 발급&lt;/li&gt;
&lt;li data-end=&quot;481&quot; data-start=&quot;431&quot;&gt;&lt;b&gt;용도&lt;/b&gt;: &lt;b&gt;프로덕션 웹사이트, 클라이언트 인증 등 외부와 통신할 때 사용&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;521&quot; data-start=&quot;482&quot;&gt;&lt;b&gt;신뢰성&lt;/b&gt;: 브라우저, 시스템 등에서 신뢰할 수 있는 인증서&lt;/li&gt;
&lt;li data-end=&quot;537&quot; data-start=&quot;522&quot;&gt;❗ 별도 비용 발생 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-end=&quot;637&quot; data-start=&quot;539&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;637&quot; data-start=&quot;541&quot; data-ke-size=&quot;size16&quot;&gt;Key Vault에서는 &lt;b&gt;&quot;Integrated CA&quot;&lt;/b&gt; (예: DigiCert와의 연결) 또는 CSR 파일을 외부 CA로 전송하여 수동으로 업로드하는 방식도 지원합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;642&quot; data-start=&quot;639&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;678&quot; data-start=&quot;644&quot; data-ke-size=&quot;size23&quot;&gt;⚙️ 3. &lt;b&gt;Unknown (CSR only)&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;813&quot; data-start=&quot;679&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;762&quot; data-start=&quot;679&quot;&gt;&lt;b&gt;설명&lt;/b&gt;: Key Vault가 CSR(Certificate Signing Request)만 생성하고, 외부에서 서명한 인증서를 가져와야 함&lt;/li&gt;
&lt;li data-end=&quot;796&quot; data-start=&quot;763&quot;&gt;&lt;b&gt;용도&lt;/b&gt;: 인증서 발급 절차를 수동으로 진행할 때&lt;/li&gt;
&lt;li data-end=&quot;813&quot; data-start=&quot;797&quot;&gt;✅ 유연하지만 수작업 필요&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>클라우드/Azure</category>
      <category>azure</category>
      <category>Keyvault</category>
      <category>SSL</category>
      <category>TLS</category>
      <category>인증서</category>
      <author>쓱은감자</author>
      <guid isPermaLink="true">https://potato-dev.tistory.com/159</guid>
      <comments>https://potato-dev.tistory.com/159#entry159comment</comments>
      <pubDate>Fri, 30 May 2025 15:37:28 +0900</pubDate>
    </item>
    <item>
      <title>Azure Communication Services 이메일 전송 예시 코드</title>
      <link>https://potato-dev.tistory.com/158</link>
      <description>&lt;p data-end=&quot;132&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;Azure Communication Services(ACS)를 통해 &lt;b&gt;간단하게 이메일을 보내는 코드&lt;/b&gt; 예시&lt;/p&gt;
&lt;hr data-end=&quot;137&quot; data-start=&quot;134&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;155&quot; data-start=&quot;139&quot; data-ke-size=&quot;size23&quot;&gt;✅ 필요한 패키지 설치&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1748482680612&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install azure-communication-email&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;210&quot; data-start=&quot;207&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;230&quot; data-start=&quot;212&quot; data-ke-size=&quot;size23&quot;&gt;✅ Python 코드 예시&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1748482663939&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from azure.communication.email import EmailClient, EmailContent, EmailAddress, EmailMessage

# 연결 문자열: Azure Portal에서 Communication Service 리소스 -&amp;gt; Access Keys에서 확인 가능
connection_string = &quot;endpoint=https://&amp;lt;your-resource&amp;gt;.communication.azure.com/;accesskey=&amp;lt;your-access-key&amp;gt;&quot;

# Email 클라이언트 생성
client = EmailClient.from_connection_string(connection_string)

# 이메일 구성
message = EmailMessage(
    sender=&quot;DoNotReply@&amp;lt;your-resource&amp;gt;.azurecomm.net&quot;,  # 포털에서 등록한 verified sender
    content=EmailContent(
        subject=&quot;테스트 메일입니다.&quot;,
        plain_text=&quot;안녕하세요. Azure Communication Services 이메일 테스트입니다.&quot;
    ),
    recipients={&quot;to&quot;: [EmailAddress(email=&quot;받는사람@example.com&quot;, display_name=&quot;홍길동&quot;)]}
)

# 메일 발송
response = client.send(message)
print(&quot;메일 전송 요청 완료. Message ID:&quot;, response['message_id'])&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1040&quot; data-start=&quot;1037&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1169&quot; data-start=&quot;1042&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1117&quot; data-start=&quot;1042&quot;&gt;sender는 &lt;b&gt;ACS에서 등록된 발신자 주소&lt;/b&gt;여야 합니다. (azurecomm.net 도메인이거나 도메인 인증된 주소)&lt;/li&gt;
&lt;li data-end=&quot;1169&quot; data-start=&quot;1118&quot;&gt;connection_string은 &lt;b&gt;Azure Portal&lt;/b&gt;에서 확인 가능합니다.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>클라우드/Azure</category>
      <category>acs</category>
      <category>azure</category>
      <category>이메일</category>
      <category>코드</category>
      <category>파이썬</category>
      <author>쓱은감자</author>
      <guid isPermaLink="true">https://potato-dev.tistory.com/158</guid>
      <comments>https://potato-dev.tistory.com/158#entry158comment</comments>
      <pubDate>Thu, 29 May 2025 10:38:40 +0900</pubDate>
    </item>
    <item>
      <title>VMware에서 데이터스토어 마운트 해제 오류 발생 시 확인할 항목</title>
      <link>https://potato-dev.tistory.com/157</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;VMware에서 &lt;b&gt;vCLS(VMware Cluster Services)&lt;/b&gt; VM은 &lt;b&gt;vSphere 클러스터의 안정성과 고가용성을 유지하기 위해 자동으로 생성되는 시스템 VM&lt;/b&gt;입니다. 이 VM들은 &lt;b&gt;vSphere 7.0 U1 이상&lt;/b&gt;에서 도입&lt;/p&gt;
&lt;h3 data-end=&quot;187&quot; data-start=&quot;166&quot; data-ke-size=&quot;size23&quot;&gt;✅ &lt;b&gt;vCLS의 주요 목적&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;382&quot; data-start=&quot;188&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;274&quot; data-start=&quot;188&quot;&gt;**DRS (Distributed Resource Scheduler)**와 같은 클러스터 서비스가 &lt;b&gt;호스트 장애 없이도 계속 작동&lt;/b&gt;할 수 있도록 함&lt;/li&gt;
&lt;li data-end=&quot;320&quot; data-start=&quot;275&quot;&gt;클러스터의 &lt;b&gt;상태 정보를 유지&lt;/b&gt;하고 공유하기 위한 &lt;b&gt;경량 서비스 VM&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;382&quot; data-start=&quot;321&quot;&gt;클러스터가 호스트 장애나 네트워크 장애 시에도 &lt;b&gt;기본적인 클러스터 관리 기능&lt;/b&gt;을 제공할 수 있도록 보조&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h2 data-end=&quot;140&quot; data-start=&quot;98&quot; data-ke-size=&quot;size26&quot;&gt;VMware vCLS VM 때문에 데이터스토어 마운트 해제 실패한 사례&lt;/h2&gt;
&lt;p data-end=&quot;286&quot; data-start=&quot;142&quot; data-ke-size=&quot;size16&quot;&gt;최근 VMware 환경에서 &lt;b&gt;더 이상 사용하지 않는 데이터스토어를 마운트 해제&lt;/b&gt;하려다 예상치 못한 오류를 겪었습니다. 모든 VM을 다른 스토리지로 옮겼기 때문에 비워졌다고 생각했지만, 마운트 해제가 &lt;b&gt;&quot;VM이 존재한다&quot;는 이유로 실패&lt;/b&gt;했던 사건입니다.&lt;/p&gt;
&lt;h3 data-end=&quot;300&quot; data-start=&quot;288&quot; data-ke-size=&quot;size23&quot;&gt;  원인 분석&lt;/h3&gt;
&lt;p data-end=&quot;511&quot; data-start=&quot;302&quot; data-ke-size=&quot;size16&quot;&gt;vSphere Client에서 봤을 때 데이터스토어는 비어 있었고, 등록된 VM도 없었습니다. 하지만 오류 메시지는 **&quot;가상 머신이 존재하므로 마운트 해제할 수 없다&quot;**고 나왔습니다.&lt;br /&gt;Datastore를 탐색해보니 &lt;b&gt;vCLS-xxxx로 시작하는 폴더&lt;/b&gt;가 남아 있었고, 이는 바로 &lt;b&gt;vCLS(VMware Cluster Services) VM의 잔재&lt;/b&gt;였습니다.&lt;/p&gt;
&lt;h3 data-end=&quot;538&quot; data-start=&quot;513&quot; data-ke-size=&quot;size23&quot;&gt;  vCLS VM이 안 보이는 이유?&lt;/h3&gt;
&lt;p data-end=&quot;706&quot; data-start=&quot;540&quot; data-ke-size=&quot;size16&quot;&gt;당시 로그인한 계정은 제한된 권한의 계정이었기 때문에, 해당 vCLS VM이 &lt;b&gt;가상 머신 목록에서 보이지 않았던 것&lt;/b&gt;입니다.&lt;br /&gt;&lt;b&gt;Administrator 계정으로 접속하자 vCLS VM이 정상적으로 보였고&lt;/b&gt;, 해당 VM이 문제의 데이터스토어에 존재하고 있다는 사실을 확인할 수 있었습니다.&lt;/p&gt;
&lt;h3 data-end=&quot;721&quot; data-start=&quot;708&quot; data-ke-size=&quot;size23&quot;&gt; ️ 해결 방법&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;863&quot; data-start=&quot;723&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;760&quot; data-start=&quot;723&quot;&gt;&lt;b&gt;Administrator 계정으로 vCenter에 접속&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;778&quot; data-start=&quot;761&quot;&gt;문제의 vCLS VM 확인&lt;/li&gt;
&lt;li data-end=&quot;824&quot; data-start=&quot;779&quot;&gt;해당 vCLS VM을 &lt;b&gt;다른 데이터스토어로 Storage vMotion&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;863&quot; data-start=&quot;825&quot;&gt;원래 문제였던 데이터스토어를 &lt;b&gt;정상적으로 마운트 해제 성공&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>클라우드</category>
      <category>esxi</category>
      <category>vcls</category>
      <category>vmware</category>
      <category>vSphere</category>
      <category>마운트해제</category>
      <author>쓱은감자</author>
      <guid isPermaLink="true">https://potato-dev.tistory.com/157</guid>
      <comments>https://potato-dev.tistory.com/157#entry157comment</comments>
      <pubDate>Thu, 29 May 2025 08:15:35 +0900</pubDate>
    </item>
  </channel>
</rss>