바로 아이폰 출시~
전세계의 인류의 휴대폰 사용 환경이 정말 거짓말처럼 빠른 시간 안에 변하게 된다.
아이폰 출시 이전까지는 휴대폰은 단순히 사람과 사람을 연결 시켜 주는 통신 수단의 역할만 했다. 전화, 텍스트 메시지..
하지만 아이폰은 휴대폰의 역할을 삶의 중요한 디바이스 이상으로 바꿨으며, 모든 생활이 휴대폰을 중심으로 만들어 진다 해도 과언이 아닐 정도로 변화 시켰다.
가장 큰 변화는 인터넷 사용 환경을 변화 시켰다는데 있다.
아이폰 이전을 우리가 생각해 보자.
인터넷을 하기 위해서는 우리는 집에 있는 PC 앞으로 가야 하거나, 사무실 내 자리 컴퓨터 앞 또는 PC 방으로 옮겨야 했다.
즉, 장소의 제약이 생겼고, 이는 시간의 제약으로 이어졌다.
하지만 아이폰 덕분에 이제는 언제 어디서든 내가 원하면 인터넷을 이용한다.
외부에서 이동 중에도, 해외 여행 중에 유명한 관광지에서 정보를 검색하거나 인터넷뱅킹으로 이체를 할 수 있다.
장소와 시간의 벽이 과감히 허물어졌다.
당연히 인터넷 사용량이 늘어나게 되었다.
하지만 내가 생각하는 가장 큰 변화는 인터넷 사용량의 증가가 아닌 인터넷 사용자의 층을 허문 것이라 생각한다.
잘 생각해보면 과거 인터넷은 젊은이들의 소유물이라 불릴 정도로 어린아이들이나 노년층은 인터넷 사용을 어려워 했다. 정보를 검색하기 힘들었고 인터넷 뱅킹의 편리함을 즐길 수도 없었다.
인터넷 사용자 층의 확대는 애플리케이션 개발/운영 환경에 크게 작용하게 된다.
사용층이 늘어나다 보니 모 서비스에 대한 요구 사항이 증가하고, 빠르게 변화한다.
애플리케이션으로 이윤을 추구하는 기업은 사용자 요구를 빠르게 반영하여 보다 편리하게 서비스를 만들어야만 경쟁력을 갖게 된다.
" 인터넷 사용층의 확대가 많은 요구사항을 만들었으며 이에 따라 애플리케이션의 개발 및 운영 환경에 큰 변화가 만들어지게 되었다. 이것이 API 가 주목 받기 시작한 이유이다. "
개발 환경의 변화
개발 환경은 Monolithic 방식에서 MSA (Micro Service Architecture) 형태로 변화 할 수 밖에 없다. Monolithic 는 여러 기능을 하나의 덩어리로 개발해서 운영하는 환경을 말한다.
관리 포인트가 많지 않아 운영 측면의 이점이 있다지만 어떤 변화에 발빠르게 따라가기엔 구조적으로 불리할 수 밖에 없다.
어떤 기능을 변경해야 한다고 하면 여러 기능들이 복잡하게 얽혀 있기에 수정이 단순하지 않다. 수정되었다고 해도 검증을 해야 하는데 이 또한 쉽지 않다.
바로 이런 단점들을 보완한 것이 MSA 방식이라 할 수 있다.
Monolithic 안에 있는 여러 기능들을 서비스 단위로 각각 분리한 후 서비스 간 API 로 연동 시킨다. 이렇게 되면 각 서비스 별로 독립적이다 보니 기능의 수정도 검증도 배포도 Monolithic방식에 비해 상대적으로 아주 빠르다.
요즘 애플리케이션 개발 운영 환경은 거의 MSA 형태로 진행된다.
MSA 형태의 증가는 곧 API 사용량의 증가가 되는 것이다.
운영 환경의 변화
운영 환경은 어떤가?
예전은 On-premise 방식으로 데이터센터 내에 하나의 서비스 망을 구축하고 애플리케이션이 운영되는 서버도 갖추어 놓는다.
사용량의 증가로 서버의 증설이 요구되면 서버를 추가로 구매해야 하고 네트워크에 연결하여 서비스가 잘되는지 살펴야 한다. 구매부터 서비스 투입까지 지켜야 할 절차 들이 있기에 시간적 소요가 많을 수 밖에 없다.
그래서 변화하는 환경에 유연하게 대처할 수 있는 클라우드 환경이 인기가 높아진 것이다. 트래픽이 늘어나면 자동으로 서버를 추가하고 사용량이 줄면 다시 운영 서버의 수를 줄인다. 필요한 만큼 사용하고, 사용한 만큼만 비용을 지불하면 된다.
서버의 증설과 감소를 자동으로 할 수 있게 해주는 것.. 바로 여기에도 API 가 이용된다.
이처럼 시대적 요구에 따른 개발과 운영 환경의 변화가 API 의 사용량을 크게 증가 시켰다.
현재 API 는 공공데이터포털, 웹사이트의 간편로그인등 다양한 곳에서 많이 사용되고 있으며, 현재 애플리케이션 운영의 핵심이라 볼 수 있다.
서비스간 정보를 교환하는 중요한 기술인 API 는 2022년 1월 시행된 마이데이터 서비스에도 핵심적으로 이용되고 있다.
요즘 애플리케이션 운영에 없어서는 안될 중요한 기술인 API.
우리가 API 보안을 신경 써야 하는 이유이다.