애플레케이션 현대화 격차 해소, 2부
이 시리즈의 첫 번째 포스트에서는 기업이 애플리케이션 현대화 하는 원동력에 대해 이야기했습니다. 그 글이 여러분의 관심을 끌고 자신의 현대화 계획에 대해 더 생각하게 했기를 바랍니다. 계속해서 읽어나가면 앱 현대화를 위한 전략을 설계할 때 고려해야 할 사항들에 대해 알게 될 것입니다.
목차
1. 애플리케이션 현대화해야 하는 이유는 무엇입니까?
2. 애플리케이션의 진화
2-1. 분리 (Decouple)
2-2. 추상적 (Abstract)
2-3. 모니터 (Monitor)
2-4. 자동화 (Automate)
2-5. 단순화 (Simplify)
2-6. 통합 (Integrate)
2-7. 열려 있는 (Open)
3. 애프릴케이션 현대화 요약
1. 애플리케이션 현대화 해야 하는 이유는 무엇입니까?
어떤 기술 프로젝트든지 첫 번째 질문은 항상 “왜”인 것이 좋습니다. 왜 앱을 현대화해야 하는 걸까요? 이것이 정말 필요한 것인지, 아니면 그저 유행인 걸까요?
2020년은 다른 여러 가지 사항들 중에서도 디지털 경험의 가치를 강조한 해였습니다. 더 현대적인 애플리케이션, 인프라 및 접근 방식을 가진 기업들은 COVID-19 대응에 더욱 수월했습니다. 기존에 그렇지 않았던 기업들보다 더 쉽게 진화하고 매우 도전적인 상황을 대처하는 데에 성공했습니다. 이는 기존의 인프라, 프로세스 및 문화에 의해 제약을 덜 받았기 때문입니다.
물론 대부분의 기업들에게 있어서 현대적인 웹 개발과 제공 방식으로 나아가는 것은 단지 COVID-19 대응에 따른 것만이 아니라 지속적인 디지털 혁신 노력의 일환입니다. 이러한 노력은 다양한 원동력이 있으며 (비록 일부 기업들은 다른 기업들보다 앞서나가고 있지만) 온라인 소비자 지출은 이제 수조 달러에 달하며, 모바일 앱은 고객이 기업과 상호 작용하는 방식으로 점점 더 선호되고 있습니다. 소비자의 기대는 크게 변화했습니다. 여러분 스스로 확인해 보세요. 아마존을 좋아하든 싫어하든, 아마존의 구매와 관련하여 우리의 기대를 재정의했습니다. 우리는 이제 아마존과 원활한 온라인 경험을 기대하지 않습니다 – 이제 우리는 모두에게 이를 원합니다.
변화한 것은 소비자의 기대만이 아닙니다. 많은 사람들이 이제 기업 IT 경험 변화했다는 것을 깨달았습니다. 스마트폰부터 퍼블릭 클라우드까지, 우리는 IT 서비스를 새로운 방식으로 빠르게 채택해 왔습니다. 직원들은 이제 자신들의 회사의 IT팀이 원활하고 클라우드와 유사한 경험을 제공하는 것을 기대합니다.
현대적인 IT 경험에 대한 기대는 우리의 내부 비즈니스 환경에만 국한되지 않습니다. 우리는 비즈니스 파트너들이 원활한 상호 작용 경험을 제공하길 기대하며, 그들 또한 우리로부터 그것을 기대합니다. 우리의 애플리케이션과 비즈니스 프로세스는 이를 반영해야 합니다. 만약 우리의 애플리케이션과 프로세스가 충분히 빠르지 않거나 안전하지 않거나 빠르게 확장할 수 없다면, 경쟁업체에게 신속히 비즈니스를 빼앗길 것입니다.
변화의 필요성을 인정하는 많은 기업들이 여전히 대규모 단일 애플리케이션에 의해 주도되고 있기 때문에 앱 현대화는 실제적인 도전입니다. 어떻게 하면 속도와 규모에서 탁월한 경험을 제공할 수 있을까요? 수요에 빠르게 대응하고 성장하는 방법은 무엇일까요? 새로운 보안 도전에 대응하기 위해 시스템을 신속히 진화시키는 방법은 무엇일까요? 어떻게 하면 앱의 성능을 최적화하여 더 나은 성능을 제공할 수 있을까요? 시스템과 프로세스의 규모와 복잡성 때문에 모든 변경 작업에 6개월이 걸린다면 필요한 민첩성을 어떻게 달성할 수 있을까요?
2. 애플리케이션의 진화
현실적으로, 우리는 이러한 도전에 부응하기 위해 기존의 주요 비즈니스 애플리케이션을 그냥 “버릴” 수 없습니다. 우리는 그들을 발전시켜야 합니다. 이를 위해서는 인프라와 애플리케이션 제공 방식에서 새로운 기술과 작업 방식을 활용하는 방법을 찾아야 합니다.
어디에서 시작해야 할까요? NGINX가 자신의 플랫폼과 방법론을 개발한 방식을 연구하는 과정에서, 애플리케이션 스택을 현대화 하는 과정을 시작할 수 있는 몇 가지 단계를 고려해볼 수 있습니다.
2-1. 분리 (Decouple) – 애플리케이션 현대화
모놀리식 애플리케이션은 구성 요소들 간의 꽉 끼우는 상호 의존성 때문에 변경하기 어렵습니다. 또한 복잡성과 일반적으로 크기가 큰 것은 말할 수도 없습니다. 한 요소에 대한 변경은 다른 요소들에게 상당한 영향을 미칠 수 있어, 기민한 개발을 어렵게 만듭니다. 이러한 요소들을 분리하는 방법을 찾아야 합니다.
2-2. 추상적 (Abstract)
진정한 현대화를 위해서는, 우리의 서비스들은 종종 사용되는 (맞춤형) 하드웨어로부터 추상화해야 합니다. 현대적인 비즈니스 플랫폼은 애플리케이션팀들에게 언제든지 최적의 위치에서 앱을 실행할 수 있는 자유를 제공합니다.
2-3. 모니터 (Monitor)
우리는 어떻게 우리의 애플리케이션이 작동하고 사용되고 있는지를 알아야 합니다. 강력한 통찰력 없이는 디지털 경험을 어떻게 측정하고 동시에 보안을 유지하는지 확신할 수 없습니다.
2-4. 자동화 (Automate)
기술 스택을 현대화하는 데 필수적인 속도와 규모는 많은 프로세스를 자동화하지 않으면 불가능합니다. 우리 시스템이 새로운 보안 위협과 고객 요구에 거의 즉각적으로 대응할 수 있는 지능을 갖추지 않으면, 빠른 앱 출시와 업데이트 주기는 너무 위험합니다.
2-5. 단순화 (Simplify)
현대화를 위해서는 단순성이 여러 가지 측면에서 중요합니다. 복잡한 시스템은 우리가 필요로 하는 기민성을 위해 필요한 속도와 규모로 변경하기가 너무 어렵습니다.
2-6. 통합 (Integrate)
현대화는 개발 프로세스와 문화에도 확장되어야 합니다. 애플리케이션 스택은 DevOps 워크플로우, CI/CD 파이프라인, 그리고 생태계 파트너들과 통합할 수 있도록 해야 합니다. 이렇게 함으로써 우리는 선택의 폭을 갖게 되며, lock‑in 상태에 빠지지 않을 수 있습니다.
2-7. 열려 있는 (Open) – 애플리케이션 현대화
우리는 API를 활용하여 애플리케이션을 개방적으로 구성하고, 새로운 도구와 원활하게 연동하여 빠르고 쉽고 새로운 사용자 경험을 제공할 수 있도록 해야 합니다. 또한 견고한 API 관리 도구와 관행을 채택하여 제어를 유지해야 합니다.
물론, 이러한 현대화 기법의 모든 장점을 얻고자 하는 기업이 어떤 것이 없을까요? 이들은 우리가 유연하고 기민해지며 디지털 경험을 향상시키는 데 도움이 되기 때문입니다. 하지만 우리가 많은 업무 요소에 영향을 미치는 대규모 애플리케이션을 다룰 때, 이런 현대화를 어떻게 시작해야 할까요? 우리는 단지 Microsoft Office를 업그레이드하는 것이 아니기 때문에요!
3. 애플리케이션 현대화 요약
이 두 개의 글에서, 저는 애플리케이션 현대화를 주도하는 원동력, 기업이 이를 받아들여야 하는 이유, 그리고 비즈니스 요구를 더 잘 지원하기 위해 시스템 개발 방식을 변경해야 하는 단계에 대한 그림을 그리려고 노력했습니다.
NGINX Plus를 직접 사용해 보시려면 30일 무료 평가판을 신청하거나 NGINX STORE에 연락하여 문의하십시오.
아래 뉴스레터를 구독하고 NGINX의 최신 정보들을 빠르게 전달받아보세요.