Please enable JavaScript.
Coggle requires JavaScript to display documents.
Other AWS Services - Coggle Diagram
Other AWS Services
CloudFormation
Features:
- A declarative way of outlining my AWS infrastructure for any resources
- Creates AWS resources for me in the right order with the exact configuration that I specify
Benefits of CloudFormation:
- Infrastructure as Code
- No resources are manually created (excellent for control)
- Code can be version controlled for example using Git
- Changes to the infrastructure are reviewed through code
- Cost
- Each resources within the stack is tagged with an identifier so I can easily see how much a stack costs me
- Can estimate the costs of my resources using the CloudFormation template
- Saving strategy: IN DEV, I could automate deletion of templates at 5PM and recreated at 8AM safely
- Productivity
- Ability to destroy and re-create an infrastructure on the cloud on the fly
- Automated generation of Diagram for my template
- Declarative programming (no need to figure out ordering and orchestration)
- Separation of concern
- Create many stacks for many apps with layers (VPC stacks, Network stacks, App stacks)
- Do not re-invent the wheel
- Leverage existing templates
- Leverage the documentation
How CloudFormation works?
- Templates have to be uploaded in S3 and then referenced in CloudFormation
- Have to re-upload a new version of the template to AWS (cannot update the previous one)
- Stacks are identified by a name
- Deleting a stack deletes every single artifact that was created by CloudFormation
Deploying CloudFormation Templates:
- Manual way:
- Editing templates in the CloudFormation Designer
- Using the console to input parameters
- Automated way:
- Editing templates in a YAML file
- Using CLI to deploy the templates
CloudFormation Building Blocks:1.Templates components:
- Resources: my AWS resources declared in the template (mandatory)
- Parameters: dynamic inputs for my template
- Mappings: static variables for my template
- Outputs: References to what has been created
- Conditionals: List of conditions to perform resource creation
- Metadata
- Templates helpers:
StackSets:
- Create, update or delete stacks across multiple accounts and regions with a single operation (image)
- Administrator account to create StackSets
- Trusted accounts to create, update, delete stack instances from StackSets
- All associated stack instances are updated throughout all accounts and regions when I update a StackSet
Continuous Integration Continuous Delivery (CICD):
- Technology stack for CICD (image)
Step Functions:
- Build serverless visual workflow to orchestrate my Lambda functions
- Represent flow as a JSON state machine
- Features: sequence, parallel, conditions, timeouts, error handling
- Can integrate with EC2, ECS, On-premise servers, API Gateway
- Maximum execution time of 1 year
- Possibility to implement human approval feature
- Use Cases:
- Order fulfillment
- Data processing
- Web applications
AWS SWF - Simple Workflow Service:
- Coordinate work amongst applications
- Code runs on EC2 (not serverless)
- 1 year max runtime
- Concept of "activity step" and "decision step"
- Has built-in "human intervention" step
- Example: order fulfillment from web to warehouse to delivery
- Step Functions is recommended to be used for new applications, except:
- If I need external signals to intervene in the processes
- If I need child processes that return values to parent processes
- Provides useful guarantees around task assignments. It ensures that a task is never duplicated and is assigned only once
Amazon EMR (Elastic MapReduce):
- Helps creating Hadoop clusters (Big Data) to analyze and process vast amount of data
- Clusters can be made of hundreds of EC2 instances
- Supports Apache Spark, HBase, Presto, Flink
- EMR takes care of all the provisioning and configuration
- Auto-scaling and integrated with Spot instances
- Use Cases: data processing, machine learning, web indexing, big data
AWS Opsworks:
- Chef & Puppet help to perform server configuration automatically or repetitive actions
- Work great with EC2 and On-premise VM
- AWS Opsworks = Managed Chef & Puppet
- Alternative to AWS SSM
Chef & Puppet
- Help with managing configuration as code
- Helps in having consistent deployments
- Works with Linux/ Windows
- Can automate user accounts, cron, ntp, packages, services
- Leverage "Recipes" or "Manifests"
- Have similarities with SSM/ Beanstalk/ CloudFormation but they are Open Source tools that work cross-cloud
AWS Elastic Transcoder:
- Convert media files (video + music) stored in S3 into various formats for tablets, PC, Smartphone, TV
- Features: bit rate optimization, thumbnail, watermarks, captions, DRM, progressive download, encryption
- 4 components:
- Jobs: what does the work of the transcoder
- Pipeline: queue that manages the transcoding job
- Presets: template for converting media from one format to another
- Notifications: SNS
- Pay for what I use, scales automatically, fully managed
AWS WorkSpaces: (image)
- Managed, Secure Cloud Desktop
- Great to eliminate management of On-premise Virtual Desktop Infrastructure (VDI)
- On demand, pay per use
- Secure, Encrypted, Network isolation
- Integrated with Microsoft AD
AWS AppSync:
- Store and sync data across mobile and web apps in real-time
- Makes use of GraphQL (mobile technology from Facebook)
- Client code can be generated automatically
- Integrations with DynamoDB/ Lambda
- Real-time subscriptions
- Offline data synchronization (replaces Cognito Sync)
- Fine Grained security
Cost Explorer:
- Visualize, understand and manage my AWS costs and usage over time
- Create custom reports that analyze cost and usage data
- Analyze my data at a high level (total costs and usage across all accounts)
- Or Monthly, Hourly, Resource level granularity (image x 2)
- Choose an optimal Savings Plan (to lower prices on my bill) (image)
- Forecast usage up to 12 months based on previous usage (image)
-
Trusted Advisor:
- No need to install anything (high level AWS account assessment)
- Analyze my AWS accounts and provides recommendation:
- Cost Optimization
- Performance
- Security
- Fault Tolerance
- Service Limits
- Core checks and recommendations
- Can enable weekly email notification from the console
- Full Trusted Advisor (available for Business & Enterprise support plans)
- Ability to set CloudWatch alarms when reaching limits
AWS Budgets:
- With AWS Budgets, you can choose to be alerted by email or SNS notification:
- when actual or forecasted cost and usage exceed your budget threshold
- or when your actual RI and Savings Plans' utilization or coverage drops below your desired threshold
AWS X-Ray:
- Is a service that collects data about user requests that my application serves
- Provides tools I can use to view, filter, and gain insights into that data to identify issues and opportunities for optimization
- For any traced request to my application, I can see detailed information not only about the request and response, but also about calls that my application makes to downstream AWS resources, microservices, databases and HTTP web APIs
AWS Systems Manager Run Command:
- Can remotely and securely manage the configuration of your managed instances
- Can use Run Command from the AWS Management Console, the CLI, AWS Tools for Windows PowerShell, or the AWS SDKs. Run Command is offered at no additional cost
AWS CodeDeploy:
- Fully managed deployment service that automates software deployments to a variety of compute services such as Amazon EC2, AWS Fargate, AWS Lambda, and your on-premises servers
- Makes it easier for me to rapidly release new features
-