Unit-3 PPT
Unit-3 PPT
Advantage Disadvantage
Shared infrastructure Security
• Microsoft Azure: Microsoft Azure is a cloud computing model that allows for building,
testing, and managing applications through a network of Microsoft data centers.
• Google Cloud: Google Cloud is an IaaS platform that businesses can use to natively run
Windows, Oracle, and SAP, as well as AI solutions to increase operational efficiency.
• IBM Cloud: IBM Cloud allows businesses to “allocate your computer, network, storage and
security resources on demand”, so businesses only use resources when needed.
IAAS Providers
.
PAAS
• PaaS is also referred to as cloud platform services, and provides developers with a framework,
software and tools needed to build apps and software which are all accessible through the
internet.
• Platform as a Service (PaaS) provides a runtime environment. It allows programmers to easily
create, test, run, and deploy web applications. You can purchase these applications from a
cloud service provider on a pay-as-per use basis and access them using the Internet connection.
In PaaS, back end scalability is managed by the cloud service provider, so end- users do not
need to worry about managing the infrastructure.
PAAS
PaaS providers provide the Programming languages, Application frameworks, Databases, and Other tools:
1. Programming languages: PaaS providers provide various programming languages for the developers to
develop the applications. Some popular programming languages provided by PaaS providers are Java, PHP,
Ruby, Perl, and Go.
2. Application frameworks: PaaS providers provide application frameworks to easily understand the application
development. Some popular application frameworks provided by PaaS providers are Node.js, Drupal, Joomla,
WordPress, Spring, Play, Rack, and Zend.
3. Databases: PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB, and Redis to
communicate with the applications.
4. Other tools: PaaS providers provide various other tools that are required to develop, test, and deploy the
applications.
PAAS – Pros N Cons
.
Advantage Disadvantage
Simplified Development Vendor lock-in
Scalability Runtime
PAAS Example
• Google App Engine: Google App Engine allows developers to build and host web applications
in cloud-based data centers that Google manages.
• Red Hat OpenShift: Red Hat OpenShift is an on-premises containerization PaaS software.
• Heroku: Developers can use this PaaS tool to build, manage, and grow consumer-facing apps.
• Apprenda: Apprenda is a PaaS product that allows developers and businesses to host an
entire application portfolio. Build and deploy applications of all types on this platform.
PAAS Providers
.
SAAS
• SaaS is also known as "On-Demand Software". It is a software distribution model
in which services are hosted by a cloud service provider.
• The SaaS service model is sometimes referred to as cloud application services.
SaaS solutions are the most commonly used services within the cloud market.
SaaS platforms make software available to users over the internet, usually for a
monthly subscription fee.
SAAS - Services
• There are the following services provided by SaaS providers -
• Business Services - SaaS Provider provides various business services to start-up the business. The SaaS business
services include ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), billing, and sales.
• Document Management - SaaS document management is a software application offered by a third party (SaaS
providers) to create, manage, and track electronic documents. Example: Slack, Samepage, Box, and Zoho Forms.
• Social Networks - As we all know, social networking sites are used by the general public, so social networking
service providers use SaaS for their convenience and handle the general public's information.
• Mail Services - To handle the unpredictable number of users and load on e-mail services, many e-mail providers
offering their services using SaaS.
SAAS – Pros N Cons
.
Advantage Disadvantage
SaaS is easy to buy Security
• Adobe Creative Cloud: Offers the full suite of Adobe Inc.’s software that allows for video and
photo editing and manipulation, graphic design, etc.
SAAS Providers
.
IAAS, PAAS, SAAS - Examples
.
Understanding Compute Services
• Compute services are also known as Infrastructure-as-a-Service (IaaS).
• Users have allocated compute power and can start, stop, access, and
configure their computer resources as desired.
Compute Services Types
.
Configure Capacity based on Requirements
Lower Cost
Terminology
• Instance = One running virtual machine.
• Instance Type = hardware configuration: cores, memory, disk.
• Instance Store Volume = Temporary disk associated with instance.
• Image (AMI) = Stored bits which can be turned into instances.
• Key Pair = Credentials used to access VM from command line.
• Region = Geographic location, price, laws, network locality.
• Availability Zone = Subdivision of region the is fault-independent.
AWS – Compute Services
.
AWS – Compute Services
.
AWS – Compute Services
• Amazon Web Services (AWS) offers many compute services. This module will
discuss the highlighted services.
Amazon EC2 (Instance)
ECR/EKS/ECS (Container)
8. Vendor Management:
a. Establish clear security requirements and responsibilities in contracts and service level agreements (SLAs)
with CSPs.
b. Regularly review the security practices and compliance certifications of your CSP to ensure they align with
your requirements.
AWS Identity and Access Management (IAM)
• Identity and Access Management (IAM) manages Amazon Web Services (AWS) users and their
access to AWS accounts and services. It controls the level of access a user can have over an AWS
account & set users, grant permission, and allows a user to use different features of an AWS
account.
• Identity and access management is mainly used to manage users, groups, roles, and Access
policies The account we created to sign in to Amazon web services is known as the root account
and it holds all the administrative rights and has access to all parts of the account.
How IAM Works?
• IAM verifies that a user or service has the necessary authorization to access a particular service
in the AWS cloud. We can also use IAM to grant the right level of access to specific users,
groups, or services. For example, we can use IAM to enable an EC2 instance to access S3
buckets by requesting fine-grained permissions.
What Does IAM Do?
• IAM Identities
• IAM Identities assists us in controlling which users can access which services and resources in the AWS
Console and also we can assign policies to the users, groups, and roles. The IAM Identities can be created by
using the Root user.
• IAM Identities Classified As
• IAM Users
• IAM Groups
• IAM Roles
What Does IAM Do?
• IAM Users
• We can utilize IAM users to access the AWS Console and their administrative permissions differ from
those of the Root user and if we can keep track of their login information.
• IAM Groups
• A group is a collection of users, and a single person can be a member of several groups. With the aid
of groups, we can manage permissions for many users quickly and efficiently.
• IAM Roles
• While policies cannot be directly given to any of the services accessible through the Amazon
dashboard, IAM roles are similar to IAM users in that they may be assumed by anybody who requires
them. By using roles, we can provide AWS Services access rights to other AWS Services.
• IAM Policies
• IAM Policies can manage access for AWS by attaching them to the IAM Identities or resources. An IAM
policy is a document that defines permissions. AWS policies are stored in the form of Jason format the
number of policies to be attached to particular IAM identities depends upon no. of permissions
required for one IAM identity. IAM identity can have multiple policies attached to them.
IAM Features
• Shared Access to your Account: A team working on a project can easily share resources
with the help of the shared access feature.
• Free of cost: IAM feature of the Aws account is free to use & charges are added only
when you access other Amazon web services using IAM users.
• Have Centralized control over your Aws account: Any new creation of users, groups, or
any form of cancellation that takes place in the Aws account is controlled by you, and
you have control over what & how data can be accessed by the user.
• Grant permission to the user: As the root account holds administrative rights, the user
will be granted permission to access certain services by IAM.
• Multifactor Authentication: Additional layer of security is implemented on your account
by a third party, a six-digit number that you have to put along with your password when
you log into your accounts.
IAM
.
IAM
.
Securing Accounts
• AWS KEY MANAGEMENT SERVICE (AWS KMS)
• Enables you to create and manage encryption keys
• Enables you to control the use of encryption across AWS services and in your applications.
• AMAZON COGNITO
• Adds user sign-up, sign-in, and access control to your web and mobile applications.
• Supports sign-in with social identity providers, such as Facebook, Google, and Amazon.
• AWS SHIELD
• Is a managed distributed denial of service (DDoS) protection service
• Safeguards applications running on AWS
Securing Data
.
Scale and Load Balance your Data Architecture
SCALABILITY
• Scaling in cloud computing refers to the ability to adjust the resources, such as
compute, storage, or network capacity, to meet the changing demands of an
application or workload. Cloud computing provides flexible and scalable
infrastructure that allows organizations to scale their resources up or down as
needed. There are two primary types of scaling in cloud computing:
• Vertical Scaling (Scaling Up)
• Horizontal Scaling (Scaling Out)
Scalability
.
Types of Scalability
• Vertical Scaling (Scaling Up):
• Vertical scaling involves increasing the capacity of individual resources, such as upgrading to
a higher-capacity server or adding more memory to a virtual machine.
• In this approach, the size or capacity of a single resource is increased to handle higher
workloads or to meet performance requirements.
• Vertical scaling is suitable for workloads that can be managed by a single, more powerful
resource.
• Cloud providers typically offer options for vertical scaling, allowing users to resize their
instances, virtual machines, or databases to accommodate increased demand.
• This can be done manually or automatically through auto-scaling policies based on
predefined metrics like CPU utilization or memory usage.
Types of Scalability
• Horizontal Scaling (Scaling Down):
• Horizontal scaling involves adding more instances, nodes, or servers to distribute the
workload across multiple resources.
• Instead of increasing the capacity of a single resource, horizontal scaling adds additional
resources to handle increased demand.
• This approach is suitable for workloads that can be divided into smaller, independent units
or can be processed in parallel.
• Cloud providers offer services and features that support horizontal scaling, such as auto-
scaling groups or managed database services that can automatically provision and distribute
resources based on workload patterns and predefined rules.
• Load balancing mechanisms are often used to distribute incoming traffic or workload across
multiple instances or containers, ensuring efficient resource utilization and high availability.
Scale and Load Balance your Data Architecture
LOAD BALANCING
• Load balancing in cloud computing is a technique used to distribute incoming
network traffic or workload across multiple resources to ensure optimal
performance, high availability, and efficient resource utilization.
• It helps evenly distribute the workload and prevents any single resource from
being overwhelmed.
Load Balancing
• Load balancing can be implemented at various levels, including network load balancing,
load balancing across virtual machines, or load balancing for application services.
• Load balancing distributes incoming traffic or workload across multiple resources to ensure
optimal performance, scalability, and fault tolerance.
• Cloud providers offer load balancing services, such as AWS Elastic Load Balancer, Google
Cloud Load Balancer, or Azure Load Balancer, that automatically distribute traffic across
instances or containers based on various algorithms (e.g., round-robin, least connections).
• Load balancers can be configured to perform health checks on instances and route traffic
only to healthy resources.
• By evenly distributing workload across resources, load balancing ensures efficient resource
utilization, minimizes response times, and enhances the overall user experience.
Load Balancing
.
Server Monitoring using Cloud Logs
• Server monitoring using cloud logs involves tracking, reviewing, and managing the
health and security of cloud-based systems and applications. Cloud monitoring
allows organizations to identify and diagnose problems in real time, ensuring that
critical systems are always up and running.
Server Monitoring using Cloud Logs
.
steps you can use cloud logs for server
monitoring
Step 1: Log Collection
• Configure your server instances to send logs to a centralized log management system provided by the
cloud platform. For example, AWS offers Amazon CloudWatch Logs, Google Cloud provides Cloud
Logging, and Azure offers Azure Monitor Logs. You can also use third-party log management tools that
integrate with cloud platforms.
Step 2: Log Aggregation
• Set up log aggregation to consolidate logs from multiple servers into a central repository. This simplifies
log analysis and troubleshooting by providing a unified view of logs across your server infrastructure.
Aggregated logs can include system logs, application logs, security logs, and custom logs.
Step 3: Log Storage and Retention
• Cloud log management services offer scalable storage and retention options for logs. Determine the
appropriate retention period based on compliance requirements and the need for historical analysis.
Cloud platforms typically provide options to archive logs for long-term storage and compliance purposes.
steps you can use cloud logs for server
monitoring
Step 4: Log Search and Analysis
• Use log query languages or search capabilities provided by the log management service to search, filter,
and analyze logs. This allows you to identify patterns, anomalies, errors, or performance issues. You can
define custom log metrics, create alerts based on log events, and build dashboards for visualization.
Step 5: Real-time Monitoring and Alerting
• Set up real-time monitoring and alerting based on predefined log-based metrics or conditions. Configure
alerts to notify you when specific log events or patterns occur. This helps you proactively identify and
respond to critical server issues, security breaches, or performance bottlenecks.
Step 6: Log-based Troubleshooting
• When troubleshooting server issues, use log data to analyze events leading up to the problem. Correlate
logs from different servers or components to understand the root cause of an issue. Log data provides
valuable insights into system behavior, errors, and interactions between server components.
steps you can use cloud logs for server
monitoring
Step 7: Security Monitoring
• Monitor server logs for security-related events, such as authentication failures,
unauthorized access attempts, or suspicious activities. Use log analysis techniques,
including anomaly detection and pattern matching, to identify potential security breaches
and respond in a timely manner.
Step 8: Compliance and Auditing
• Log management is crucial for meeting compliance requirements and facilitating audits. Use
log data to demonstrate adherence to security policies, regulations, and industry standards.
Log retention, access controls, and audit trails help maintain a secure and auditable server
environment.