AWS Flashcards

1
Q

What is cloud computing?

A

“The cloud” refers to servers that are accessed over the Internet, and the software and databases that run on those servers. Cloud servers are located in data centers all over the world. By using cloud computing, users and companies do not have to manage physical servers themselves or run software applications on their own machines.

Cloud computing is the on-demand delivery of IT resources over the Internet with pay-as-you-go pricing.

You typically pay only for cloud services you use, helping lower your operating costs, run your infrastructure more efficiently and scale as your business needs change.

Unlike the old traditional server methods, cloud computing brings ease in deploying and maintaining applications

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Advantages of Cloud Computing

A

Back up and restore data Once the data is stored in the cloud, it is easier to get back up and restore that data using the cloud.

Improved collaboration Cloud applications improve collaboration by allowing groups of people to quickly and easily share information in the cloud via shared storage.

Excellent accessibility Cloud allows us to quickly and easily access store information anywhere, anytime in the whole world, using an internet connection. An internet cloud infrastructure increases organization productivity and efficiency by ensuring that our data is always accessible.

Low maintenance cost Cloud computing reduces both hardware and software maintenance costs for organizations.

Mobility

Cloud computing allows us to easily access all cloud data via mobile.
Unlimited storage capacity
Cloud offers us a huge amount of storage capacity for storing our important data such as documents, images, audio, video, etc. in one place.
Data security
Data security is one of the biggest advantages of cloud computing. Cloud offers many advanced features related to security and ensures that data is securely stored and handled.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

three main types of cloud computing services:

A

Infrastructure-as-a-Service (IaaS), Platforms-as-a-Service (PaaS), and Software-as-a-Service (SaaS).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the three different types of cloud computing models

A

public, private and hybrid clouds.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are some widely used cloud providers

A

AWS, GCP, Azure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Public

A

Public clouds are a type of cloud computing run by a third-party cloud provider. These cloud providers deliver cloud services to their clients over the public internet. A cloud provider keeps ownership and control of the cloud storage, hardware, infrastructure and resources. Some of the largest public cloud providers include Alibaba Cloud, Amazon Web Services (AWS), Google Cloud, IBM Cloud, and Microsoft Azure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Private

A

Only one individual or business uses the resources and storage of a private cloud. Users access private cloud services over a private network that others can’t access from the public internet. Private clouds can be physically located on a company’s premises. Some third-party cloud providers may also offer clients a private cloud option for a higher price than a public cloud.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hybrid

A

A hybrid cloud combines services of both public and private clouds. With a hybrid cloud, organizations can typically choose to combine various elements of both types of clouds. Since organizations can often customize hybrid clouds, this type of cloud deployment gives companies greater flexibility in their infrastructure and operations. Example: Cisco, NetApp

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

4 Important Considerations for Private Cloud Deployment

A

Selecting Your Hardware
Choosing Management Software
Your Current Environment
Private Cloud Deployment and Go-Live
#The following seven steps are the ways to setup a hybrid cloud:

Determine cloud deployment model for applications and data
Integrate with existing enterprise systems
Address connectivity requirements
Develop governance policies and service agreements
Assess and resolve security and privacy challenges
Manage the cloud environment
Consider a backup, archive and data recovery plan

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

IaaS (Infrastructure as a Service)

A

IaaS products allow organizations to manage their business resources — such as their network, servers, and data storage — on the cloud.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Benefits of IaaS

A

Its pay-as-you-go model allows businesses to only pay for the resources they use.
Organizations have complete control over their infrastructure.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

PaaS (Platform as a Service):

A

PaaS products allow businesses and developers to host, build, and deploy consumer-facing apps.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Advantages in PaaS are:

A

Programmers need not worry about what specific database or language the application has been programmed in.
It allows developers to build applications without the overhead of the underlying operating system or infrastructure.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

SaaS (Software as a Service):

A

By far the most common cloud service, SaaS products offer both consumers and businesses cloud-based tools and applications for everyday use.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Advantages of SaaS

A

The following are the advantages of using SaaS:
It is a cloud computing service category providing a wide range of hosted capabilities and services. These can be used to build and deploy web-based software applications.
It provides a lower cost of ownership than on-premises software. The reason is it does not require the purchase or installation of hardware or licenses.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is an Amazon RDS

