IT 아키텍처 입문자를 위한 '순한맛' 가이드: AI 시대 핵심 기술 정복!
AI 시대, 아키텍처가 왜 중요할까? (중학생 눈높이 설명)
요즘 AI 시대라고 해서 기술 배우는 게 중요하잖아? 그중에서도 '아키텍처'라는 게 진짜 중요해.
아키텍처, 쉽게 말하면 '설계도'야!
건물을 지을 때 설계도 없이 마구잡이로 지으면 나중에 무너지거나 고치기 힘들잖아? 컴퓨터 시스템도 똑같아. 어떻게 만들고, 어떻게 연결하고, 나중에 어떻게 고치고 확장할지 미리 계획하는 게 바로 아키텍처야.
사람이 설계하고, AI가 만드는 시대?
지금은 사람이 전체적인 설계를 하고, AI가 실제로 코드를 짜서 만드는 경우가 많아. 근데 앞으로는 AI가 설계까지도 할 수 있게 될지도 몰라. 그래도 아키텍처 설계는 여전히 사람이 해야 할 중요한 일이라고 생각해. 왜냐하면, 사람이 직접 구상하고 설계해야 나중에 문제가 생겼을 때 유지보수도 쉽고, 더 좋게 확장하기도 좋거든.
개발자라면 아키텍처를 알아야 하는 이유
- 개발자에게도 한계가 있었어: 예전부터 개발자들은 시스템이 어떻게 돌아가는지, 어떻게 설계해야 효율적인지 늘 고민했어.
- 경험 많은 개발자는 아키텍처 설계자가 돼: 개발을 오래 하다 보면 결국 시스템 전체를 설계하는 역할을 하게 되거든.
아키텍처, 종류가 다양해!
아키텍처는 꼭 컴퓨터 프로그램만 말하는 게 아니야.
- 건축물의 모양: 우리가 생각하는 건물 모양도 아키텍처라고 할 수 있지.
- 시스템 구성: 컴퓨터 시스템을 어떻게 만들고 연결할지 큰 그림을 그리는 것도 아키텍처야.
- 소프트웨어 아키텍처: 프로그램 코드를 어떻게 구성할지 설계하는 거야.
- 인프라 아키텍처: 서버나 네트워크 같은 하드웨어 부분을 어떻게 구성할지 설계하는 거야.
- 시스템 아키텍처: 소프트웨어와 하드웨어를 합쳐서 전체 시스템을 어떻게 만들지 설계하는 거야.
결국, 아키텍처는 '설계'와 가장 가까운 개념이라고 생각하면 돼.
가장 기본적인 아키텍처: 클라이언트-서버 구조
우리가 스마트폰으로 인터넷을 할 때, 스마트폰(클라이언트)이 서버에 요청을 보내고, 서버가 응답을 해주는 방식이잖아? 이게 바로 가장 기본적인 아키텍처 중 하나야.
- 클라이언트: 우리가 사용하는 스마트폰, 컴퓨터
- 서버: 정보를 저장하고 처리해주는 컴퓨터
예전에는 스마트폰이 지금처럼 성능이 좋지 않아서 서버 역할이 훨씬 컸지만, 요즘 스마트폰은 서버급 성능을 가진 것도 많아.
조금 더 복잡한 아키텍처: 3티어 아키텍처
이건 요즘 정말 많이 쓰는 구성인데, 크게 세 부분으로 나눠서 생각하면 돼.
- 웹 서버 (프레젠테이션 레이어): 화면에 보여지는 것들을 담당해. HTML, CSS, JavaScript 같은 것들이 여기에 해당돼. 마치 건물의 외관처럼 보이는 부분을 만드는 거지.
- WAS (비즈니스 레이어): 실제 프로그램이 돌아가는 곳이야. 우리가 만드는 프로그램들이 여기에 설치되고 실행돼. 건물의 내부에서 실제로 사람들이 일하는 공간이라고 생각하면 돼.
- 데이터베이스 (퍼시스턴스 레이어): 정보를 저장하는 곳이야. 마치 건물의 창고처럼 중요한 정보들을 보관하는 거지.
이렇게 세 부분으로 나누는 걸 '3티어 아키텍처'라고 하는데, 요즘은 정말 당연하고 많이 쓰는 구성이야.
더 나아가서: MSA (마이크로서비스 아키텍처)
만약에 서비스가 엄청 커져서 하나의 큰 시스템으로 관리하기 어려워지면 어떻게 할까? 이때는 하나의 큰 시스템을 여러 개의 작은 서비스로 쪼개서 각각 독립적으로 운영하는 방식을 써. 이걸 '마이크로서비스 아키텍처(MSA)'라고 해.
- 장점: 각 서비스를 따로 개발하고 관리하기 쉬워.
- 단점: 전체 시스템이 복잡해지고 관리하기 어려워질 수 있어.
그래서 MSA가 항상 정답은 아니야. 서비스 규모가 크지 않다면 3티어 아키텍처만으로도 충분할 수 있어.
AI 시대, 아키텍처를 왜 더 알아야 할까?
- 클라우드 시대: 요즘은 클라우드를 많이 쓰는데, 클라우드에서는 서버를 자동으로 늘리거나 '서버리스' 같은 새로운 방식들을 쓸 수 있어. 이런 것들을 이해하려면 아키텍처를 알아야 해.
- 유지보수와 확장: 나중에 내가 만든 프로그램을 고치거나 더 좋게 만들려면 전체 구조를 알아야 하잖아. 아키텍처가 바로 그 길잡이가 되어줄 거야.
결론적으로,
AI 시대에 AI 도구를 잘 활용하는 것도 중요하지만, 전체적인 시스템 구조를 이해하고 설계하는 아키텍처 지식은 필수라고 할 수 있어. 마치 건물을 짓는 사람이 설계도를 이해해야 하는 것처럼 말이야. 앞으로 클라우드 환경에서의 아키텍처에 대해서도 더 자세히 알아볼 기회가 있을 거야. 그때까지 오늘 배운 내용들을 잘 기억해두면 좋을 거야!