높게만 보였던 코딩의 문턱이 점점 낮아지고 있다. 코드를 최소화하는 ‘Low-Code(로우코드)’와 아예 코드 없이 앱을 만드는 ‘No Code(노코드)'가 급부상하고 있기 때문이다. 로우코드와 노코드 애플리케이션 개발 플랫폼이 안착하면 코딩 없이 누구나 빠르게 애플리케이션을 제작할 수 있게 된다. 심지어 전문 개발자들도 코딩을 할 때 이런 플랫폼을 선호하고 있다고 한다. 과연 코딩에서 해방될 수 있을까? 로우코드와 노코드 플랫폼에 대해 자세히 알아본다.
로우코드와 노코드란 무엇인가
미국의 비즈니스 잡지인 포브스(Forbes)지는 2021년 이후 세상을 뒤흔들 12가지 기술 중 3위로 로우코드와 노코드를 선정했고, 시장조사기관 가트너(Gartner)도 2022년 12가지 핵심 기술 트렌드 중 하나로 동 기술을 채택했다. 특히 가트너는 2025년까지 기업 내에서 새롭게 개발되는 앱의 70% 정도가 로우코드 및 노코드 플랫폼에서 탄생할 것이라고 예측했다. 2020년까지만 해도 로우코드와 노코드로 개발되는 앱은 전체의 25%도 되지 않았다. 로우코드와 노코드의 폭발적인 성장이 예상된다는 것이다.
그렇다면 로우코드와 노코드는 정확히 무엇일까? '로우코드'란 최소한의 코드를 사용해 앱을 개발하는 방법으로, 반복적이고 단순한 부분은 정형화된 템플릿을 기반으로 빠르게 안정적으로 만들고, 전문 인력이 필요한 부분만 프로그래밍 지식을 갖춘 실무담당자가 개발하는 방식이다. 따라서, 로우코드는 실무 담당자보다는 개발자의 생산성을 높이고 검증된 코드를 적용하는 데 초점을 맞추고 있다.
이에 비해 '노코드'란 코드를 전혀 사용하지 않고 앱을 개발하는 방법으로, 프로그래밍 언어 습득이 필요없고 원하는 화면 유형과 기능을 선택하고 설정하는 것만으로 앱을 만들 수 있다. 따라서 노코드는 실무 담당자가 업무 지식을 바탕으로 앱을 손쉽게 개발하도록 돕는데 초점을 맞추고 있다.
이처럼 사전적인 의미만 놓고 본다면 로우코드와 노코드는 디지털 혁신을 이끌 새로운 기회임이 분명하다.
로우코드와 노코드, 어떤 플랫폼이 있나?
로우코드 및 노코드 플랫폼으로는 스웨이AI(Sway AI)와 듀플로클라우드(DuploCloud)가 주목받고 있다. 스웨이AI는 인공지능과 머신러닝 애플리케이션 구축을 위한 노코드 인공지능 플랫폼이고 듀플로클라우드는 인프라 자동화 분야의 로우코드와 노코드를 제공하는 플랫폼이다. 복잡한 데이터셋을 수익성 있는 앱으로 전환시켜주는 노코드 앱으로 트루소스(TrueSource)라는 플랫폼도 있고 그밖에 사이클러(Cyclr), 멘딕스(Mendix), 하이랜드(Hyland) 등도 떠오르고 있는 로우코드 및 노코드 플랫폼들이다. 마이크로소프트나 세일즈포스, 아웃시스템즈 같은 글로벌 소프트웨어 기업들도 로우코드 및 노코드 솔루션들을 내놓고 있다.
기존에는 전문 소프트웨어 개발자가 프로그래밍 언어인 C, C#, Java 등을 활용해 스크립트를 작성하여 응용 프로그램을 전적으로 개발해 왔지만, 코딩을 최소화하는 프로그래밍 방식으로 발전하면서 이제 비개발자 직원도 프로그램 개발에 적극 참여할 수 있게 됐다. 하나의 프로그램을 새로 만들기 위해서는 일반적으로 대상 플랫폼에 특화된 높은 수준의 개발 지식이 필요하고 시간도 많이 소비된다. 반면, 로우코드와 노코드 플랫폼을 이용하면 여전히 일부 학습은 필요하지만 개발 속도를 높여주고 기술 장벽을 낮춰줄 것으로 기대된다.
로우코드와 노코드의 현실
로우코드와 노코드의 장단점을 알아보자. 우선 장점으로는 프로그램 개발에 걸리는 시간을 비용을 절감할 수 있다는 점이다. 모든 소스코드를 작성하지 않고, 앱을 조합하여 시스템을 구축하므로 개발 기간을 대폭 단축할 수 있다. 이에 따라 개발비를 절감할 수 있는 것도 장점이다. 개발 기간이 짧으면 프로그래머의 인력이 감소하게 된다. 즉, 개발에 드는 인건비를 절감할 수 있는 것이다. 또, 기존 전문 개발자의 경우 필요에 따라 자동화와 불필요한 요소 생략 등을 통해 작업 효율성을 대폭 향상할 수 있다. 이런 효율성 향상은 결국 비용감소로 이어진다.
또다른 장점은 프로그램의 오류를 줄일 수 있다. 프로그래밍을 직접 수행하는 부분이 적어, 그만큼 실수가 줄어든다. 코드를 작성하는 일도 결국 사람이 하는 일이기 때문에 반드시 실수가 발생하기 마련이다. 사람이 작성하는 코드의 양이 적어지면서 실수가 나올 확률도 줄어든다. 결과적으로 버그 수정에 걸리는 시간 단축과 비용 경감에도 도움이 된다.
인력 확보하기도 쉬워진다. 프로그램 개발에 있어 실력이 좋은 엔지니어가 필요하지만, 적절한 인력을 확보하기 어려운 게 현실이다. 로우코드나 노코드를 사용하면, 엔지니어가 전문적인 실력을 갖추지 않았더라도 개발 작업을 할 수 있다. 새로운 엔지니어를 적극적으로 활용할 수 있어 인력 부족 문제에 대응할 수 있다.
로우코드나 노코드의 단점도 있다. 로우코드나 노코드는 개발하는 데 한계가 있어 대규모 개발에는 사용하기 어렵다는 점이다. 복잡한 구조를 필요로 하는 프로그래밍은 결국 프로그래밍을 할 수밖에 없다. 어디까지나 프로그램이 단순한 구조를 가질 때만 로우코드나 노코드를 이용할 수 있다. 문제가 발생하면, 빠르게 교체할 수 있는 격리된 단일 비즈니스 프로세스에만 적합하며 개발 툴에 따라서 할 수 있는 것들이 다 다르기 때문에 각 툴에만 의존하게 되는 단점도 있다.
로우코드나 노코드에 의존하면, 처음부터 시스템을 새로 구축하는 프로그래머는 점점 줄어들 수밖에 없다. 동시에 창의성을 발휘해 개발하는 경우가 적어질 수밖에 없다. 어떤 플랫폼을 활용해야 본인이 원하는 서비스를 최대한 잘 구현할 수 있을지 결국 플랫폼을 학습해야 하는 과정이 필요하다. 보안에 취약해진다는 점도 단점으로 꼽힌다. 일부 직원만 쓰는 간단한 기능을 만들 때는 기본적인 보안 관리를 소홀히 할 수밖에 없다. 빠른 속도와 낮은 비용에만 너무 초점을 맞추다 보면 관리 부족과 보안 취약의 문제가 드러난다.
로우코드, 노코드 도입 시 고려할 점
로우코드나 노코드 플랫폼을 도입할 때 가장 먼저 고려할 점은 투자대비 수익률(ROI)이다. 로우코드, 노코드는 코딩 방식에서 빌딩 블록 방식을 사용하기 때문에 업무를 빠르게 완료할 수 있기 때문에 얼마나 빠르게 가치 대비 속도를 낼 수 있는지 따져봐야 한다. 그리고 로우코드, 노코드 플랫폼 상당수가 구독형 모델이기 때문에 비용 최적화가 필요하다.
또한 로우코드, 노코드 플랫폼은 독립적인 툴이 아닌 기업 및 조직의 기본 인프라스트럭처에 패치되는 기술이기에 새로운 업무 프로세스를 위해서만 사용하는 것이 아니라 기존 자산부터 인공지능, 초자동화 같은 최신기술을 쉽게 연결할 수 있는 솔루션인지 검토해봐야 한다.
마지막으로 보안에 대한 부분이다. 로우코드, 노코드 솔루션은 내부 용도로 사용할 경우 위협적이지 않을 수 있지만 외부에 노출되어 범용 애플리케이션으로 확대할 경우 권한 부여 및 인증 매커니즘과 데이터 암호화 등 신뢰 받는 프레임워크 안에서 플랫폼을 운영할 수 있어야 한다.
'Coding' 카테고리의 다른 글
노코드에 대한 생각 (2) | 2024.11.30 |
---|---|
6. Django + Mariadb 연동 & APP DB 어드민 등록 (0) | 2019.01.06 |
5. Django 글쓰는 폼 만들기 (0) | 2018.12.30 |
4. Django DB 만들기 (0) | 2018.12.30 |
Django 개발 흐름 (0) | 2018.12.16 |