A

Amazon Relational Database Service (Amazon RDS) is a collection of managed services that makes it simple to set up, operate, and scale databases in the cloud. Seven popular engines available on AWS are:

MySQL
MariaDB
PostgreSQL
Oracle
SQL Server

17
Q

What are the uses of Amazon RDS

A

Build web and mobile applications
Support growing apps with high availability, throughout, and storage scalability. Take advantage of flexible pay-per-use pricing to suit various application usage patterns.
Move to managed databases
Innovate and build new apps with Amazon RDS instead of worrying about self-managing your databases, which can be time-consuming, complex, and expensive.
Break free from legacy databases
Free yourself from expensive, punitive, commercial databases by migrating to Amazon Aurora. When you migrate to Aurora, you get the scalability, performance, and availability of commercial databases at 1/10th the cost.

18
Q

What is EC2 autoscaling

A

Amazon EC2 Auto Scaling helps you ensure that you have the correct number of Amazon EC2 instances available to handle the load for your application.

You create collections of EC2 instances, called Auto Scaling groups. You can specify the minimum number of instances in each Auto Scaling group, and Amazon EC2 Auto Scaling ensures that your group never goes below this size.

You can specify the maximum number of instances in each Auto Scaling group, and Amazon EC2 Auto Scaling ensures that your group never goes above this size.

19
Q

What are the type os EC2 Autoscaling

A

Vertical Scaling
Horizontal Scaling

20
Q

Vertical and horizontal scaling structures

A

In AWS, vertical scaling is about changing the instance up and down, and horizontal scaling is about adding more machines of similar capacity to the infrastructure.

21
Q

When to use vertical or horizontal autoscaling

A

Vertical scaling is better when your application receives decent traffic. However, when the application has to cater to hundreds of thousands of concurrent requests, horizontal scaling is better as you can perform seamless scaling while gaining speed, elasticity, and performance. You won’t face a resource deficit.

22
Q

What is SSH

A

SSH, also known as Secure Shell or Secure Socket Shell, is a network protocol that gives users, particularly system administrators, a secure way to access a computer over an unsecured network.

23
Q

What is an AMI

A

An Amazon Machine Image (AMI) is a supported and maintained image provided by AWS that provides the information required to launch an instance.
You must specify an AMI when you launch an instance. You can launch multiple instances from a single AMI when you require multiple instances with the same configuration.
An AMI includes the following:
One or more EBS snapshots.
Launch permissions that control which AWS accounts can use the AMI to launch instances.
A block device mapping specifies the volumes to attach to the instance when it’s launched.

24
Q

Elastic bean stalk

A

Amazon Elastic Block Store (Amazon EBS) provides block-level storage volumes for use with EC2 instances.

EBS volumes behave like raw, unformatted block devices. You can mount these volumes as devices on your instances.
EBS volumes that are attached to an instance are exposed as storage volumes that persist independently from the life of the instance.
You can create a file system on top of these volumes, or use them in any way you would use a block device (such as a hard drive).
You can dynamically change the configuration of a volume attached to an instance.
With Amazon EBS, you pay only for what you use. #EBS Volumes
Amazon EBS volume is a durable, block-level storage device that you can attach to your instances.
After you attach a volume to an instance, you can use it as you would use a physical hard drive.
You can use EBS volumes as primary storage for data that requires frequent updates, such as the system drive for an instance or storage for a database application.
EBS volumes are created in a specific Availability Zone, and can then be attached to any instances in that same Availability Zone.

25
Q

EBS Snapshots

A

You can back up the data on your Amazon EBS volumes to Amazon S3 by taking point-in-time snapshots. Snapshots are incremental backups, which means that only the blocks on the device that have changed after your most recent snapshot are saved.

26
Q

Amazon Simple Storage Service (Amazon S3)

A

Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. You can use Amazon S3 to store and retrieve any amount of data at any time, from anywhere.

27
Q

S3 as an Object Storage System

A

