! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

2022년 주요 소프트웨어 개발 동향 > 인사이트

본문 바로가기

MESCIUS 커뮤니티

인사이트 - 유익한 자료

유익한 자료 2022년 주요 소프트웨어 개발 동향

페이지 정보

작성자 GrapeCity 작성일 2022-03-01 13:06 조회 4,646회 댓글 0건

본문

최신 동향을 살펴보면 개발자들이 익숙한 상태에서 벗어나 업무 방식을 바꿀 수 있는 동향에 관심을 가질 수 있습니다. 이 글에서는 2022년 내내 개발자에게 영향을 미칠 수 있는 주요 동향을 살펴봅니다.


Web3


Web 3.0은 과장된 기술로 치부하기 쉽습니다. 마치 탄탄한 비즈니스 계획 없이 자금을 모으는 기업의 확산처럼 보일 수 있습니다. 그러나 dApp(탈중앙화 응용 프로그램)과 같은 기술은 웹 앱 개발에 상당한 영향을 미칠 지점까지 성숙했습니다.


Web 2.0 개발자는 소셜 플랫폼, 클라우드 호스팅 사용자 생성 콘텐츠와 YouTube, WordPress 및 Google Maps 등과 같은 응용 프로그램에 중점을 둡니다. 그에 비해, Web 3.0은 검열 및 셧다운에 저항하는 분산 정보 네트워크를 만들어 웹을 다음 단계로 끌어 올리는 것이 목표입니다.


Web 3.0은 블록체인 기술을 배경으로 한 에지 컴퓨팅, 인공 지능, 암호화 그리고 데이터 네트워킹이 태동한 움직임입니다. Web 3.0의 옹호자에는 World Wide Web을 발명한 Tim Berners-Lee가 포함됩니다.


다시 말해, Web3는 블록체인 지원 트랜잭션이 중앙의 중개인 또는 플랫폼 없이 작동하는 분산화된 데이터 제어, 데이터 주권, 보안, 피어 투 피어 네트워킹 및 확장 가능한 경제와 같은 개념에 관한 것입니다. Web3에는 ID 검증 및 구매를 위한 사람 간 거래와 기계 간(M2M) 거래가 포함됩니다.


개발자들은 Web3.js 라이브러리를 사용하여 이더리움 및 IPFS 등과 같은 자기 조직적인 탈중앙화 피어 투 피어 네트워크를 위해 Web3 dApp을 만들었습니다.


Web3는 메타버스의 해커톤과 같은 새로운 학습 및 작업 방식을 도입한 성장하는 복합적 움직임입니다. 현재, 이러한 동향이 사그라들 기미는 보이지 않습니다.



로우코드 개발


대부분의 개발자는 노코드(no-code) 및 로우코드(low-code) 도구를 무시하는 경향이 있습니다. 이러한 도구는 개발자가 응용 프로그램의 지루한 부분을 빠르게 생성하도록 돕는 데 점점 더 집중합니다. 그러면 개발자는 비즈니스 가치를 더하는 코드를 작성하는 데 더 많은 시간을 투자할 수 있습니다.


노코드(no-code) 도구를 사용하면 개발자는 응용 프로그램을 빠르게 만들 수 있습니다. 이러한 도구는 끌어서 놓기 시각적 인터페이스가 특징인 웹 개발 플랫폼을 포함하며 일반적으로 서버 측 및 데이터베이스 응용 프로그램으로 미리 구성되어 제공됩니다. 널리 사용되는 응용 프로그램에는 Zapier, Airtable 및 Webflow 등이 있습니다. 그러나 제한된 사용자 정의를 제공하기 때문에 절대 개발자를 대신하지 못합니다.


반대로 로우코드(Low-code) 플랫폼은 코딩이 필요하긴 하지만 이전 응용 프로그램에 비해 훨씬 적게 필요합니다. 이제 로그인이 필요 없는 오픈 소스 관리자, 데이터베이스 드라이버, 전체 코드 라이브러리 및 원클릭 배포를 제공하는 클라우드 공급자가 급증하고 있습니다.


로우코드(Low-code)는 ERP(전사적 자원 관리) 및 CRM(고객 관계 관리) 응용 프로그램 등과 같은 클라우드 기반 시스템 및 기존 온-프레미스 시스템을 일반적으로 사용하는 재무 및 HR 등과 같은 부문에서 특히 널리 사용됩니다. 이러한 로우코드(Low-code) 솔루션은 주로 자동화에 집중하여 작업 루틴을 쉽게 만들 수 있습니다.


