문과생들이여, 노코드툴로 더 이상 문송해하지마세요 ① - 노코드 정의 및 한계
상태바
문과생들이여, 노코드툴로 더 이상 문송해하지마세요 ① - 노코드 정의 및 한계
  • 인수진 선임, 손영정 선임
  • 승인 2020.11.25 10:30
  • 조회수 4776
  • 댓글 0
이 콘텐츠를 공유합니다

1. 들어가며

개발지식이 없는 문과생들은 웹이나 앱을 만들고자 할 때 어떻게 시작해야 할까? 아마 대부분의 사람들은 당연히 프로그래밍 지식이 있는 개발자를 먼저 찾고 그들에게 부탁을 할 것이다. 흔히 말하는 문송한(문과라서 죄송합니다) 상황처럼, 문과생들을 포함한 대부분의 비개발자들은 스스로 프로그램을 할 수 없는 것이 지금까지의 현실이었다. 하지만 이제는 프로그래밍을 하나도 모르는 사람도 간단한 웹/앱을 만들 수 있는 시대가 도래했다.

소프트웨어 개발자의 메카 GitHub의 CEO는 ‘코딩의 미래는 노코드다’고 했다. 코딩을 최소화 하는 프로그래밍 방식으로 발전되면서 점점 더 많은 사람들이 개발을 할 수 있는 환경이 올 것이라 예측한 것이다.

사실 이전까지 웹/앱을 만들 수 있는 사람은 프로그래밍 지식이 있는 개발자들에게 한정되어 있었다. 하지만 최근에는 프로그래밍 지식이 없는 사람들도 쉽게 웹이나 앱을 구현할 수 있도록 하는 NoCode Platform들이 등장하고 있다. 단순한 웹 · 앱뿐만 아니라 아니라 데이터베이스 등의 다양한 기능을 탑재한 노코드 툴을 결합하여 사용함으로써, 간단한 수준의 CRUD(Create, Read, Update, Delete)가 있는 웹을 코딩과정 하나없이 구현할 수 있다.

아직 노코드 툴이 주요하게 사용되고 있는 것은 아니지만, 이미 시장에서는 다양한 기능을 제공하는 노코드 툴이 등장하였으며, 아마존은 Honeycode, 마이크로소프트는 Powerapp이라는 B2B 서비스를 출시하는 등 IT 거대 기업들은 이미 노코드 시장에 진출했다. Forrester에서는 로우코드나 노코드와 같이 최소한의 코딩 또는 코딩이 필요하지 않은 개발 플랫폼 시장이 2020년까지 220억달러까지 성장할 것으로 예측했다.

[그림 1] 노코드 툴의 종류 및 분류 – No code journal
[그림 1] 노코드 툴의 종류 및 분류 – No code journal

노코드 툴은 개발자들을 대체할 수 있을 것처럼 보이며, 일반인들이 쉽게 웹/앱 서비스를 만들 수 있게 되면서 IT 환경에 여러 변화를 가져올 것으로 보인다. 이 글에서는 노코드 툴이 가져올 변화를 설명하고, 현재 시장에 출시된 노코드 툴과 활용 영역을 소개하고자 한다.

 

2. 노코드 정의

노코드란 드래그 앤 드롭 등 간단한 사용자 인터페이스 방식을 제공하여 복잡한 코딩과정 없이 응용 프로그램(웹, 앱 등)을 구축하는 방식이다.

노코드 등장 이전에는 로우코드(Low Code)라는 개념이 있었다. 로우코드는 개발지식이 없는 비즈니스 사용자들을 위해, 프로그래머들이 약간의 개발을 거쳐 사용할 수 있게 하는 것이다. 노코드는 로우코드에서 더욱 발전된 개념으로 프로그램 지식이 없는 사람들도 파워포인트나 엑셀과 같은 형식으로 단순한 앱이나 웹을 개발할 수 있게 하는 것이다. 또한 노코드 툴을 복합적으로 사용하여 간단한 수준의 CRUD까지 구현할 수 있다.

로우코드와 노코드는 비슷하나, 서로 활용 가능한 영역이 다르며 사용자의 목적에 따라 적합한 형식을 선택하여 사용하는 것이 적합하다.

 

3. 개발자들이 진짜 사라질까?

과거에는 컴퓨터 도스(DOS) 운영체제 명령어를 학습했지만, 윈도우 환경에서는 더 이상 명령어 학습이 필요 없어졌다. 웹 초창기 HTML 코딩 기술은 시장가치가 높아 많은 웹디자이너들이 배우려했지만, HTML 에디터가 보급되면서 그 가치가 달라졌다. 이처럼 코딩 능력은 머지 않아 노(로우)코드툴과 같은 플랫폼 혹은 기술들에 의해 대체될 수 있다는 견해가 있다. 

위의 정의에서도 언급했지만, 노코드 툴은 그래픽 유저 인터페이스를 가지고 드래그-앤-드랍 방식으로 작동되기 때문에 코딩 작업 없이 자신이 원하는 서비스를 소프트웨어로 개발할 수 있다. 이에 따라 개발자 없이 모바일 앱과 웹사이트를 만들 수 있게 되고, 개발자 없이 데이터 베이스를 구축 및 연결 웹 · 앱을 만들 수 있게 된다. 

