혁신적인 애플리케이션을 위한 애플리케이션 개발

디지털 발명을 사용하여 데이터 민주화에서 설명한 것처럼 데이터는 디지털 경제 전반에 걸쳐 대부분의 혁신을 촉진하는 연료입니다. 이러한 비유를 토대로 애플리케이션은 그러한 연료를 올바른 사람에게 전해주는 데 필요한 연료 스테이션 및 인프라입니다.

경우에 따라 데이터만으로도 변화를 주도하고 고객의 요구를 충족하기에 충분합니다. 하지만 보다 일반적으로 고객 요구 사항에 대한 솔루션은 애플리케이션이 데이터를 형성하고 환경을 만들어야 합니다. 혁신적인 애플리케이션은 사용자와 소통하고 상호 작용하여 정보와 지침을 제공합니다. 이 문서에서는 유효성을 검사할 가설을 기반으로 올바른 애플리케이션 개발 솔루션을 찾는 데 도움이 되는 몇 가지 원칙을 요약합니다.

고객의 요구 사항을 충족하는 경험을 제공하는 애플리케이션을 만드는 데 도움이 되는 요소를 보여주는 다이어그램

공유 코드

고객 피드백, 시장 변화 및 기회에 빠르게 응답할 수 있는 팀은 일반적으로 가장 효율적으로 혁신합니다. 혁신적인 애플리케이션의 첫 번째 원칙은 성장형 사고방식의 요소인 "코드 공유"입니다. 코드 공유는 다양한 관점과 기여를 초대하고 혁신을 촉진합니다. 따라서 애플리케이션 개발은 공유 코드 리포지토리로 시작해야 합니다.

코드 리포지토리를 관리하기 위해 널리 채택된 도구는 GitHub 공유 코드 리포지토리를 신속하게 만들 수 있습니다. 대안은 프로젝트에 대한 무제한 클라우드 호스팅 프라이빗 리포지토리를 제공하는 Azure DevOps 서비스인 Microsoft Azure Repos입니다. Azure Repos 사용한다면 버전 제어의 경우 분산 형식인 Git 또는 중앙 집중식인 TFVC(Team Foundation Version Control)를 선택할 수 있습니다. Azure Repos, Git 및 TFVC에 대한 자세한 내용은 Azure Repos 문서를 참조하세요.

시민 개발자

전문 개발자는 혁신에 중요합니다. 가설이 대규모에서 정확한 것으로 입증되면 이들은 솔루션을 안정화하고 규모에 맞게 준비할 수 있습니다. 아쉽게도 전문 개발자는 공급이 부족할 수 있으며 전문 개발로 인해 비용이 증가하고 혁신이 느려질 수 있습니다.

시민 개발자는 회사 IT에서 권한을 부여한 개발 및 런타임 환경을 사용하여 새 비즈니스 애플리케이션을 만드는 사용자입니다. 시민 개발자의 활용은 개발 노력을 확장하고 초기 가설 테스트를 가속화하는 데 도움이 될 수 있습니다. 이 전략은 애플리케이션 인터페이스를 위한 Power Apps, 프로세스 및 예측을 위한 AI Builder, 워크플로를 위한 Power Automate, 데이터 사용을 위한 Power BI 같은 도구를 통해 초기 가설의 유효성을 검사할 수 있는 경우 실행 가능하고 효과적입니다.

참고

가설을 테스트하는 데 시민 개발자에 의존하는 경우 전문 개발자가 작업을 지원, 검토 및 안내하는 것이 좋습니다. 전문가는 혁신에 대한 수익을 가속화하는 강력한 디자인을 개발하는 데 도움을 줄 수 있습니다. 적절한 시기에 전문 개발자를 참여시켜 나중에 더 깔끔한 전환을 실현할 수 있습니다.

인텔리전트 환경

인텔리전트 환경은 최신 웹 애플리케이션의 속도와 규모를 인지적 서비스 및 봇의 인텔리전스와 결합시킵니다. 개별적으로 이러한 기술은 고객의 요구 사항을 충족하기에 충분할 수 있습니다. 적절히 결합하면 디지털 환경을 통해 충족할 수 있는 요구의 스펙트럼을 넓히는 동시에 애플리케이션 개발 비용을 억제할 수 있습니다.

최신 웹앱

최신 웹 애플리케이션은 내부 또는 외부 고객의 요구를 충족하는 가장 빠른 방법이 될 수 있습니다. 고객이 제공하는 경험은 신속하게 고객을 참여시키고 솔루션의 신속한 진화를 가능하게 합니다.

인텔리전스 추가