템플릿을 사용하면 더 빠른 프로토타입 생성, 테스트 및 개발이 가능해 개발자가 설계 및 사용자 정의에 더 많은 시간을 투자할 수 있습니다. 템플릿을 사용하면 MVP(최소 기능 제품)를 쉽게 만들고 초반에 최종 사용자의 피드백을 위한 프로토타입 앱을 쉽게 생성할 수 있습니다. 또한 유지관리가 손쉬워 개발자가 업무에 중요한 작업에 더 많은 시간을 투자할 수 있습니다.


그러나 로우코드(Low-code)는 양날의 검이 될 수 있습니다. 코드 리팩터링 필요를 줄이긴 하지만 제대로 완료하지 않으면 섀도 IT가 발생해 조직의 기술적 부채, 보안 및 규정 준수 문제가 늘어날 수 있습니다.



AI-지원 개발


AI-지원 개발은 많은 부분이 과장된 또 다른 동향입니다. 많은 개발자가 AI-지원 개발 기술을 무시합니다. 그러나 다수의 개발자는 이 기술을 시도해왔으며 생산성을 크게 개선할 기회를 얻을 수 있다는 점도 알게 되었습니다. 노코드(no-code) 및 로우코드(low-code)의 경우처럼 이 기술 역시 조만간 개발자의 일자리를 빼앗지는 않을 것입니다. 이는 전체 작업을 대체하는 것이 아니라 개발자의 워크스트림을 확대하는 것입니다.


한 가지 예는 Visual Studio 코드 확장인 GitHub Copilot입니다. 이 도구는 gpt3가 지원하고 docstring, 함수 이름, 주석 및 코드를 이해할 수 있는 고도로 맥락화된 도구입니다. 이 도구는 코드 조각을 자동으로 완성하고 텍스트를 코드 및 심지어 전체 함수로 변환할 수도 있습니다.


또한 이는 도구가 코드 검토, 테스트 및 버그 수정 등과 같은 많은 양의 개발자 작업을 덜어주는 도구의 보다 중요한 동향을 보여 주는 예입니다. Amazon DevOps Guru는 머신 러닝을 사용하여 표준 작동 패턴에서 벗어난 응용 프로그램 메트릭, 로그, 이벤트 및 동작을 수집 및 분석합니다.


이 서비스는 코드 및 구성 변경 등과 같은 잠재적인 문제를 자동으로 감지해 알림을 보냅니다. 이러한 문제가 감지되지 않으면 다운타임, 메모리 누수, 제대로 프로비저닝되지 않은 컴퓨팅 용량과 데이터 입력 및 출력의 과도한 사용 등의 문제가 발생할 수 있습니다.


전반적으로, AI 지원 개발을 통해 배포 시간을 단축하면서 더 나은 소프트웨어를 더 빠르게 빌드할 수 있습니다.



에지 컴퓨팅


에지 컴퓨팅 공급자(예: Cloudflare 및 Fastly)가 새로운 기능을 추가하면 개발자는 공용 클라우드를 우회하고 전적으로 에지 인프라에서 복잡한 응용 프로그램을 빌드 및 배포할 수 있습니다. 이러한 접근 방식 덕분에 개발자가 이전에는 불가능했던 새로운 종류의 응용 프로그램을 만들 수 있는 기회가 열렸습니다.


에지 컴퓨팅은 CDN(콘텐츠 전송 네트워크)을 사용하여 IoT(사물 인터넷) 데이터 처리를 데이터가 발생한 지점에 최대한 가까이 가져갑니다. CDN은 대기 시간을 줄이고 네트워크 성능 및 속도를 높입니다. 개발자는 자율 주행 소프트웨어, 스포츠 중계 및 산업용 IoT 등과 같이 실시간 데이터 분석이 결정적인, 업무에 중요한 상황에서 CDN을 배포합니다.


2022년은 장치 또는 로컬 영역 네트워크가 인터넷에 연결하는 곳 즉, 네트워크 에지에 더 많은 관심을 갖는 한 해가 될 것입니다. 개발자는 에지의 동일한 인스턴스에서 서버리스 및 API 기반 응용 프로그램을 빌드 및 배포할 수 있습니다. 서버리스 기술을 채택하면 호스트 대상 서버 인스턴스를 관리 및 유지 관리할 필요가 없습니다. 이러한 접근 방식은 개발자에게 설계 배포 시 유연성을 제공하고 특히, 로컬 데이터가 중요한 경우 사용자 환경을 개선할 수 있습니다.


