Cloud Computing Interview Questions
Cloud Computing Interview Questions
Cloud computing is the delivery of various services (like storage, servers, databases, networking,
software) over the internet, also known as 'the cloud.' Instead of owning and managing physical data
centers or servers, companies can access these resources on demand from cloud providers,
- IaaS (Infrastructure as a Service): Provides virtualized computing resources over the internet (e.g.,
- PaaS (Platform as a Service): Offers a platform allowing customers to develop, run, and manage
applications without dealing with the underlying infrastructure (e.g., Google App Engine, Heroku).
- SaaS (Software as a Service): Delivers software applications over the internet, on a subscription
- Public Cloud: Resources are available to the public over the internet. Examples include AWS,
- Private Cloud: Dedicated to a single organization, offering enhanced control and security.
- Hybrid Cloud: Combines both public and private clouds, allowing data and applications to be
- Community Cloud: Shared infrastructure for a specific community, like organizations with shared
- Cost Savings: Reduces or eliminates the need for physical infrastructure and maintenance costs.
- Data breaches and loss: Risk of unauthorized access and data loss.
Virtualization is a technology that allows you to create multiple simulated environments or dedicated
resources from a single physical hardware system. It enables the creation of virtual machines (VMs)
on a single server, which can efficiently run different applications or operating systems and
Serverless computing is a cloud execution model in which the cloud provider dynamically manages
the infrastructure. With serverless, developers can focus on coding, as the cloud provider takes care
of provisioning, scaling, and managing servers. Examples include AWS Lambda and Azure
Functions.
Multi-cloud refers to the use of multiple cloud services from different providers (e.g., AWS, Azure,
- Optimized costs and performance: Ability to choose specific providers for specific tasks to balance
Containerization is a form of virtualization where applications are run in isolated containers, each
with its own software, libraries, and configuration files. Containers share the host OS kernel, making
them lightweight and efficient. Unlike traditional VMs, which include the entire OS, containers are
- AWS CloudFormation (for AWS): Infrastructure as Code (IaC) tool for defining cloud resources.
- Google Cloud Deployment Manager (for Google Cloud): Helps manage Google Cloud resources.
- Terraform: Open-source IaC tool for managing cloud infrastructure across multiple providers.
A VPC is a private network within a public cloud, enabling users to have a separate, isolated section
of the cloud. This allows them to define their IP ranges, subnets, and control network configurations,
- Using multiple availability zones: Distributing applications across multiple zones for redundancy.
Elasticity is the ability of cloud systems to dynamically allocate resources based on current
demands. Resources can be scaled up during peak usage and scaled down when demand
Cloud-native applications are designed to fully leverage cloud environments. These apps use
microservices, containers, DevOps practices, and are typically deployed using continuous
integration and continuous deployment (CI/CD) for rapid updates and scalability.
15. What are CloudFormation and Terraform, and how do they differ?
Both are Infrastructure as Code (IaC) tools used to manage cloud resources.
- AWS CloudFormation is AWS-specific and allows users to model and set up their AWS resources.