API, 도대체 넌 누구니? 개발자가 알려주는 API의 모든 것!
🎯 이 글에서 배울 수 있는 것들
- API가 무엇인지, 왜 중요한지 완벽하게 이해하기
- 모놀리식 아키텍처의 한계와 API의 해결책
- 머신러닝 모델 배포에서 API의 역할
- AI 시대에 API가 필수인 이유
🔥 1. API, 왜 갑자기 중요해졌을까요?

여러분, 혹시 api라는 말 들어보셨나요? 요즘 이 단어가 왜 이렇게 자주 들릴까요? 특히 인공지능(AI)이나 머신러닝(ml) 분야에서 api의 중요성이 커지고 있답니다. 왜 갑자기 api를 배워야 할까요? 바로 우리가 만든 AI 모델을 세상에 보여주려면 api가 거의 필수적이기 때문이죠.
AI 모델을 만들고 나서, 그걸 웹사이트나 모바일 앱에서 사용하게 하려면 어떻게 해야 할까요? 99%의 경우, 해당 ml 모델의 api를 만들게 된답니다. 그리고 이 api가 웹사이트나 안드로이드, 아이폰 앱을 움직이는 데 사용돼요. 정말 놀랍지 않나요? 실제로 많은 회사에서 ml 모델용 api를 만들 때 Fast api라는 프레임워크를 사용하는데요, 10개 회사 중 9곳은 Fast api를 쓴다고 할 정도로 널리 쓰여요. 이 Fast api는 강력하고 확장 가능한 api를 만들 수 있게 해주거든요.
그래서 AI 분야에서 경력을 쌓고 싶다면, Fast api를 배우는 것이 정말 중요해요. 세상에 내가 만든 멋진 모델을 선보이려면 api가 꼭 필요하니까요. 이 글에서는 api가 무엇인지, 왜 중요한지, 그리고 특히 ml 분야에서 어떻게 사용되는지 쉽게 알려드릴게요. 이 지식이 여러분의 AI 커리어에 큰 도움이 될 거예요.
🔥 2. API는 정확히 무엇을 하는 친구일까요?

api는 애플리케이션 프로그래밍 인터페이스의 줄임말인데요, 쉽게 말해 서로 다른 소프트웨어 구성 요소들이 소통할 수 있게 해주는 약속 같은 거예요. api를 한마디로 정의하자면, 커넥터라고 생각할 수 있어요. 마치 두 개의 소프트웨어를 연결해주는 다리 같은 역할을 하는 거죠.
가장 흔한 예로 웹사이트를 생각해볼까요? 웹사이트는 크게 두 부분으로 나뉘어요. 하나는 우리가 직접 보고 클릭하고 입력하는 부분인 프론트엔드이고, 다른 하나는 뒤에서 모든 계산과 데이터 처리를 담당하는 백엔드예요. 예를 들어, 여러분이 검색창에 무언가를 입력하고 엔터를 누르면, 이 요청은 api를 통해 백엔드로 전달돼요. 백엔드는 그 요청에 따라 데이터베이스에서 정보를 찾아 다시 api로 보내주고, api는 이 정보를 받아서 여러분의 화면에 보여주는 프론트엔드로 전달하죠.
이 과정을 식당에 비유하면 정말 쉬워요! 여러분이 식당 손님이라면, 메뉴를 보고 웨이터에게 주문하죠? 웨이터는 이 주문을 받아서 주방에 전달하고, 셰프가 음식을 만들면 웨이터가 다시 여러분의 테이블로 가져다주죠. 여기서 손님은 프론트엔드, 주방은 백엔드, 그리고 웨이터가 바로 api예요! 웨이터가 없으면 손님은 주방에 직접 가서 주문해야 하니 너무 불편하겠죠? api도 마찬가지로 프론트엔드와 백엔드를 효율적으로 연결해주는 중요한 역할을 한답니다.
🔥 3. API가 없던 시절에는 어떤 문제가 있었을까요? (모놀리식 아키텍처의 한계)