하지만, 개발자들은 로코드, 혹은 노 코드 환경에 대한 우려와 불신을 보내고 있다. 개발자 없이 소프트웨어를 만들어낸다고 하더라도 노(로우)코드가 코딩 개발을 완전히 대체할 수 없기 때문이다. 아무래도 이미 만들어진 플랫폼 서비스 안에서 소프트웨어를 만들다보니 서비스 확장성이나 연결성이 부족하고, 유지 보수 및 보안에 취약하게 된다. 다음을 통해 노코드툴의 한계점에 대해 알아보자.

 

4. 노코드툴의 한계점

한계점 ① 유지 보수의 어려움

노(로우) 코드는 초기 개발 비용이 굉장히 저렴하지만, 보수 · 유지 측면에서는 더 많은 비용이 들어갈 수 있다. 사실 소프트웨어를 만드는 것은 전체 소프트웨어 생애 주기에 있어 시작에 불과하기 때문이다.

우선 비전문가가 툴을 익히기 위한 교육이 추가로 필요하기 때문에 습득을 위한 시간적 비용이 소모된다.

또한, 사용자 규모가 빠르게 성장할 경우, 클라우드 기반으로 비용이 청구 되는 비즈니스 모델이기 때문에 그에 따른 과금이 발생한다. 이로 인해 큰 규모의 스케일 업이 필요할 경우, 코딩으로 전향해야할 선택 지점이 온다. 

마지막으로, 부서별 업무자동화를 위한 솔루션으로 노(로우)코드툴을 사용한 경우, IT의 통제권에서 벗어난 외부 기술이기 때문에, 통합 및 연결 측면에서 오히려 비효율과 리스크를 증가하는 일종의 쉐도우 IT가 된다. 

한계점 ② 부족한 확장성과 커스터마이징

첫째로, 하나의 플랫폼 혹은 틀 안에서 코딩이 이루어지기 때문에 다른 개발 플랫폼들과의 연동이 어렵다. 예를 들어 깃(Git), 젠킨스(Jenkins)와 같은 주류 개발도구들과 통합되지 않는다. 

또한 노(로우)코드 툴 플랫폼 가운데 상당수는 특정 부류의 앱 개발에 맞도록 최적화 되어 있어, 모든 종류의 애플리케이션 개발에 사용할 수 없다. 이에 따라 사용자 및 서비스 규모가 커지게 되면 그에 맞는 백엔드를 최적화해야 하는데, 노(로우)코드 툴은 이미 정해진 틀 안에서만 움직이기 때문에 확장하기가 쉽지 않다. 

마지막으로, 빠르게 변화하는 시장의 요구사항을 반영하기 위해선 추가적인 피드백과 수정이 필수지만 템플릿 내에서 쓸 수 있는 기능이 제한적이기 때문에 내가 원하는 기능을 추가해서 쓰기가 힘들다. 이는 단순히 기능 추가 문제가 아닌, 타사와의 ‘차별성’을 잃어버리는 문제로 이어질 수 있다. 

한계점 ③ 보안성

고객의 데이터는 회사의 큰 자산일 만큼 가장 지켜야할 정보임에도 불구하고 자사의 자산을 노코드플랫폼에 맡기는 것은 위험할 수 있다. 

우선, 기업에서 직원들이 무엇을 만들고 있는지 일일이 파악하기가 어렵게 된다. ‘한계점 ① 유지 보수의 어려움’ 에서 언급했던 것과 같이 섀도우 IT는 섀도우 개발과 연계되며, 보안 문제가 발생 시 통제나 유출 경로 파악이 어려워진다.

또한, 플랫폼 시스템에 대한 감사가 부재하다. 노(로우) 코드 플랫폼 업체가 구현하는 코드 및 보안 통제 수단은 이용자가 볼 수 없는 경우가 많기 때문이다. 이러한 문제를 해결하기 위해 최근 몇몇 플랫폼에서는 소스 코드를 받아보고 관리할 수 있도록 기능을 추가하고 있다. 하지만, 이용하는 플랫폼 사의 보안이 얼마나 안전한지 확인하려면 플랫폼에서 사용하고 있는 보안감사, 보안 및 규정 준수 인증, 서비스 수준 협약, 사이버 보안 보험에 의존할 수 밖에 없다. 

마지막으로, 노(로우) 코드 플랫폼에서는 최종 사용자가 구성과 권한, 액세스 제어에 대한 의사결정을 모두 가지고 있다. 효과적인 데이터 관리를 위해서는 액세스 및 역할 정의를 구현해야 하는데, 노(로우)코드 플랫폼에서는 고객 데이터를 관리하고 분할하는 방식에 세분화된 액세스 제어 기능이 부족하기 때문에 데이터 관리에 근본적인 문제가 발생하게 된다.

 

 

관련 투이톡 

문과생들이여, 노코드툴로 더 이상 문송해하지마세요 ② - 활용 범위와 종류

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.