iis 웹서버와 Database 서버만 운영할 경우 꼭 Windows Server를 써야 하나요?

안녕하세요?

윈도우에서 iis를 이용하여 웹 서버를 운영하고 mssql express로 DB 서버를 간단하게 운영하려 합니다.

MSSQL Express를 이용하는 이유는 램 1G 사용, 데이터 10GB 까지 저장할 수 있고 다른 기능 상의 문제가 없어 보여서 입니다. (규모가 커진다면 차후 Standard로 바꿀 예정입니다)

User cal, Device cal 등의 개념을 좀 살펴봤는데 저 같은 경우는 저만 접속할 것 같고…
다른 용도는 없고 웹서버와 database 서버로 운영할 경우 꼭 windows server를 사용해야 하나요?

동시 접속자는 많으면 50~100명정도 예상됩니다…

구글링도 해보고 이리저리 많이 찾아봤는데 두루뭉술하게 window 10이나 11로 해도 괜찮다~ 다만 보안이 위험하다. 이런 말들만 있고 딱 저에게 떨어지는 대답이 잘 안 나와서 이렇게 질문 드립니다…

감사합니다!!

sql server express 의 라이선스는 구체적인 내용은

https://www.microsoft.com/ko-kr/download/details.aspx?id=29693

여기서 자세히 확인 후 해석에 대해 햇갈리는 부분을 다시 찾아 보시면 좋을 것 같습니다.


질문의 꼭 Windows Server를 써야 하나요? 의 답변은

일단 iis 서버가 Windows의 종속이기 때문에

iis 서버를 통한 호스팅을 하고 계시다면 반드시 Windows Server를 사용해야 합니다.

개발환경이 ASP.NET Core 계열 이라면

Kestrel 로 셀프 호스팅을을 통해 리눅스 에서 사용이 가능합니다.

mssql server도 리눅스 용 도커 이미지가 공식 제공 되고 있기 때문에

리눅스에서도 문제 없이 사용 가능 합니다.

2 Likes

본문의 질문은 윈도우/리눅스 간 비교가 아닌 윈도우 서버/ 윈도우 10, 11 간 비교를 물어보는 거 같네요

1 Like

리눅스에서 도커로 묶어서 던지려다가 그냥 윈도우 쓰는게 마음 편할 것 같아서요…
윈도우 서버 or 윈도우 11 pro 둘 중에 고민입니다.
그냥 마음은 윈도우 11pro에서 돌리다가 대규모 서비스 갈 때 AWS로 옮기는 걸로 생각하고 있습니다!
친절한 답변 감사합니다^_^

여기에 좀 더 자세하게 일반 윈도우즈OS에서 IIS의 제약사항이 있습니다.

1 Like

Windows 10과 Windows 11로 서버를 운영하는 것은 당장 일주일 정도 서버를 돌리는 용도로는 괜찮을 수 있지만, 24시간 365일 정말로 중단 없이 서버를 돌리는 용도로는 문제가 많을 수 있습니다.

라이선스에 대한 문제는 많이 언급되고 있으니 차치해두고, 기술적으로는 다음의 사항들 때문에 클라이언트 OS보다는 서버 OS를 선택하는 것이 유리하다고 할 수 있습니다.

  • 말씀해주신 것처럼 IIS는 Windows 10/11에서 실행되는 버전의 경우 개발 목적으로만 한정되어있기 때문에 발생할 수 있는 제약 사항이 존재합니다.
  • IIS 뿐 아니라, 일반적으로 클라이언트 OS는 IO 성능 우선 순위 배정이 모니터 앞에 앉아있는 사용자 우선으로 할당되기 때문에 Windows 10이나 11 등의 클라이언트 OS를 사용하면 서버 입출력 성능이 고르지 못할 수 있습니다. (이유 없는 랙, 지연 현상 발생 가능성이 높아집니다.)
  • Windows Update가 우선 순위가 높게 적용되어 원하지 않는 때에 서버가 중단될 가능성이 높습니다. 반면 Windows Server나 IoT 버전 Windows는 Windows Update가 시도때도 없이 돌지는 않습니다. 거기다 Azure 버전 Windows Server나 나중에 출시될 Windows Server 2025 같은 경우는 재부팅없는 시스템 업데이트도 제공되지만 클라이언트 OS는 적어도 그렇지 않습니다.
  • Windows Server의 경우 Core Mode가 권장 사양이자 기본 구성입니다. 이 모드는 데스크탑 기능이 모두 빠진 상태로 사용자가 컴퓨터 화면으로 로그인하면 달랑 터미널만 보게 되도록 설치되는 모드 (Internet Explorer, Media, DirectX 등 서버 실행에 1차적으로 필요하지 않은 모든 기능이 빠집니다.) 인데, 이 모드를 선호하지 않는 탓에 존재를 잘 인지하지 못하시는 것 같습니다. 이게 Windows Desktop과 Server 사이의 가장 큰 차이점입니다.

그러나 이와 같은 이점이 있음에도 투입할 수 있는 예산 상의 한계 때문에 Windows Server를 사용할 수 없는 상황이라면, .NET Framework가 아닌 .NET Core 기반으로 애플리케이션을 마이그레이션한 후, 리눅스 등의 다른 워크 로드 사용을 검토하시는 것도 괜찮은 선택이 될겁니다.

5 Likes

친절한 답변 정말 감사합니다…^^
일단 개발 및 검증 단계라 window 11 pro에서 진행할 예정인데요.
대규모 서비스할 때는 azure나 aws로 옮겨야 되겠다는 결심이 확실하게 섰습니다.

2 Likes