전문 및 시민 개발자가 고객의 요구를 충족하고 대화형 환경을 만드는 데 도움이 되는 애플리케이션에 기계 학습 및 AI 기능을 추가하는 것이 항상 더 쉬워집니다. 이러한 기능의 몇 가지 예는 다음과 같습니다.

  • 음성 텍스트 변환
  • 텍스트 음성 변환
  • Computer Vision
  • Visual Search
  • 예측 AI

혁신가는 이러한 기능을 활용하여 대화형 및 최신 환경을 만들도록 경계해야 합니다.

봇은 사용자에게 사람을 다루는 것과 비슷하며 기존 컴퓨터 애플리케이션을 처리하는 것과 비슷한 환경을 제공하는 대화형 AI 애플리케이션입니다. 사용자는 텍스트, 대화형 카드 및 음성을 통해 봇과 대화합니다. 봇 상호 작용은 저녁 식사 예약과 같은 빠른 질문과 대답부터 지능적으로 서비스에 대한 액세스를 제공하는 정교한 대화에 이르기까지 다양할 수 있습니다.

봇은 파일 읽기 및 쓰기, 데이터베이스 및 API 사용, 일반 계산 작업 처리 등 다른 유형의 소프트웨어와 동일한 작업을 수행할 수 있습니다. 봇이 고유한 이유는 일반적으로 사용자 간 통신에 유보된 메커니즘을 사용한다는 점입니다. 봇은 최신 웹 애플리케이션과 매우 유사합니다. 인터넷에 연결되어 있으며 API를 사용하여 메시지를 주고 받습니다. 봇의 기능은 봇의 종류에 따라 크게 다릅니다. 최신 봇 소프트웨어는 다양한 플랫폼에서 점점 더 복잡한 환경을 제공하기 위해 기술 및 도구 스택에 의존합니다. 그러나 간단한 봇은 메시지를 수신하고 적은 코드를 사용하여 사용자에게 다시 보내기만 할 수 있습니다.

클라우드 네이티브 솔루션

클라우드 네이티브 아키텍처를 사용하면 신속한 변화를 수용할 수 있으며 복원력을 갖추고 확장 가능한 애플리케이션을 보다 쉽게 실행할 수 있습니다. 클라우드 네이티브 애플리케이션은 일반적으로 컨테이너, 마이크로 서비스, 관리되는 서비스, 서버리스 함수 및 이벤트 기반 프로그래밍을 사용하여 빌드됩니다. 가장 일반적으로 클라우드 네이티브 솔루션은 지속적인 업데이트를 사용하여 출시 시간을 단축합니다.

클라우드 네이티브 솔루션을 사용하면 중앙 집중식 개발 팀이 모놀리식 중앙 집중식 솔루션 없이 비즈니스 논리를 제어할 수 있습니다. 또한 시민 개발자와 최신 환경의 입력 전반에 걸쳐 일관성을 구동하는 앵커를 만듭니다. 마지막으로 클라우드 네이티브 솔루션은 최소한의 방해 요소로 안전하게 혁신하도록 시민 및 전문 개발자에 자유를 부여하는 혁신 가속기를 제공합니다.

기존 솔루션을 통한 혁신

기존 솔루션의 현대화된 버전으로 많은 고객 가설을 가장 잘 전달할 수 있습니다. 이는 현재 비즈니스 논리가 고객의 요구 사항을 거의 충족했을 때 발생할 수 있습니다.

리팩터링을 포함한 대부분의 현대화 형태는 클라우드 채택 프레임워크 내의 마이그레이션 방법론에 포함됩니다. 그러한 방법론은 디지털 자산을 클라우드로 마이그레이션하는 프로세스를 통해 클라우드 채택 팀을 안내합니다. Azure 마이그레이션 가이드는 적은 수의 워크로드 또는 단일 애플리케이션에 적합한 동일한 방법론에 대한 간소화된 방법을 제공합니다.

솔루션을 마이그레이션하고 현대화한 후에는 고객의 요구를 충족하기 위해 새롭고 혁신적인 애플리케이션 솔루션을 만드는 데 사용할 수 있는 다양한 방법이 있습니다. 예를 들어 시민 개발자가 가설을 테스트하거나 전문 개발자가 인텔리전트 환경 또는 클라우드 네이티브 솔루션을 만들 수 있습니다.

기존 솔루션 확장