에지 컴퓨팅은 5G라는 용어를 사용하지 않고는 언급할 수 없습니다. 2018년 배포가 시작되었을 때 5G는 더 빠른 연결을 약속했고, 스트리밍, 게임, 화상 통화 등과 같은 리소스 집약적 플랫폼의 경우 특히 더 혜택을 볼 것이라고 전망했습니다. 5G 휴대폰을 쉽게 사용할 수 있고 많은 통신회사에서 5G를 제공함에도 불구하고 주로 대도시의 지정 구역으로 액세스가 제한되어 5G 출시는 아직 걸음마 단계에 머무르고 있습니다. 개발자는 비디오 및 5G 게이밍 콘솔을 위한 대기 시간이 짧은 응용 프로그램을 몹시 만들고 싶어할 것입니다. 그러나 통신회사의 인프라 부족이 계속해서 5G 도입의 장애물이 될 것입니다.



지속적인 업데이트와 점진적인 업데이트


지속적인 업데이트는 새로운 개념이 아니지만 점진적 업데이트에 중점을 두면서 지속적인 업데이트를 채택하는 기업이 늘어나고 있습니다. 점진적인 업데이트는 카나리아 배포 및 블루/그린 배포 등과 같은 기술을 사용하여 어떠한 문제도 없이 빠르게 이전하는 데 중점을 둡니다.


대체로 지속적인 업데이트 및 통합은 소프트웨어 개발을 자동화하여 기능 및 소프트웨어 업데이트를 실시간으로 배포하는 것입니다. 이 기술은 GitHub + Slack 등과 같은 서비스를 통해 주류가 되었으며 경쟁우위를 유지하기 위한 기업의 노력에 핵심적인 도구가 되었습니다.


지속적인 업데이트는 개발을 더욱 관리하기 쉽게 만들고 영업, 마케팅 및 최종 사용자에게 도움이 됩니다. 점진적 업데이트는 잦은 배포를 통한 증분 업데이트가 필요에 완벽하게 맞을 때 제품 개발이 끝날 때까지 기다리지 않습니다.


점진적 업데이트 또는 카나리아 릴리스는 전통적인 소프트웨어 업데이트에서 크게 변화한 것입니다. 표준 소프트웨어 업데이트는 단일 릴리스로 모든 것을 제공하는데 여기에는 필연적으로 많은 버그와 개발 팀의 골칫거리가 수반됩니다. 대신 점진적 업데이트는 품질 관리를 위해 변경 사항을 소수의 대상에게만 푸시하는 것입니다. 그리고 모든 문제가 제어되는 경우에만 배포 대상의 규모를 확장합니다.


이러한 접근 방식을 통해 복원력을 높이고 A/B 테스트 및 블루-그린 배포를 통해 배포 시마다 중요한 피드백을 얻을 수 있습니다. Flagger 등과 같은 도구는 Kubernetes에서 실행 중인 응용 프로그램의 릴리스를 점진적으로 발표하여 준수 테스트를 실행하면서 새로운 버전으로 서서히 이전합니다.


그러나 점진적 업데이트는 기술적인 문제로 이어질 수 있습니다. 기능 플래그 등과 같은 도구를 사용하면 조직의 모든 고객을 위한 다양한 코드 버전을 한 번에 만들 수 있습니다. 따라서 점진적 업데이트에는 주의가 필요합니다.



소프트웨어 공급망 보안

많은 개발자가 사용하는 오픈 소스 라이브러리의 취악점은 공격 벡터가 접근하기 점점 더 쉬워지고 위험의 원인이 될 가능성이 점점 더 커지고 있습니다. 리포지토리에서 패키지에 삽입되는 악성 코드(예: npm 및 PyPI)가 늘어나고 있으며 개발자는 이러한 위험에 대한 경계를 늦추지 말고 적절한 완화 조치를 취해야 합니다.


