티스토리 뷰


그동안 소프트웨어는 어떻게 발젼해왔을까요? 

생활코딩 이고잉님이 올린 자료를 보면 요즘 들어 여러 요소들이 결합되어 생산성이 크게 높아졌다고 평가하고 있습니다. https://opentutorials.org/course/1

예전에는 몇백, 몇천, 몇만명이서 만드는 큰 규모의 소프트웨어도 요즘은 경우에 따라 작은 규모의 팀이나 심지어 개인이 만들 수 있기도 한대요.  이를 소프트웨어 자영업자의 등장이라고 얘기하더라고요. 그 요소들은요.


1. API (Application Programming Interface) 공개 및 지원 http://freemoa-blog.com/639

API는 응용 프로그램을 위한 인터페이스입니다. 풀어 말하면 소프트웨어를 개발하다보면 필요한 기능들이 있는데 이미 다른 곳에서 제공하는 경우가 있어요. 그럼 그 부분을 새로 개발하거나 새로 정보를 수집해서 쓰기보다 이미 제공하는 것을 가져다가 쓰면 되죠. 버스 도착 시간 정보 같이 공공 기관에서 제공하지 않으면 따로 만들어 쓰기는 어려운 정보도 있고요, 계속 업데이트해야 하는 지도 같은 경우에도 공짜로 프로그램에 붙일 수 있죠. 이런 API 제공이 활성화되고 있다는 겁니다. 덕분에 S/W 엔지니어는 쉽게 자기 프로그램에 이런 서비스들을 더할 수 있게 되었죠.

2. Cloud Computing 

클라우드 컴퓨팅이란 네트워크로 연결되는 어딘가에 컴퓨터 그룹이 있어서 그 곳의 CPU 성능, 저장 장치, 데이터베이스 등의 서비스를 네트워크로 연결만 된다면 사용할 수 있는 거예요. 네이버 N드라이브나 드랍락스, 구글 드라이브 등의 클라우드 저장 서비스는 많이들 이용하시죠? 

이게 어떤 효과를 가져왔냐면요. 창업 초기 신규 서비스에 많은 사람들이 몰리게 되면 어떻게 될까요? 그럼 준비한 서버 용량이 충분치 않게 되고 접속이 지연되어 아무도 서비스를 이용하지 못하는 결과를 맞이하게 됩니다. 명절 전에 기차표를 구하기 힘든 것처럼요. 갑작스럽게 용량을 증설하려고 해도 물리적으로 늘리는 건 쉽지 않아요. 그러나 클라우드 컴퓨팅을 사용하고 있다면, 서비스 제어 화면에 들어가서 사용할 자원을 더 높은 레벨로 올리기만 하면 자동으로 바로 서버 용량이 확대 된다는 거죠. 비용은 좀 더 내야겠지만요. 이제 준비되지 않은 성공에도 대응할 수 있게 되었다는 겁니다. 서비스 런칭 직후라 초기 유입 트래픽이 많았던 거면 다시 서버 용량을 손쉽게 줄일 수 있고요. 직접 구축했다면 많은 서버 PC, 네트워크 자원 등은 쉽게 줄일 수 없겠죠?

3. APP Store 

모바일 혁명 이후에 자리잡은 개념이죠? 플랫품을 운영하는 사업자가 개인 S/W 엔지니어나 외부 회사의 소프트웨어를 알리고 판매, 설치할 수 있는 서비스를 운영하는 거죠. 개인이 하기 벅찬 광고, 판매, 결제를 아웃소싱해주는 셈이죠. 30%의 수수료를 떼기는 하지만요. 

4. Open Source

이고잉님의 말을 옮기면 소프트웨어는 정신적인 기반 위에 있다고 해요. 물리적인 제약이 적다고요. 건축의 경우 건축주의 요구사항과 주변환경, 법적 사항등을 고려해서 설계도를 만들면 그 설계도를 기반으로 사람들이 실제로 철근을 박고, 콘크리트를 붓는 등 물리적인 일이 동반되어야 하지만, 소프트웨어의 경우 소프트웨어 엔지니어가 설계도에 해당하는 소스 코드를 만들고 나면 실행파일로 바꿔주는 건 다른 프로그램(컴파일러라고 불러요.)이 해주거든요. 

그래서 S/W는 설계도에 해당하는 소스가 프로그램, 곧 실제 결과물인 셈인데 오픈 소스는 이 설계도를 공유하는 운동이죠. 이미 많이 사용되는 기능들이 오픈소스로 공개되어 있기 때문에 S/W 엔지니어는 이를 가져와서 일부 수정하거나 더해서 큰 프로그램을 만들 수 있게 되었어요. 종류도 많습니다. 리눅스라는 걸출한 운영체제도, 웹서버, DB, 각종 분석도구, 통합 개발환경(IDE) 등 상용으로 제공되는건 대부분 오픈소스에도 있습니다. 편차는 있지만 안정성도 확보되어 있고요. 

- 오픈소스로 프로젝트를 공개하는 이유는 여기를 참조하시면 좋을 것 같네요. https://naver.github.io/OpenSourceGuide/book/OpenYourProject/starting-an-open-source-project.html#ownope


이러한 요소들을 사용해서 지금은 개인이나 소규모 팀도 예전에는 상상하기 어려웠던 거대한 서비스를 개발하고 운영할 수 있게 되었어요. 단적인 예로 2012년 4월 인스타그램이 페이스북에 10억 달러에 인수되었는데요. 이때 인스타그램을 이용하는 사용자 수가 3천만명 이상 이었다고 해요. 인수될 당시 인스타그램의 직원은 총 13명이고 이중에서 S/W엔지니어는 3명이었다고 하는데요. 3명이서 수천만명을 감당하는 서비스를 개발, 운영해왔다는 거죠.

인프라가 잘 닦여있고, 소프트웨어의 생산성이 비약적으로 높아져 있으니 이를 활용한 창업이 붐을 이루고 있어요. 매력적인 분야에요. 앱스토어를 통해 팔면 되니 손쉽게 광고하고 유통시킬 수 있고요. 보통 인터넷만 연결되어 있으면 접속할 수 있으니 비니지스에 따라 차이는 있지만 순식간에 전국에 전세계에 퍼질 수 있다는 거죠. 이런 대규모 서비스를 개인이나 소규모 팀도 해본다고 덤빌 수 있는 분야인거죠. 그래서 계속 여기에서 스타트업이 태어나는가 봅니다 :)



댓글
댓글쓰기 폼