솔루션 확장은 일반적인 현대화 형태 중 하나입니다. 이는 다음 고객 가설에 부합하는 경우 가장 빠른 혁신 경로가 될 수 있습니다.

  • 기존 비즈니스 논리는 고객의 요구를 충족하거나 거의 충족합니다.
  • 새로운 환경이 아닌 향상된 환경은 고객의 요구를 가장 잘 충족합니다.
  • MVP(실행 가능한 최소 제품) 솔루션에 필요한 비즈니스 논리는 일반적으로 n 계층, 웹 서비스, API 또는 마이크로 서비스 디자인을 통해 중앙 집중화되었습니다. 이 방법은 클라우드에서 호스팅되는 새로운 환경 내에서 기존 솔루션을 래핑하는 것으로 구성됩니다. Azure에서 이 솔루션은 Azure App Service에 있을 가능성이 높습니다.

기존 솔루션 다시 빌드

기존 솔루션이 고객의 요구 사항을 충족하거나 거의 충족했지만 쉽게 확장할 수 없는 경우 리팩터링해야 할 수 있습니다. 이 방법에서 애플리케이션은 클라우드로 마이그레이션됩니다. 애플리케이션을 마이그레이션한 후에는 기존 솔루션과 병렬로 배포되는 웹 서비스 또는 마이크로 서비스로 일부 수정 또는 복제됩니다. 병렬 서비스 기반 솔루션은 확장 솔루션처럼 처리될 수 있습니다. 이 솔루션은 단순히 클라우드에서 호스팅되는 새로운 환경으로 기존 솔루션을 래핑합니다. Azure에서 이 솔루션은 Azure App Service에 있을 가능성이 높습니다.

주의

솔루션을 리팩터링 또는 재설계하거나 비즈니스 논리를 중앙 집중화하면 고객 가치의 출처가 아니라 시간이 많이 걸리는 기술 급증을 빠르게 트리거할 수 있습니다. 이는 특히 가설 유효성 검사 초기에 혁신에 대한 위험입니다. 솔루션 디자인에 약간의 창의성을 사용하여 기존 솔루션의 리팩터링이 필요하지 않은 MVP 경로가 있어야 합니다. 초기 가설의 유효성을 대규모로 확인할 수 있을 때까지 리팩터링을 지연하는 것이 좋습니다.

운영 모델 혁신

애플리케이션 개발에 대한 최신 혁신적인 방법 외에도 애플리케이션 운영에서 주목할 만한 혁신이 있었습니다. 이러한 방법은 많은 조직 이동을 일어나게 했습니다. 가장 눈에 띄는 것 중 하나는 탁월한 클라우드 센터 운영 모델입니다. 인력을 완전히 갖추고 성숙한 경우 비즈니스 팀은 솔루션에 대한 자체 운영 지원을 제공하는 옵션이 있습니다.

탁월한 클라우드 센터에 있는 셀프 서비스 운영 관리 모델의 유형은 솔루션 환경 내에서 더 엄격한 제어와 더 빠른 반복을 허용합니다. 이러한 목표는 운영 제어 및 책임을 비즈니스 팀에 이전하여 수행됩니다.

기존 솔루션에 대한 글로벌 수요를 확장하거나 충족하려는 경우 이 방법은 고객 가설의 유효성을 검사하기에 충분할 수 있습니다. 솔루션을 마이그레이션하고 약간 현대화한 후 비즈니스 팀은 다양한 가설을 테스트하기 위해 솔루션을 확장할 수 있습니다. 일반적으로 성능, 글로벌 배포 및 IT 운영에 방해가 되는 기타 고객 요구 사항에 관심이 있는 고객 코호트가 포함됩니다.

오버헤드 및 관리 줄이기

혁신적인 애플리케이션 또는 솔루션 내에서 유지 관리가 많을수록 애플리케이션 또는 솔루션이 반복되는 속도가 느려집니다. 다시 말해 사용 가능한 대역폭에 대한 작업의 영향을 줄여 혁신을 가속화할 수 있습니다.

혁신적인 솔루션을 제공하는 데 필요한 많은 반복을 준비하려면 미리 생각하는 것이 중요합니다. 예를 들어 서버리스 옵션을 우선하여 프로세스 초기에 운영 부담을 최소화합니다. Azure에서 서버리스 애플리케이션 옵션에는 Azure App Service 또는 컨테이너가 포함될 수 있습니다.

동시에 오버헤드를 줄일 수 있는 Azure의 서버리스 트랜잭션 데이터 옵션을 고려합니다. Azure 제품 카탈로그는 전체 데이터 플랫폼 없이 데이터를 호스트하는 데이터베이스 옵션을 제공합니다.

다음 단계

가설 및 솔루션에 따라 이 문서의 원칙은 MVP 정의를 충족하고 사용자를 참여시키는 애플리케이션을 설계하는 데 도움이 될 수 있습니다. 다음은 애플리케이션 및 데이터를 고객의 손에 더 빠르고 효율적으로 가져올 수 있는 방법을 제공하는 채택 역량 강화에 대한 원칙입니다.