이러한 공격은 공개 코드 리포지토리에 연결하는 npm-register 및 Python 패키지 인덱스(PyPI) 등과 같은 설치 프로그램을 통해 발생합니다. 연구원 Alex Birsan은 자신의 글 Dependency Confusion: How I Hacked Into Apple, Microsoft and Dozens of Other Companies(의존성 혼동: 나는 어떻게 Apple, Microsoft 및 기타 수십 개 기업을 해킹했는가)에서 이 점을 언급했습니다. Birsan은 "이러한 소스에서 패키지를 다운로드하여 사용할 때 자신의 컴퓨터에서 코드를 실행할 수 있을 정도로 게시자를 신뢰해야 합니다."라고 말합니다.


조직의 소프트웨어 공급망에 대한 공격은 2016년까지만 발생했지만 향후 침투를 방지하기 위해 오픈 소스 리포지토리가 고군분투하는 와중에도 공격 빈도는 증가했습니다.


2월 Birsan은 의존성 혼동(네임스페이스 혼동 공격이라고도 함)을 만들어 수준 높은 다양한 회사 네트워크에서 위조 코드를 실행할 수 있는 공급망 공격을 시연했습니다. Tesla, Microsoft, Shopify 및 Apple 등과 같은 기업에서 이미 사용하고 있는 의존성과 동일한 패키지 명명 규칙을 사용하여 Birsan은 npm, PyPI 및 RubyGems 등과 같은 공식적인 공개 리포지토리에 악성 코드를 심었습니다.


Birsan은 "유효한 내부 패키지 이름을 무단 점유하는 것은 최대 기술 기업 중 일부의 네트워크에 침투하여 원격으로 코드를 실행하고, 공격자가 빌드 중 백도어를 추가하도록 허용할 수 있는 거의 확실한 방법입니다."라고 주장합니다.


불행히도 이러한 사고는 단 한번만 발생하지 않았습니다. 2021년 12월 JFrog Security의 연구원들은 npm(Node.js 패키지 관리자) 리포지토리에서 자동화된 스캔 도구가 감지한 17개 악성 패키지를 공유했습니다. 이러한 악성 패키지 중 다수는 의도적으로 사용자의 Discord 토큰을 훔치고자 합니다. Discord 토큰은 Discord의 서버에 액세스하기 위한 문자와 숫자 집합으로 구성된 인증 코드입니다. Discord 토큰을 훔치는 것은 사용자의 자격 증명을 훔치는 것과 같습니다. 다시 말해, Discord 토큰은 공격자에게 Discord 계정에 대한 전체 액세스 권한을 제공합니다.


이전에 JFrog는 오픈 소스 PyPI 리포지토리가 11개 악성 패키지를 호스트했고, 개발자가 41,000회 이상 다운로드했다고 밝혔습니다.


개발자들은 오픈 소스 코드 리포지토리를 사용할 때 주의를 기울여야 합니다. 패키지 취약점 스캔을 사용하면 주의할 수 있는데, 이 기술은 응용 프로그램을 배포하는 데 사용되는 패키지 내 알려진 취약점을 식별합니다. 안전하지 않은 소프트웨어가 프로덕션 환경으로 릴리스될 위험을 줄여 줍니다.



요약


2022년에 접어들면서 개발자들은 계속해서 작업 방식에 변화를 경험하게 될 것이고, 새로운 기술을 도입하는 조직의 증가로 특히 더 그렇게 될 것입니다.


Web3는 인터넷을 탈중앙화하도록 설정되어 있습니다. 로우코드(Low-code) 및 AI-지원 개발 기술은 개발자의 작업 속도를 높이고 혁신을 견인하는 데 집중할 수 있는 시간을 확보하도록 도울 것입니다. 에지 컴퓨팅 및 서버리스 기술은 데이터 처리 속도를 높이고 성장을 가속화하는 데 기여할 것입니다.


한편, 지속적 업데이트 및 점진적 업데이트 기술은 위험은 줄이면서 새로운 기능을 더 빠르게 배포하도록 지원할 것입니다. 마지막으로, 오픈 소스 라이브러리에 내재한 위험으로 인해 개발자들은 소프트웨어 공급망 보안에 더욱 신경을 쓰게 될 것입니다.


다가오는 한 해에 어떤 일이 생길지 알면 개발자는 위험으로부터 자신을 보호하기 위해 지식 및 도구 키트를 확장할 수 있고 2022년이 제공하는 기회를 활용할 수 있습니다.


  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

인기글

더보기
  • 인기 게시물이 없습니다.
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.