Amazon S3 is an object storage system which means the data is stored as individual objects rather than in some kind of hierarchy like you would see in a file system or directory structure.
Each object is put into a bucket and you connect to Amazon S3 using a URL.
The URL will have the name of your object and the name of your bucket. The bucket is just the container in which you put your objects.
You use what’s called a REST API to connect to S3 using a URL.
Your browser does an HTTP PUT request and it puts the objects in the bucket.

28
Q

Use Cases for S3

A

You can store any type of file in S3.
Backup and Storage
Application Hosting
Media Hosting
Software Delivery - host software apps that your customers can download
Static Website Hosting - You can configure a static website to run from an S3 bucket.

29
Q

What is S3? How to launch an S3 bucket?

A

To upload your data (photos, videos, documents etc.) to Amazon S3, you must first create an S3 bucket in one of the AWS Regions.
Every object you store in Amazon S3 resides in a bucket. You can use buckets to group related objects in the same way that you use a directory to group files in a file system.
Amazon S3 creates buckets in the AWS Region that you specify. You can choose any AWS Region that is geographically close to you to optimize latency, minimize costs, or address regulatory requirements.

30
Q

Hosting Static Sites on S3

A

You can use Amazon S3 to host a static website.
To configure your bucket for static website hosting, you can use the AWS Management Console without writing any code.
You can also create, update, and delete the website configuration programmatically by using the AWS SDKs. The SDKs provide wrapper classes around the Amazon S3 REST API. If your application requires it, you can send REST API requests directly from your application.
To host a static website on Amazon S3, you configure an Amazon S3 bucket for website hosting and then upload your website content to the bucket.

31
Q

What are security groups?

A

A security group controls the traffic that is allowed to reach and leave the resources that it is associated with.
example, after you associate a security group with an EC2 instance, it controls the inbound and outbound traffic for the instance.
When you create a VPC, it comes with a default security group. You can create additional security groups for each VPC. You can associate a security group only with resources in the VPC for which it is created.
For each security group, you add rules that control the traffic based on protocols and port numbers. There are separate sets of rules for inbound traffic and outbound traffic.
You might set up network ACLs with rules similar to your security groups to add a layer of security to your VPC. For more information about the differences between security groups and network ACLs, see Compare security groups and network ACLs.

32
Q

Difference between Elastic beanstalk and Ec2

A

EC2, which stands for Elastic Compute Cloud, offers scalable virtual servers in the cloud. It allows users to have full control over the underlying infrastructure, including the operating system, software, and networking configurations. With EC2, users are responsible for manually configuring and scaling the infrastructure based on their needs. They need to install and deploy their applications on these virtual servers themselves.

On the other hand, Elastic Beanstalk is a fully managed service that simplifies the deployment and management of applications in the cloud. It abstracts away the underlying infrastructure, providing a managed environment. Elastic Beanstalk automates tasks like capacity provisioning, load balancing, and application health monitoring. Users can simply upload their application code, and Elastic Beanstalk takes care of provisioning and managing the necessary resources. It automates infrastructure management, making it easier for developers to deploy and manage their applications without worrying about the underlying infrastructure.

In summary, while EC2 provides scalable virtual servers and gives users full control over the infrastructure, Elastic Beanstalk is a higher-level service that automates infrastructure management, allowing developers to focus more on their application code rather than infrastructure configuration and scaling.

33
Q

ESB or ES2 opinionated and not opinionated

A

Elastic Beanstalk is opinionated in the sense that it provides a pre-configured environment and automates many infrastructure management tasks. It follows certain conventions and imposes a specific structure on how applications should be deployed. This can be advantageous for developers who prefer a simplified deployment process and want to focus more on writing code rather than managing infrastructure. However, it may be less flexible for those who require more customization and control over the underlying infrastructure.

On the other hand, EC2 is less opinionated and offers more flexibility and control. Users have full control over the virtual servers, allowing them to customize the operating system, software, and networking configurations to their specific needs. This gives developers the freedom to configure the infrastructure exactly as desired but also requires more manual setup and management of the infrastructure components.

In summary, Elastic Beanstalk is more opinionated, providing automated infrastructure management and simplifying deployment, while EC2 is less opinionated, offering greater flexibility and control over the underlying infrastructure. The choice between the two depends on the specific needs and preferences of the user or development team.

