2017.05.22

블로그 | 클라우드가 애플리케이션 성능을 고칠 수 없는 이유

David Linthicum | InfoWorld
클라우드의 자동 프로비저닝과 자동 스케일링 서비스가 소프트웨어 성능을 개선해 준다는 동화 같은 야기를 믿어서는 안된다.

클라우드 상의 애플리케이션 성능은 개발자나 관리자의 개입없이 자동으로 최적화된다는 말을 들은 적 있는가? 많은 사람이 이 이야기를 사실로 믿고 있다.

아마도 초기 클라우드에 대한 과대포장에서 이런 혼란이 생긴 것 같은데, 당시 탄력성은 종종 클라우드의 성능과 관련된 무엇으로 설명되곤 했다. 비록 탄력성이 온디맨드 방식으로 서버를 프로비저닝해 확장성을 제공하며, 서버리스 컴퓨팅을 사용하는 요즘에는 자동으로 확장되기도 하지만, 탄력성이란 개념 자체는 애플리케이션의 성능을 보장해주지 않는다.

탄력성이 성능과 관계없는 이유는 3가지 정도로 요약할 수 있다.

우선, 성능 문제는 전형적으로 애플리케이션의 설계와 개발, 그리고 배치와 관련된 것이다. 성능이 나쁜 애플리케이션이 더 빠른 가상 프로세서 또는 엄청나게 많은 가상 프로세서를 사용한다고 해서 사람들이 생각하는 것처럼 성능 상의 이점을 얻을 수는 없다. 애플리케이션의 성능은 이를 설계하고 개발한 사람들에 의해 애플리케이션에 만들어진 것이다.

두 번째로, 더 많은 돈을 들이고 성과는 적을 것이다. 비록 최적화되지 않은 소프트웨어가 클라우드 플랫폼의 가상 하드웨어와 서비스로부터 한계 성능 상의 이점을 얻을 수는 있지만, 현실은 최소한의 성능 향상을 위해 클라우드 서비스에 더 많은 돈을 들이는 것으로 끝난다.

자동 스케일링과 자동 프로비저닝 서비스를 제공하는 퍼블릭 클라우드 업체가 있고, 애플리케이션 성능 문제에 이들 서비스를 사용하라는 유혹이 있을 것이다. 하지만 이는 애플리케이션의 내재적인 성능 문제를 클라우드 서비스 업체에 맡겨 해결하는 것이 된다. 많은 경우, 클라우드 서비스 업체에 백지수표를 건네는 일이 된다. 필자의 고객 중 한 곳도 자동 스케일링과 자동 프로비저닝 서비스를 사용한 결과, 막대한 클라우드 요금 고지서를 받았다.

세 번째는 보안과 거버넌스를 잊어버리기 쉽다는 것이다. 이 두 가지는 제대로 하지 않으면 성능 킬러가 된다. 예를 들어, 정부의 규제에 따라 모든 것을 암호화한다면, 성능은 최대 25%가 줄어든다. 그나마도 몇 년 전에는 50%나 떨어졌다. 잘 만들어진 애플리케이션의 개발자는 암호화 과부하에 대해 처음부터 데이터를 어떻게 관리해 암호화 비용을 최소화할 것인지를 생각한다.

결론을 말하자면, 성능 문제를 간단하게 클라우드 서비스 업체에 맡겨서는 안된다. 그보다는 애플리케이션이 최고의 성능을 낼 수 있도록 설계하고 개발하고 테스트하는 것이 중요하다.  editor@itworld.co.kr



2017.05.22

블로그 | 클라우드가 애플리케이션 성능을 고칠 수 없는 이유

David Linthicum | InfoWorld
클라우드의 자동 프로비저닝과 자동 스케일링 서비스가 소프트웨어 성능을 개선해 준다는 동화 같은 야기를 믿어서는 안된다.

클라우드 상의 애플리케이션 성능은 개발자나 관리자의 개입없이 자동으로 최적화된다는 말을 들은 적 있는가? 많은 사람이 이 이야기를 사실로 믿고 있다.

아마도 초기 클라우드에 대한 과대포장에서 이런 혼란이 생긴 것 같은데, 당시 탄력성은 종종 클라우드의 성능과 관련된 무엇으로 설명되곤 했다. 비록 탄력성이 온디맨드 방식으로 서버를 프로비저닝해 확장성을 제공하며, 서버리스 컴퓨팅을 사용하는 요즘에는 자동으로 확장되기도 하지만, 탄력성이란 개념 자체는 애플리케이션의 성능을 보장해주지 않는다.

탄력성이 성능과 관계없는 이유는 3가지 정도로 요약할 수 있다.

우선, 성능 문제는 전형적으로 애플리케이션의 설계와 개발, 그리고 배치와 관련된 것이다. 성능이 나쁜 애플리케이션이 더 빠른 가상 프로세서 또는 엄청나게 많은 가상 프로세서를 사용한다고 해서 사람들이 생각하는 것처럼 성능 상의 이점을 얻을 수는 없다. 애플리케이션의 성능은 이를 설계하고 개발한 사람들에 의해 애플리케이션에 만들어진 것이다.

두 번째로, 더 많은 돈을 들이고 성과는 적을 것이다. 비록 최적화되지 않은 소프트웨어가 클라우드 플랫폼의 가상 하드웨어와 서비스로부터 한계 성능 상의 이점을 얻을 수는 있지만, 현실은 최소한의 성능 향상을 위해 클라우드 서비스에 더 많은 돈을 들이는 것으로 끝난다.

자동 스케일링과 자동 프로비저닝 서비스를 제공하는 퍼블릭 클라우드 업체가 있고, 애플리케이션 성능 문제에 이들 서비스를 사용하라는 유혹이 있을 것이다. 하지만 이는 애플리케이션의 내재적인 성능 문제를 클라우드 서비스 업체에 맡겨 해결하는 것이 된다. 많은 경우, 클라우드 서비스 업체에 백지수표를 건네는 일이 된다. 필자의 고객 중 한 곳도 자동 스케일링과 자동 프로비저닝 서비스를 사용한 결과, 막대한 클라우드 요금 고지서를 받았다.

세 번째는 보안과 거버넌스를 잊어버리기 쉽다는 것이다. 이 두 가지는 제대로 하지 않으면 성능 킬러가 된다. 예를 들어, 정부의 규제에 따라 모든 것을 암호화한다면, 성능은 최대 25%가 줄어든다. 그나마도 몇 년 전에는 50%나 떨어졌다. 잘 만들어진 애플리케이션의 개발자는 암호화 과부하에 대해 처음부터 데이터를 어떻게 관리해 암호화 비용을 최소화할 것인지를 생각한다.

결론을 말하자면, 성능 문제를 간단하게 클라우드 서비스 업체에 맡겨서는 안된다. 그보다는 애플리케이션이 최고의 성능을 낼 수 있도록 설계하고 개발하고 테스트하는 것이 중요하다.  editor@itworld.co.kr

X