- declarative way of outlining your AWS infrastructure for any resources
Benefits
=> Infrastructure as code
=> Cost Saving: Saving strategy, estimate
=> Productivity: destroy and re-created
Exercise
CloudFormation Code

Creating

If you click View in Designer

Specify Stack Name

Here's the Stack

When Creation is Done

When press Delete Button its gonna delete all the resources

CDK(AWS Cloud Development Kit)
- a way for you to define your cloud infrastructureusing a familiar programming language.
- CDK를 사용하면 클라우드 인프라를 JavaScript, TypeScript, Python, Java, .NET과 같은 프로그래밍 언어로 작성할 수 있습니다. 이렇게 작성된 코드는 CDK에 의해 CloudFormation 템플릿으로 컴파일되어 JSON 또는 YAML 형식으로 사용될 수 있습니다. 따라서 인프라와 애플리케이션 런타임 코드를 함께 배포할 수 있으며, 같은 언어를 공유할 수 있습니다.
Elastic Beanstalk

=> Manage Infrastructure, Deploy Code, Configure all databaes + load balancers, etc + Scaling Concerns
Elastic Beanstalk is a developer centric view of deploying an application on AWS(in one view)
- Managed Service
- Instance configuration / OS is handled by Beanstalk
- Deployment strategy is configurable but performed by Elastic Beanstalk
=> Just application code is resposibility of develop
Configure Environment


Platform

Samples

Service Access

Create New Role with those policies


and Click skip to review

CloudFormation will be created


If you click on Beanstalk Domain Name

CodeDeploy
- allows you to upgrade both your EC2 instances, applications, and your On-Premises Servers applications from version one to version two,
automatically from a single interface.
CodeCommit
- AWS Github
- Source-control service that hosts Git-based repositories
Benefits:
• Fully managed
• Scalable & highly available
• Private, Secured, Integrated with AWS
CodeBuild
- Code building service in the cloud
- Compiles source code, run tests, and produces packages that are ready to be deployed (by CodeDeploy for example)

Benefits:
- Fully Managed, serverless
- Continuously scalable & highly available
CodePipeline
- Orchestrate the different steps to have the code automatically pushed to production(CI/CD)
Benefits:
- Fully managed
- Fast delivery & rapid updates

CodeArtifact
- secure, scalable, and cost-effective artifact management for software development
- Works with common dependency management tools such as Maven, Gradle, npm, yarn, twine, pip, and NuGet
CodeStar
- Unified UI
- “Quick way” to get started to correctly set-up CodeCommit, CodePipeline,CodeBuild, CodeDeploy, Elastic Beanstalk, EC2, etc...
Cloud9
- cloud IDE (Integrated Development Environment) for writing, running and debugging code (IntelliJ, Visual Studio Code)
- Web Browser IDE
=> Real time pair programming
AWS Systems Manager는 AWS의 리소스 및 온프레미스 서버의 자동 및 수동 작업을 관리합니다.
- 온프레미스와 EC2 인스턴스의 패키지 업그레이드
- 설치 소프트웨어 목록 생성
- 새 애플리케이션 설치
- EBS 스냅샷을 이용한 AMI 이미지 생성
- IAM 인스턴스 프로파일 부착
- S3 버킷에 대한 퍼블릭 접근 차단

=> Allows you to start a secure shell on your EC2 and on-premises servers
Systems Manager의 주요 기능은 다음 두 가지입니다.
- 액션(Actions)
- 인사이트(Insights)
=> 패치 자동화는 여러 서버에 있는 소프트웨어나 시스템을 최신 상태로 유지하기 위해 사용되는 프로세스입니다. 이를 통해 관리자는 일일이 각 서버에 접속하여 패치를 설치하거나 업데이트하는 번거로움을 덜 수 있습니다. 대신, 자동화된 방식으로 패치를 배포하고, 일관된 규정 준수를 달성
출처: https://kimjingo.tistory.com/187 [김징어의 Devlog:티스토리]
System Manager Parameter Store
- Secure Storage for configuration and secrets
- Severless, scalable, durable