34
Q

what is devops

A

DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) to promote collaboration, communication, and efficiency in the software development lifecycle. It aims to bridge the gap between development teams and operations teams by fostering a culture of shared responsibility and continuous improvement.

DevOps emphasizes the automation of processes, the use of monitoring and feedback loops, and the adoption of agile methodologies. It encourages the integration of development, testing, and deployment phases, allowing for faster and more frequent software releases while maintaining stability and quality.

Key principles of DevOps include:

  1. Collaboration and Communication: DevOps promotes close collaboration and effective communication between development teams, operations teams, and other stakeholders involved in the software delivery process. This helps to align goals, share knowledge, and improve overall efficiency.
  2. Continuous Integration and Continuous Deployment (CI/CD): DevOps emphasizes the automation of build, test, and deployment processes. Continuous Integration involves regularly integrating code changes into a shared repository, followed by automated builds and tests to detect issues early. Continuous Deployment automates the release of software to production environments once it passes all tests and quality checks.
  3. Infrastructure as Code (IaC): DevOps encourages treating infrastructure as code, using tools and practices to automate the provisioning, configuration, and management of infrastructure resources. This approach ensures consistency, scalability, and version control for infrastructure components.
  4. Monitoring and Feedback: DevOps emphasizes the use of monitoring tools and practices to gather real-time data about the performance, availability, and user experience of applications. This feedback loop enables teams to identify issues, make data-driven decisions, and continuously improve the software and infrastructure.
  5. Agile and Lean Principles: DevOps aligns with agile and lean methodologies, promoting iterative development, rapid feedback cycles, and a focus on delivering value to end-users. It encourages the adoption of practices such as continuous improvement, short development cycles, and minimizing waste.

Overall, DevOps aims to break down silos, streamline processes, and foster a collaborative and efficient environment for software development and operations. It enables organizations to deliver software faster, with improved quality and stability, while maintaining a focus on business value and customer satisfaction.

35
Q

What is continuous integration?

A

Continuous Integration is a software development process where a code is continuously tested after a commit to ensure there are no bugs.

In large teams, many developers work on the same code base. Thus, any of the multiple commits can have a bug. With continuous integration, bugs can be identified early and fixed before pushing changes to production. Any new code is integrated into one executable form, termed a build. If the build is green (i.e. all ok), then the executable artifact can be deployed. If not, the bug needs to be fixed, and the new build is tested again.

36
Q

What Is Continuous Deployment?

A

Benefits of Continuous Deployment #Maintain capability for quick new releases The most important feature of continuous deployment is that it enables developer teams to get their new releases into the production environment as quickly as possible. Most software companies can no longer rely on common development methodologies when developers release software updates once per year. Some companies are rolling out up to 10 deployments per day with continuous deployment.

Continuous deployment (CD, or CDE) is a strategy or methodology for software releases where any new code update or change made through the rigorous automated test process is deployed directly into the live production environment, where it will be visible to customers.

The goal of a continuous deployment process is simple: minimize the cycle time required to write a piece of code, test it to ensure that it functions correctly and does not break the application, deploy it to the live environment and collect feedback on it from users.

37
Q

What is Continuous Delivery?

A

Continuous delivery is a specific software development practice that’s often applied in connection with DevOps. A DevOps approach is likely to involve the creation of a continuous delivery pipeline. DevOps describes approaches to speeding up the processes by which an idea (like a new software feature, an enhancement request, or a bug fix) goes from development to deployment in a production environment where it can provide value to the user.

38
Q

Differences Between Continuous Integration, Delivery And Deployment:

A

In Continuous Integration, every code commit is built and tested, but, is not in a condition to be released. The build application is not automatically deployed on the test servers to validate it using different types of Blackbox testing like – User Acceptance Testing (UAT).

In Continuous Delivery, the application is continuously deployed on the test servers for UAT. Or, you can say the application is ready to be released to production anytime. So, Continuous Integration is necessary for Continuous Delivery.

Continuous Deployment is the next step past Continuous Delivery, where you are not just creating a deployable package, but you are deploying it in an automated fashion.