api가 없던 시절에는 웹사이트를 어떻게 만들었을까요? 그때는 주로 모놀리식 아키텍처라는 방식으로 웹사이트를 구축했어요. 이건 마치 하나의 큰 덩어리처럼 프론트엔드와 백엔드가 한 폴더 안에 같이 묶여 있는 형태예요. 즉, 웹사이트의 모든 부분이 하나의 애플리케이션 안에서 개발되고 배포되는 거죠.
모놀리식 아키텍처의 가장 큰 특징은 프론트엔드와 백엔드가 매우 밀접하게 결합되어 있다는 거예요. 이게 무슨 뜻이냐면, 만약 어떤 한 부분에 문제가 생기거나 변경이 필요하면 전체 애플리케이션에 영향을 미칠 수 있다는 거예요. 예를 들어, 인도 철도 예약 시스템인 IRCTC 사례를 들어볼게요. IRCTC가 모놀리식 아키텍처로 웹사이트를 만들었을 때, 잘 작동했어요.
그런데 Make My Trip이나 Yatra 같은 다른 여행 앱 회사들이 IRCTC에 와서 기차 정보에 접근할 수 있게 해달라고 요청했어요. IRCTC는 사업 기회라고 생각했지만, 기술적으로 큰 문제가 있었죠. 왜냐하면 모놀리식 아키텍처에서는 다른 회사들이 IRCTC의 데이터베이스나 백엔드 기능에 직접 접근할 수 없었기 때문이에요. 만약 외부 회사에 데이터베이스 접근 권한을 줬다가 정보가 망가지기라도 하면 큰일이니까요. 결국, IRCTC는 다른 회사들과 정보를 공유하고 수익을 창출할 기회를 놓치게 되었죠. 이렇게 모놀리식 아키텍처는 외부 협업이나 확장성 면에서 큰 한계를 가지고 있었답니다.
🔥 4. API가 어떻게 이 문제들을 해결해 주었을까요?
모놀리식 아키텍처의 문제를 해결하기 위해 등장한 것이 바로 api예요. 가장 먼저, 사람들은 모놀리식 아키텍처를 버리고 백엔드와 프론트엔드를 따로따로 만들기로 했어요. 즉, 백엔드와 프론트엔드가 각각 독립적인 소프트웨어 애플리케이션이 된 거죠.
이렇게 백엔드를 독립적으로 만든 다음, 그 위에 api 계층을 두게 되어요. api는 기본적으로 공개적으로 접근 가능한 엔드포인트들의 모음이에요. 이 엔드포인트는 웹에서 누구나 특정 URL을 통해 접근할 수 있는 특별한 기능이라고 생각하면 돼요. 예를 들어, IRCTC의 기차 정보를 요청하는 엔드포인트를 만들면, Make My Trip 같은 회사들이 이 api 엔드포인트로 요청을 보내 필요한 기차 정보를 얻을 수 있게 되는 거죠. 이렇게 되면 IRCTC는 자신의 데이터베이스에 직접적인 접근을 허용하지 않고도 안전하게 정보를 공유하고 수익을 창출할 수 있게 돼요.
api 통신에서는 주로 http 프로토콜을 사용하고, 데이터 형식으로는 json을 사용해요. json은 자바, 파이썬, PHP 등 어떤 프로그래밍 언어로 만들어진 클라이언트라도 이해할 수 있는 범용적인 데이터 형식이에요. 덕분에 여러 회사나 플랫폼이 서로 다른 언어로 만들어졌어도 api를 통해 쉽게 소통할 수 있답니다. api는 백엔드를 외부에 공개하는 동시에, 다양한 제약 조건을 설정하여 보안도 강화할 수 있어요. 그래서 api는 데이터 공유와 시스템 확장의 문을 활짝 열어주었어요.
🔥 5. 스마트폰 시대, API가 또 어떤 혁신을 가져왔을까요?

