블로그

일회용 앱을 위한 일회용 인프라

로리 맥비티 썸네일
로리 맥비티
2015년 5월 25일 게시
일회용 인프라 아이콘

컨퍼런스 일정. 이벤트 탐색. 집을 사거나 차 대출을 받는 것과 같은 구체적인 일.

이러한 용도의 앱을 설치했다면 "일회용 모바일 앱" 또는 DMA라고 하는 앱을 설치한 것입니다. 단일 사용 사례를 위해 설계된 앱이며, 팜플렛처럼 "버려질" 것으로 예상됩니다. 다시 필요할 때까지 삭제됩니다. 이러한 앱은 필연적으로 작고 민첩하며 변동성이 매우 큽니다. 때로는 단기간 동안만 존재하는 경우도 있습니다. 예를 들어 선거, 월드컵, 음악 축제와 같은 이벤트를 지원하는 경우입니다. 또는 "서버" 측에는 오랫동안 존재하지만 클라이언트 측에는 존재하지 않는 경우도 있습니다. 예를 들어 주택 담보 대출 절차를 처리하는 경우입니다.

이러한 앱은 점점 더 인기를 얻고 있으며 일종의 "마이크로 앱"(마이크로서비스와 매우 유사하지만 내부 개발이 아닌 타사 개발용으로 설계됨)으로 간주됩니다.

이런 종류의 앱이 존재한다는 사실을 알아두는 것이 중요한 이유는 앱의 수명이 매우 다를 수 있기 때문입니다. 그들은 요람에서 무덤까지 며칠, 몇 주 또는 몇 달 동안만 존재할 수도 있습니다. 그들은 갑자기 나타났다가 금세 사라져 버립니다. 대부분은 일회용이기 때문에 이를 뒷받침하는 인프라 역시 일회용일 가능성이 높습니다.

가상화된 데이터 센터 시대에 소프트웨어가 IT를 잠식하는 상황에서 이런 개념은 한때 생각했던 것만큼 터무니없는 일은 아닙니다. 결국 우리가 수천 달러짜리 하드웨어를 버리는 것은 아니잖아요. Enter 키만 클릭하면 쉽게 설치하고 철거할 수 있는 부분입니다.

유일한 인프라 문제가 웹/앱 서버라면 이 방법이 좋을 수 있습니다. 하지만 이런 일에는 확장성과 성능 향상이 필요합니다(결국 모바일 앱이고 대부분의 처리가 서버(클라우드)에서 이루어짐). 이는 일반적으로 네트워크 인프라로 간주되는 여러 요소를 의미합니다. 부하 분산, 캐싱 및 서비스 최적화. 즉, 이것 역시 "일회용"이어야 한다는 뜻입니다. 이러한 사물은 소프트웨어(또는 가상)로 배포할 수 있어야 하며, 사물을 신속하게 프로비저닝하고 구성하고 나중에 해체할 수 있는 강력한 API 및 템플릿 세트와 함께 제공되어야 합니다. 이는 이러한 앱이 클라우드 지원, 클라우드 활성화 또는 클라우드화되어야 함을 의미합니다(어떤 마케팅 용어를 사용하든 상관없음). 즉, 이러한 일회용 앱을 지원하는 인프라와 서비스가 제공하는 애플리케이션만큼 유연하고 일회용이어야 합니다.

 

핵심 IT 통증 포인트 네트워크

이는 더 많은 앱이 짧은 주기로 제공되고 폐기되는 이러한 매우 불안정한 환경을 관리하는 데 DevOps 접근 방식이 점점 더 중요해지고 있음을 의미합니다.  "모든 서비스에 적합한 단일 앱"이라는 단일적이고 일체적인 접근 방식은 반드시 일회용 모바일 앱을 구상하고 제공하는 방식이 아닙니다. 그들은 집중적이고 목적의식이 있습니다. 즉, 결코 확장되지 않을 특정 기능 세트를 제공하는 데 집중하고 있다는 뜻입니다. 그러면 다른 기능과 목적은 다른 앱을 통해 제공되고, 이로 인해 필요한 애플리케이션의 수가 전반적으로 늘어나고 운영 부서에서는 해당 앱을 배포하고 제공해야 하는 부담이 더 커지게 됩니다. 각 앱에는 앱에 맞게 조정해야 하는 특정 서비스, 구성 및 모니터링 요구 사항이 있습니다. 애플리케이션 세계에서는 한 가지 크기가 모두에게 맞는 것은 아닙니다. 이는 앱의 수명 동안 성능이나 보안 조정을 제외하면 인프라 구성이 크게 변하지 않는 세상과는 현저한 차이가 있습니다. 이는 인프라를 관리해야 하는 운영자에게 더 많은 작업, 더 많은 복잡성, 더 많은 빈도를 의미합니다.

그렇기 때문에 인프라가 단순히 소프트웨어이거나 가상화되는 데 그치지 않고 강력한 프로비저닝 및 구성 API를 제공하고 Puppet과 Chef, VMware와 Cisco, OpenStack 과 Salt Stack과 같은 인기 있는 프레임워크와 툴셋의 성장하는 자동화 생태계 참여에 중점을 두는 것이 점점 더 중요해지고 있습니다. 이러한 프레임워크는 개발에서 운영으로 지속적인 배포가 가능하도록 하고 인프라를 쉽게 운영에 도입하고 폐기할 수 있는 수단을 제공합니다.

소프트웨어가 IT를 먹어치우고 있지만, 이는 좋은 일로 받아들여야 합니다. 전 세계를 잠식하는 소프트웨어에 의해 촉진되는 성장을 관리하려면 애플리케이션과 인프라 전반에 걸친 수명 주기 관리 방식으로서 DevOps가 필요합니다. CA와 Vanson Bourne은 글로벌 설문 조사에서 DevOps 방식 도입의 정량적 이점을 발견했으며 , 응답자의 21%가 더 많은 신규 소프트웨어와 서비스가 가능하다고 보고했고 18%는 제품 출시 시간이 단축되었다고 답했습니다.

일회용 앱과 이를 제공하는 데 필요한 일회용 인프라를 지원하려면 이런 수준의 민첩성과 속도가 필수입니다. IT 업계의 핵심 고민은 네트워크가 여전히 방해가 된다는 현실입니다. EMA 조사 에 따르면, "변화에 대응하기 위해 인프라를 재구성하는 느린 수동 프로세스"가 2014년에 조직의 39%가 심각한 문제점으로 지적했습니다.

DevOps를 "네트워크"에 적용하면 생산 경로에서 이러한 중요한 장애물을 제거하는 데 도움이 됩니다. 그러한 노력의 일환으로 네트워크의 특성(하드웨어입니다!)에 대한 선입견을 버리는 것도 포함됩니다. 건드릴 수 없는 거야! (제 도메인이 아니잖아요!) 그리고 네트워크의 어떤 부분이 앱처럼 일회용으로 처리될 가능성이 있는지 고려해 보세요.