“CD-ROM에서 브라우저로” 클라우드 기반 개발 환경의 승리
컨텐츠 정보
- 조회 719
본문
30년 전 델파이 1.0이 출시됐다. 지금은 델파이가 무엇인지 잘 모르는 개발자가 많을 것이다. 델파이는 혁명적으로 빠른 애플리케이션 개발 환경 도구였으며, 윈도우 애플리케이션 개발을 이전보다 훨씬 더 빠르게 만들었다.
델파이는 그 자체로 대단한 애플리케이션이었고, CD-ROM으로 제공하기로 결정됐다(CD-ROM을 기억하는가?). 필자가 알기로, 델파이는 플로피 디스크가 아닌 CD-ROM으로 제공된 최초의 주요 소프트웨어 애플리케이션이었다. 물론, 당시에는 CD-ROM 드라이브가 상당히 새로운 디바이스였고 보편적이지 않았기 때문에 이에 대한 반대 의견도 있었다.
이후 델파이는 계속해서 복잡성과 기능이 증가해, DVD 한 장을 다 채웠다. 하지만, 델파이는 그보다 더 커졌고, 설치하려면 긴 다운로드 과정이 필요했다.
델파이의 복잡성은 IDE가 구성 요소, 코드 라이브러리, IDE 플러그인으로 구성되면서 더욱 커졌다. 결국, 새로운 개발 환경을 설치하고 설정하는 데 일주일이 걸릴 정도로 상황이 복잡해지는 것은 드문 일이 아니었다. 설치할 패키지, 설정할 디렉토리 경로, 적절하게 배치할 코드, 구성할 상대 경로, 그리고 고려하고 설정해야 할 수많은 다른 작은 세부 사항들이 있었다.
이클립스(Eclipse)나 비주얼 스튜디오와 같은 다른 개발 환경도 마찬가지였다. 모든 개발 환경에는 서로 다른 변형이 존재했기 때문에 두 개발 환경이 완전히 똑같은 경우는 없었다. 이런 복잡성은 “내 컴퓨터에서는 작동하는데…”라는 유명한 말의 근원이었다(이 말에 대한 대답은 “그럼, 그 컴퓨터를 보내 주세요!”이다).
중요한 발전
그러나 힘들었던 옛날 이야기다. 오늘날은 상황이 아주 아주 다르다. 그렇다고 해서 “패키지 지옥”이 전혀 없다는 말은 아니다. npm이나 brew와 같은 패키지 관리자 덕분에 상황은 훨씬 좋아졌지만, 이런 도구조차도 버전 관리와 다른 복잡한 문제들로 인해 어려움을 겪을 수 있다.
오늘날의 차이점 중 하나는 브라우저에서 개발한다는 개념이 실제로 존재한다는 것이다. 가장 인기 있는 코딩 도구인 비주얼 스튜디오 코드(Visual Studio Code)가 타입스크립트로 작성됐기 때문에, 브라우저에서 실행되도록 수정하는 것이 비교적 쉽다. 그리고 코드로 구성할 수 있고, 현대적인 개발 언어들도 코드로 구성되기 때문에, 특정 버전 특정 구성의 애플리케이션을 브라우저에서 제공하는 것이 비교적 쉬워졌다. 이것은 소프트웨어 개발 방식의 중요한 발전이다.
이 기능은 소프트웨어 개발자가 브라우저가 설치된 컴퓨터라면 어디서든 작업할 수 있도록 해준다. 필요하다면, 공공 도서관에 가서 애플리케이션의 프로덕션 버그를 수정할 수 있다. 브라우저에서 로그인하고, 프로젝트의 클라우드 개발 환경을 불러와 작업할 수 있다. 더 이상 설정에 일주일을 소비할 필요가 없다. 그리고 무거운 노트북을 들고 다니는 대신 크롬북과 같은 가벼운 노트북으로 작업할 수 있다.
그 외에도, “내 컴퓨터”의 스냅샷을 찍어 다른 시나리오에서 공유하고 활용할 수 있는 기능은 매우 강력하다. 다음의 시나리오를 생각해 보자. 개발자에게 버그가 할당됐고, 버그 보고서에는 버그가 재현된 정확한 환경에 대한 링크가 있다. 개발자가 링크를 클릭하면 개발 환경이 즉시 구성된다. 그러면 몇 시간이나 며칠이 아니라 몇 분 안에 버그를 재현할 수 있다.
혹은 신참 개발자의 문제 해결을 돕도록 고참 개발자를 짝지어 주고 싶지만, 두 사람이 사는 곳이 멀리 떨어져 있다면 어떨까? 클라우드 개발 환경을 사용하면 두 사람이 같은 개발 환경을 볼 수 있고, 심지어 공유할 수도 있다. 그리고 버그가 재현되기 쉽기 때문에 훨씬 빨리 해결책을 찾을 수 있다. 이 기능 덕분에 신입 사원이 며칠이 아니라 몇 분 만에 업무를 시작할 수 있다.
장점과 몇 가지 단점
만약 코드의 보안에 대해 염려하고 있다면, 해당 코드가 건물 밖으로 나가는 노트북에 절대 저장되지 않는다는 상황을 생각해 보라. 더 이상 노트북을 우버에 두고 내리는 것이 걱정거리가 되지 않는다.
각 개발 환경이 승인되고 각 팀원에게 제공되므로 소프트웨어 공급망 보안 관리가 훨씬 쉬워진다. 더 이상 팀원이 타이포스쿼팅을 통해 악성 패키지를 설치하는 것에 대해 걱정할 필요가 없다.
이 모든 것이 훌륭하지만, 몇 가지 주의해야 할 점이 있다. 첫째, 클라우드 개발 환경은 일부 개발자가 필요로 하는 사용자 지정 및 특수한 일회성 솔루션을 설정하는 것을 어렵게 만들 수 있다. 브라우저 기반 개발 환경에 전적으로 의존하는 경우, 불안정한 항공사 인터넷 서비스와 기타 인터넷 액세스 문제로 인해 불편을 겪을 수 있다. 네트워크 지연이 문제가 되는 경우, 온라인 작업이 느리고 답답해질 수 있다.
개발 도구를 상자에서 꺼내 플로피 디스크에서 설치하던 시절부터 소프트웨어 개발 시스템의 작동 방식에 몇 가지 변화가 있었다. 클라우드 개발 환경은 생산성과 유연성을 향상시키면서 설정을 훨씬 쉽게 만들어 준다. 혁신은 새로운 기능과 아이디어를 계속 가져올 것이고, 브라우저를 이용하는 개발 환경은 점점 더 좋아지기만 할 것이다.
dl-itworldkorea@foundryco.com
관련자료
-
링크
-
이전
-
다음