2008년에서 2012년 사이에 스마트폰이 등장하면서 기술 세계는 또 한 번 큰 변화를 맞이했어요. 사람들은 이제 웹사이트뿐만 아니라 안드로이드 앱, 아이폰 앱도 원하게 되었죠. 회사는 사업 기회를 늘리기 위해 이 모든 플랫폼에서 앱을 만들어야 했어요. 하지만 문제는 각 플랫폼마다 앱을 만드는 방식이 너무 다르다는 거였어요. 예를 들어, 안드로이드 앱은 자바를 사용하고 아이폰 앱은 스위프트라는 언어를 사용해야 했죠.
만약 모놀리식 아키텍처를 계속 사용했다면, 웹사이트, 안드로이드 앱, 아이폰 앱 각각을 위한 별도의 백엔드를 만들어야 했을 거예요. 이렇게 되면 세 개의 독립적인 애플리케이션을 유지 관리해야 하니 엄청난 비용과 번거로움이 따르겠죠? 예를 들어, 웹사이트에서 댓글을 달면 안드로이드나 아이폰 앱에서도 바로 볼 수 있어야 하는데, 각각의 백엔드가 다르면 실시간 동기화가 어려울 수 있어요.
이런 문제들을 해결하기 위해 api 아키텍처가 빛을 발했어요. 사람들은 이제 단일 데이터베이스와 단일 백엔드를 만들고, 이 백엔드를 api를 통해 인터넷에 공개하는 방법을 선택했어요. 그리고 웹사이트, 안드로이드 앱, iOS 앱 각각은 그저 이 단일 api 백엔드와 소통하는 프론트엔드 역할만 하면 되는 거죠. 이렇게 하니 전체 아키텍처가 엄청나게 단순해졌어요. 오늘날 구글, 우버, 조마토 같은 대기업들이 바로 이 api 아키텍처를 사용해서 하나의 백엔드로 수많은 프론트엔드를 지원하고 있답니다.
🔥 6. 머신러닝 모델도 API가 필요할까요? (챗GPT 사례)
네, 그럼요! 머신러닝(ml) 모델도 api가 정말 중요해요. 소프트웨어에서 가장 중요한 게 데이터베이스라면, ml에서는 머신러닝 모델이 가장 중요하죠. 우리가 열심히 훈련시킨 ml 모델을 세상에 내놓고 싶을 때, 바로 api를 사용해요.
가장 대표적인 예로 챗gpt를 들어볼까요? 챗gpt는 openai가 만든 gpt 모델을 기반으로 해요. openai는 이 gpt 모델을 학습시킨 후, 사람들이 쉽게 사용할 수 있도록 웹사이트 형태로 만들었어요. 사용자가 챗gpt 웹사이트에 질문을 입력하면, 이 질문은 api를 통해 gpt 모델에 전달되고, 모델이 생성한 답변은 다시 api를 거쳐 사용자에게 보여지는 거죠.
이전에는 ml 모델을 배포할 때도 모놀리식 아키텍처를 사용했어요. ml 모델과 백엔드, 프론트엔드가 한 덩어리로 묶여 있었죠. 이 방식은 외부 애플리케이션이 ml 모델이나 백엔드 서비스에 직접 접근할 수 없다는 문제가 있었어요. 예를 들어, Zomato 같은 회사가 챗gpt 모델을 자신들의 챗봇에 활용하고 싶어도, 모놀리식 아키텍처 때문에 직접 연결할 수 없었던 거죠. 아마존의 추천 시스템이나 문서 질의응답 시스템도 마찬가지였어요.
하지만 api 아키텍처 덕분에 이 문제가 해결되었어요. 이제 ml 모델이 포함된 백엔드 앞에 api 계층을 추가하면, 이 api가 공개 엔드포인트를 통해 인터넷에 노출돼요. 그러면 Zomato 챗봇이나 아마존 추천 시스템 같은 외부 애플리케이션들이 이 api를 통해 ml 모델과 쉽게 상호작용할 수 있게 된답니다. 마치 소프트웨어 분야에서 api가 문제들을 해결해줬듯이, ml 분야에서도 api는 모델을 다양한 서비스에 통합하고 확장하는 데 핵심적인 역할을 해요.
🔥 7. API, 앞으로도 계속 중요할까요?
지금까지 api가 무엇인지, 그리고 api가 없던 시절의 문제점들을 어떻게 해결해왔는지 알아보았어요. api는 소프트웨어 구성 요소 간의 통신을 가능하게 하고, 백엔드와 프론트엔드를 분리하여 시스템의 확장성과 유연성을 크게 높여주었죠. 모놀리식 아키텍처의 한계를 극복하고, 스마트폰 시대에 다양한 플랫폼을 아우르는 앱 개발을 가능하게 한 주역이 바로 api랍니다.
특히 머신러닝 분야에서는 api가 모델을 세상에 선보이고 다양한 애플리케이션에 통합하는 데 필수적인 역할을 해요. 챗gpt와 같은 AI 모델이 우리 일상에 깊숙이 들어올 수 있었던 것도 api 덕분이라고 할 수 있죠. api는 단순히 기술적인 연결 도구를 넘어, 새로운 비즈니스 모델을 창출하고 혁신적인 서비스를 가능하게 하는 핵심 기반 기술이 되었어요.
앞으로도 기술이 발전함에 따라 api의 중요성은 더욱 커질 거예요. 만약 여러분이 AI 모델을 개발하고 배포하고 싶다면, api는 꼭 알아야 할 필수 지식이랍니다. 이 플레이리스트를 통해 여러분은 어떤 종류의 AI 모델이든 api를 만들고 클라우드에 배포하는 방법을 쉽게 배울 수 있을 거예요. 다음 글에서는 Fast api의 장점과 함께 직접 api를 구축하는 방법을 자세히 알아볼 예정이니 기대해주세요!
🎆 그래서 API가 중요한 이유를 요약하면
- 🌐 모놀리식 아키텍처의 한계를 극복 - 외부 연동과 확장성 문제 해결
- 📱 멀티 플랫폼 지원 - 웹, 안드로이드, iOS 앱을 하나의 백엔드로 연결
- 🤖 AI 모델 배포의 핵심 - 머신러닝 모델을 외부에 공개하는 열쇠
- 💰 비즈니스 기회 확대 - 데이터와 서비스를 안전하게 공유하여 수익 창출
💡 다음에 알아볼 내용
다음 글에서는 Fast API의 장점과 특징, 그리고 실제로 API를 만들어보는 단계별 방법을 자세히 알아볼 예정입니다. AI 모델을 실제 서비스로 배포하는 실무 경험을 쌓고 싶다면 계속 지켜봐 주세요!



