23.09.24 미들웨어(Middleware)
미들웨어(Middleware)
소프트웨어 애플리케이션에서 클라이언트와 서버 간의 요청(request)과 응답(response) 사이에서 동작하는 소프트웨어 구성 요소 또는 함수입니다. 미들웨어는 애플리케이션의 중간에 위치하여 다양한 작업을 수행하고 요청과 응답 데이터를 처리, 변환 또는 조작하는 역할을 한다.
그래서 무엇을 할 수 있냐?
- 요청 파싱(Request Parsing)
- 로그 기록(Logging)
- 인증과 권한 부여(Authentication and Authorization)
- 캐싱(Caching)
- 압축(Compression)
- 에러 처리(Error Handling)
- 라우팅(Routing)
- 응답 변환(Response Transformation)
클라우드 컴퓨팅에서 미들웨어는?
조직이 클라우드 네이티브 개발로 전환할 때 소프트웨어 개발자와 시스템 아키텍트는 애플리케이션 플랫폼의 선행 설계와 아키텍처에 집중할 수밖에 없습니다. 그러기 위해서는 애플리케이션 개발, 배포, 실행을 위한 프레임워크 및 기능을 선택하고 설정해야 하는데, 이 모든 기능은 미들웨어를 통해 처리됩니다. 이러한 기능을 갖춘 조직은 클라우드의 장점을 더욱 폭넓게 누릴 수 있습니다. 애플리케이션은 온프레미스 시스템에서 퍼블릭 클라우드에 이르는 여러 인프라 전반에 배포될 수 있고, 환경에 상관없이 본래의 기능을 수행합니다.
조직들은 이러한 복잡성을 관리하면서 신속하고 경제적으로 애플리케이션을 개발하기 위해 미들웨어로 전환하고 있으며, 현재 상당 부분이 클라우드 서비스로 제공되어 배포와 관리가 간소화되었습니다. 미들웨어는 고도로 분산된 플랫폼 전반에서 원활하고 일관되게 작동하는 애플리케이션 환경을 지원할 수 있습니다. 또한 소프트웨어 공급망 보안, DevSecOps 전략, 자동화를 지원할 수 있기 때문에 보안 리스크를 관리하면서도 새롭게 개선된 애플리케이션을 더 빠르게 빌드할 수 있도록 팀을 지원합니다.
그 동안 미들웨어에 대해서 개념을 제대로 정의하지 못하고 사용하기만 했었다. 그래서 보다 명확하게 이게 무엇이냐라고 말할 수 있게 찾아봤다. 누군가 물어본다면 요청과 응답 사이에서 작동하는 것이라고 답 해야겠다. 이 대답을 계속 가지고 갈 수 있다면 충분히 도움이 많이 될 것 같다.