기본 인프라 제공 : 서버, 스토리지, 네트워크 등 물리적 또는 가상화된 컴퓨팅 자원을 서비스 형태로 제공합니다.
유연성 : 사용자가 원하는 운영체제, 미들웨어, 런타임 등을 자유롭게 선택하고 설정할 수 있습니다.
자유로운 환경 설정 : 직접 서버를 설정하고 필요한 소프트웨어를 설치할 수 있어, 애플리케이션의 환경을 세밀하게 조정할 수 있습니다.
관리 책임 : 인프라 관리(서버 업데이트, 보안 패치 등)를 직접해야 합니다.
ex)
개발 플랫폼 제공 : 애플리케이션 개발, 배포, 관리에 필요한 플랫폼과 도구를 제공합니다.
자동 관리 : 인프라 관리는 클라우드 제공자가 하고, 개발자는 애플리케이션 코드에 집중할 수 있습니다.
빠른 개발 및 배포 : 서버 설정이나 관리에 신경 쓰지 않고, 코드 작성과 배포에 집중할 수 있습니다.
확장성 : 트래픽 증가 시 자동으로 확장할 수 있는 기능을 제공하는 경우가 많아, 애플리케이션 확장이 용이합니다.
ex)
Heroku
Google App Engine
AWS Elastic Beanstalk
완성된 소프트웨어 제공 : 사용자가 별도로 설치하거나 관리할 필요 없이 인터넷을 통해 소프트웨어를 이용할 수 있습니다.
서비스 형태 : 구독 기반으로 제공되는 경우가 많습니다.
직접 개발과는 거리 : 주로 개발자가 아닌 최종 사용자 입장에서 사용하는 경우가 많지만, 애플리케이션에 통합하거나 API를 통해 활용할 수 있습니다.
예시로는 개발 도구나 협업 도구를 생각할 수 있습니다.
ex)
Gmail
Salesforce
Slack
안녕하세요! 클라우드 서비스(IaaS, PaaS, SaaS)에 대한 이해를 바탕으로 신입 Java/Spring 백엔드 개발자 분께 실습할 만한 프로젝트와 과제를 추천해드릴게요. 실습을 통해 이론을 실제로 적용해보고, 클라우드 환경에서의 개발 및 배포 경험을 쌓을 수 있습니다.
목표:
AWS EC2 인스턴스를 생성하고, 직접 서버 환경을 설정하여 Spring 애플리케이션을 배포해보기.
실습 단계:
sudo yum update -y
sudo yum install java-11-openjdk-devel -ygit clone [레포지토리 URL]
cd [프로젝트 디렉토리]
./mvnw package
java -jar target/[애플리케이션].jarhttp://[EC2 퍼블릭 IP]:8080 접속하여 애플리케이션 확인.학습 포인트:
목표:
PaaS 서비스를 사용하여 Spring 애플리케이션을 손쉽게 배포하고 관리해보기.
실습 단계:
pom.xml에 필요한 플러그인 설정.heroku loginheroku create [앱 이름]
git push heroku maineb init -p java [애플리케이션 이름]
eb create [환경 이름]
eb deploy학습 포인트:
목표:
SaaS 서비스를 활용하여 애플리케이션에 기능을 추가하거나 통합해보기.
실습 단계:
학습 포인트:
CI/CD 파이프라인 구축:
컨테이너화 및 오케스트레이션:
모니터링 및 로깅:
공식 문서:
온라인 강의:
튜토리얼:
실습을 통해 클라우드 서비스의 개념을 체험하고, 실제 프로젝트에 적용해보는 것이 중요합니다. 각 단계에서 발생하는 문제를 해결하면서 클라우드 환경에 대한 이해도와 문제 해결 능력을 키울 수 있습니다. 또한, GitHub에 실습 내용을 정리하고 포트폴리오로 활용하면 취업 준비에 큰 도움이 될 것입니다.
성공적인 취업 준비를 응원합니다! 추가 질문이나 도움이 필요하시면 언제든지 말씀해주세요.