본문 바로가기

전체 글

(48)
[Microsoft Azure] 6. 클라우드 웹 서비스 플랫폼 (2) 지난 시간에 Streamlit으로 웹 앱을 만들어 봤다.로컬에서 streamlit run으로 돌리면 잘 된다.근데 나는 남들이 쓸 수 있게 배포가 하고 싶은거다.이번 주에는 실제로 Azure Web App에 배포하는 과정을 실습하고,DB 연동 Todo 앱을 만들어 본 뒤, Azure Static Web Apps의 동작 방식을 살펴본다.7-1. 웹 앱 서비스의 배포Python 가상 환경배포 전에 가상 환경부터 잡아야 한다. Python 가상 환경은 프로젝트마다 독립적인 실행 환경을 제공하는 도구다.독립적인 환경 — 프로젝트별로 패키지 버전을 별도 관리. A 프로젝트는 pandas 1.x, B 프로젝트는 pandas 2.x를 쓸 수 있다.의존성 관리 — requirements.txt로 필요한 패키지와 버전을..
[Microsoft Azure] 5. 클라우드 웹 서비스 플랫폼 (1) 서버 올리고, DB 연결하고, 데이터도 저장했다.그런데 정작 웹 앱은 어디에 띄우지?VM을 직접 세팅할 수도 있지만,OS 패치부터 런타임 관리까지 해야해서 귀찮다.azure에서 제공하는 다양한 관리수준의 플랫폼들을 알아보자.6-1. 클라우드 기반의 웹 서비스 플랫폼Azure App Service웹 애플리케이션, RESTful API, 모바일 백엔드를 호스팅하는 완전 관리형 PaaS 서비스다.다중 언어 지원: .NET, Java, Node.js, Python, PHP자동 확장 + 로드 밸런싱 내장CI/CD 통합 및 배포 슬롯 지원SSL 인증서 및 커스텀 도메인 관리AWS의 Elastic Beanstalk에 해당하는 포지션이다.Azure Static Web AppsReact, Vue 등으로 빌드된 정적 웹앱..
[AWS] 2. AWS 클라우드 운영 환경 이해하기 지난시간에는 AWS의 기본 개요에 대해 알아보았다.이번에는 직접 AWS를 사용해보는 시간을 가져보자.1. AWS Management Console 소개AWS 접근 방법 4가지AWS 리소스를 제어하는 방법은 크게 4가지다.AWS API — 프로그래밍적 접근 (HTTP 요청)AWS SDK — Python, Java 등 언어별 라이브러리AWS CLI — 터미널 명령어 기반AWS Management Console — 웹 GUIAWS Management Console이란?웹 브라우저에서 AWS 리소스를 시각적으로 관리하는 도구다. CLI나 코드 없이 클릭만으로 서비스 실행과 설정이 가능하다.접속 URL: https://console.aws.amazon.com로그인 방식1) Root User 로그인Email add..
[AWS] 1. AWS 개요 이해하기 클라우드응용SW개발 과목을 수강하며기본적인 클라우드 컴퓨팅 개념과마이크로소프트 Azure의 사용법을 익혔다.https://grimcode.tistory.com/29 [클라우드 공통] 0. 클라우드 서비스 이해하기졸업을 하기전에 목표로 결심하게 된 것이 있다.웹 서비스를 하나 만들어서 배포하고 싶다. 서버를 사야 하나? 어디에 띄우지? 트래픽이 몰리면?학생 신분에 수백만 원짜리 서버를 살 수는 없다.grimcode.tistory.com 이번에는 클라우드 활용 과목을 통해또다른 클라우드 컴퓨팅 서비스AWS를 배우고 사용해보도록 하자. 이미 Azure를 배웠지만사용할 수 있는 도구는 많을수록 좋은 법이다.1. AWS의 탄생 배경아마존은 물류 회사이자 IT 회사였고, 내부 인프라가 복잡해지면서 표준화가 필요했다..
[Microsoft Azure]4. 클라우드 데이터 플랫폼(3) 서버를 띄웠다. 웹 앱도 올렸다.RDB? 테이블 설계하고, 스키마 잡고, 정규화하고...근데 내가 다루는 데이터가 항상 깔끔한 테이블 형태일까?IoT 센서 데이터, 게임 로그, 사용자 행동 데이터 — 이런 건 row-column 구조에 억지로 끼워 넣기 어렵다.여기서 등장하는 게 NoSQL이고, Azure에서는 Cosmos DB와 Storage Account가 그 역할을 한다.5-1. 클라우드 기반의 NoSQL반정형 데이터란?데이터는 크게 세 가지로 나뉜다.정형 데이터(Structured) — RDB의 테이블처럼 행과 열이 명확하게 정의된 데이터다. SQL로 다루기 쉽고 스키마가 고정되어 있다.비정형 데이터(Unstructured) — 이미지, 동영상, 로그 파일처럼 구조가 없는 데이터다. 그대로 저장하..
[Microsoft Azure]3.클라우드 데이터 플랫폼(2) 지난주에는 데이터의 종류와 Azure Managed Database를 살펴봤다.이번 주는 실제로 데이터를 다루는 방법이다.테이블, 인덱스, 뷰 같은 Database Object가 뭔지,SQL로 어떻게 조작하는지,그리고 Azure에서 제공하는 상용 SQL Server는 어떤 차이가 있는지마지막으로 Python에서 MySQL에 직접 연결하는 아키텍처를 알아보자4-1. 클라우드 데이터 조작 쿼리Database Objects관계형 데이터베이스에는 데이터를 효율적으로 관리하기 위한 여러 객체가 존재한다. 가장 기본이 되는 건 Table이고, 그 위에 Index, View, Relationship 같은 객체들이 얹어진다.Table — 데이터가 실제로 저장되는 곳이다. 행(Row)과 열(Column)로 구성되고, 모..
[Microsoft Azure] 2. 클라우드 데이터 플랫폼(1) 지난 실습을 통해 VM에 Streamlit 앱을 올리는 방법을 배웠다.근데 데이터를 어디에 저장하지?파일에 쓸까? SQLite? 아니면 MySQL?온라인 주문 웹사이트를 만든다고 치면,사용자가 입력한 주문 데이터는 트랜잭션이 보장돼야 하고,상품 이미지는 테이블에 못 넣고,행동 로그는 매번 스키마가 달라진다.그러므로 우리는데이터 종류마다 저장 전략이 다르다는 걸 먼저 이해하고DB를 직접 설치할지, 클라우드 Managed 서비스를 쓸지도 결정해야 한다.3-1. 클라우드 기반의 데이터 플랫폼데이터의 구분데이터는 저장 방식에 따라 크게 세 가지로 나뉜다.구조화(Structured) 데이터 — 행과 열로 이루어진 테이블 형태의 데이터다. RDB에 들어가는 데이터가 대표적이다. 스키마가 명확하게 정의되어 있고, S..
[Microsoft Azure] 1. 리눅스 기반 웹 서버 구축하기 1주차에서 클라우드의 개념을 잡았다.이제 직접 서버를 띄워야 한다.Azure에서 VM을 하나 만들었는데 — 화면이 까맣다.GUI가 없다. 마우스도 없다. 터미널 하나뿐이다.클라우드 서버의 대다수는 리눅스다.리눅스를 다루지 못하면, 클라우드에 서버를 올려놓고도 아무것도 할 수 없다.리눅스 기반의 웹 서버를 구축해보자.2-1. 리눅스 기반의 웹 서버 구축 (1)Unix / Linux의 역사**유닉스(Unix)**는 1970년대 초 미국 AT&T 벨 연구소에서 켄 톰슨, 데니스 리치 등에 의해 개발된 다중 사용자 운영체제다. 주로 연구소나 대학의 중대형 컴퓨터에서 사용됐다. C 언어로 작성되어 이식성이 높았고, 이후 수많은 운영체제의 뿌리가 됐다.**리눅스(Linux)**는 1991년 핀란드의 리누스 토르발스..