Cloud Computing

This is a preview lesson
Register or sign in to take this lesson.

Cloud computing, simply, is the supply of computer resources through the internet. Resources mean Servers, databases, software, networking, analytics, and/or intelligence, etc.

Cloud Computing is managed by the host, who continually enhances the service by making new improvements.

The host has enough storage and fast processing servers, allowing for instant access to the data. The main benefit of cloud computing is that it allows the user to focus solely on the task at hand, leaving difficulties behind.

Types of Cloud

Cloud services can be deployed in three different ways. They’re as follows:

Public Cloud

These are owned by third-party cloud service companies. The server and storage, for example, are delivered over the Internet. The cloud provider owns all of the resources, including hardware, software, and supporting infrastructure. You can use a web browser to access these services and manage your account. It has a multi-tenant design and a pay-per-use pricing approach. AWS, Microsoft Azure, and Google Cloud Platform are the main public cloud vendors.

Private Cloud

This term refers to cloud computing resources that are only used by one company or group. A private cloud can be hosted on-site at a company’s data center.

Hybrid Cloud

Hybrid means a combination of third-party, public, and on-premise private clouds. In this, data and apps can be transported between public and private clouds. A hybrid cloud gives businesses more flexibility, and more deployment options, and improves infrastructure, security, and compliance. It supports cloud bursting and benefits from both public and private cloud environments.

Community Cloud

A community cloud is a cloud infrastructure that allows a collection of companies to share information by accessing systems and services. One or more community organizations, a third party, or a combination of them own, administer, and run it.

Types of cloud services

Let’s have a look at the various cloud service types – Iaas, PaaS, SaaS.

Infrastructure as a Service (IaaS):

It is an Internet-based computer and infrastructure service that is deployed and managed. IaaS can be scaled up or down depending on your needs. It saves the upfront costs of purchasing and maintaining physical servers and other equipment. While you rent and use the essential service component, the cloud computing service provider maintains the infrastructure, software, operating system middleware, and applications.

Platform as a Service (PaaS):

It is a cloud-based development and deployment environment. Pay-as-you-go resources can be purchased from the cloud service provider. IaaS, middleware, development tools, BI services, database management systems, and other services are included in PaaS. It avoids the headache of purchasing and managing pricey software licenses. The cloud service provider manages everything once you’ve signed up.

Software as a Service (SaaS):

SaaS is a complete software solution that you can pay for on a per-use basis. It allows users to connect to cloud-based programs and use them over the internet. The cloud service provider manages the leased software and hardware with suitable SLAs (Service Level Agreements).

Serverless Service:

Serverless Computing allows developers to create apps more quickly while removing the need to manage the underlying infrastructure. The cloud service provider is in charge of infrastructure provisioning and management, hence the name. This allows developers to focus more on business logic and innovation while also increasing productivity and maximizing resources.

Advantages of Cloud Computing

  1. Cost-effective: Cloud computing is cost-effective since the user has numerous free options when they first start using it, and they just have to pay for the basic services after that. Many trustworthy services are offered to the general public for free or for a modest fee.
  2. Availability 24/7: All concerns and issues are answered with the help of technical support, which is supplied through phone calls, thus the cloud service is available at all times. Workers can seek help from anybody, anyplace.
  3. Protection: There is no data loss because the data has been saved in numerous locations. Because the data stored is valuable and should not be lost, Cloud Computing provides a high level of security. With remote access, you can change or remove data from anywhere. Even if the device is lost, data can be modified or deleted remotely via an internet connection.
  4. Centralization of data: One of the advantages of cloud computing is that all data is stored in one area and can be accessed from several locations. Many projects are stored in one location and may be accessed at any time and from anywhere.

Features of Cloud Computing

Cloud computing features are as follows:

  1. Pooling of Resources: It signifies that the Cloud provider used a multi-tenant architecture to pull computing resources to provide services to numerous customers. Various physical and virtual resources are assigned and reassigned based on the needs of the consumer. The customer has little control or information about where the offered resources are located but can specify location at a higher level of abstraction.
  2. Self-Service on Demand: It is one of the most significant and valuable components of Cloud Computing since it allows the user to keep track of the server’s uptime, capabilities, and network storage allocation. The user can also monitor the computational capacity with this capability.
  3. Simple to Maintain: The servers are simple to operate, and downtime is minimal, if not non-existent in some circumstances. Every time a new version of Cloud Computing is released, it improves. The updates are more compatible with devices and work faster than previous versions, as well as having issues resolved.
  4. Access to a large network: With the use of a device and an internet connection, the user can view cloud data or upload data to the cloud from anywhere. These capabilities are available throughout the network and can be accessed over the internet.
  5. Accessibility: The Cloud’s capabilities can be tailored to the needs of the user and greatly expanded. It evaluates storage utilization and, if necessary, allows the user to purchase more Cloud storage for a modest fee.
  6. Computerized System: To some degree of service, cloud computing automatically analyzes the data required and provides metering. We can track, manage, and report on usage. It will give both the host and the client transparency.
  7. Cost-effective: It is a one-time expenditure because the firm (host) must purchase storage and a portion of it can be shared among several companies, saving the host money on a monthly or annual basis. Only a small portion of the money is spent on basic maintenance and a few other little expenses.
  8. Protection: One of the best aspects of cloud computing is security. It takes a snapshot of the data so that it is not lost if one of the servers fails. The data is saved on storage devices that cannot be hacked or accessed by unauthorized individuals. The storage service is efficient and trustworthy.
  9. Pay as you go: In cloud computing, the user has to pay only for the service or the space they have utilized. There is no hidden or extra charge which is to be paid. The service is economical and most of the time some space is allotted for free.
  10. Measured Service: Cloud Computing resources are used to monitor and the company uses them for recording. This resource utilization is analyzed by supporting charge-per-use capabilities. This means that the resource usages which can be either virtual server instances that are running in the cloud are getting monitored measured and reported by the service provider. The model pay as you go is variable based on the actual consumption of the manufacturing organization.

AWS

AWS stands for Amazon Web Services. It is an Amazon service that leverages a distributed IT architecture to make various IT resources available on demand. Infrastructure as a service (IaaS), platform as a service (PaaS), and packaged software as a service are some of the services it offers (SaaS). Amazon launched AWS, a cloud computing platform that allows businesses to benefit from dependable IT infrastructure.

It offers various services such as database, storage, computing, content delivery, Relational Database, Simple Email, Simple Queue, and other various functionality to increase the organization’s growth.

Features of AWS

  • Scalable and Elastic: AWS is scalable because it can scale computing resources up or down based on the needs of the organization.
  • Cost-efficient: AWS is cost-effective since it operates on a pay-as-you-go basis.
  • Storage: It offers a variety of storage possibilities.
  • Security: It provides infrastructure security, data encryption, monitoring and logging, identity and access management, penetration testing, and DDoS attacks, among other security services. It ensures Confidentiality, Integrity, and availability of users’ data.
  • Automation: AWS assists you in using automation to build more quickly and efficiently. You may automate manual operations and procedures including deployments, development and test workflows, container management, and configuration management using AWS services.
  • Programming: Each service can be accessed through the AWS Command Line Interface, APIs, and SDKs. Declarative AWS CloudFormation templates can also be used to model and deploy AWS resources and your complete AWS architecture.

AWS DevOps Tools

AWS offers services to assist you in implementing DevOps in your firm. These tools can be divided into several divisions based on their function.

1. CI/CD

AWS CodePipeline

AWS CodePipeline is a continuous delivery service that lets you model, visualize, and automate the processes in the software release process. Building code, deploying to pre-production environments, testing your application, and pushing it to production can all be done with AWS CodePipeline. Every time there is a code change, AWS CodePipeline builds, tests, and deploys your application according to the configured workflow.

AWS CodeBuild

AWS CodeBuild is a fully managed continuous integration service that compiles source code, runs tests, and generates ready-to-deploy software packages. You would have to provision, manage, and scale your own build servers as a developer. CodeBuild scales indefinitely and can handle several builds at once. CodeBuild provides a number of pre-configured environments for Microsoft Windows and Linux. Customers can also use Docker containers to transport their customized build environments.

AWS CodeDeploy

AWS CodeDeploy is a fully managed software deployment tool that automates program deployments to AWS Elastic Compute Cloud (Amazon EC2), AWS Fargate, AWS Lambda, and your on-premises systems. AWS CodeDeploy makes it easier to quickly deliver new features, reduce downtime during application deployment, and manage the complexity of application updates.

AWS CodeStar

You may use AWS CodeStar to develop, build, and deploy applications on AWS rapidly. AWS CodeStar is a unified user interface that allows you to manage all of your software development tasks in one place. You can build up your full continuous delivery toolchain in minutes with AWS CodeStar, allowing you to start releasing code sooner.

2. Microservices

ECS

Amazon Elastic Container Service (Amazon ECS) is a fully managed container orchestration service that makes deploying, managing, and scaling containerized applications simple. It’s tightly integrated with the rest of the AWS platform, making it a safe and simple way to execute container workloads in the cloud.

AWS Lambda

AWS Lambda is a serverless compute service that allows you to run code without having to provision or manage servers, create workload-aware cluster scaling logic, manage event integrations, or manage runtimes. You can run code for nearly any form of application or backend service with Lambda, and you don’t have to worry about administration. Simply upload your code as a ZIP file or container image, and Lambda will assign compute execution power and run your code based on the incoming request or event, at any scale.

3. Infrastructure as Code (IaC)

AWS CloudFormation

AWS CloudFormation is a solution that allows developers to create AWS resources in a consistent and orderly manner. Text files in the JavaScript Object Notation (JSON) or Yet Another Markup Language (YAML) format are used to store resources. The templates have a unique syntax and structure that is dependent on the resources being created and managed.

AWS OpsWorks

Chef, an automation platform that treats server configurations as code, is used by AWS OpsWorks, a configuration management service. Chef is used by OpsWorks to automate the configuration, deployment, and management of servers across your Amazon Elastic Computing Cloud (Amazon EC2) instances and on-premises compute environments. AWS OpsWorks for Chef Automate and AWS OpsWorks Stacks are the two products offered by OpsWorks.

AWS Systems Manager

It is a management solution that automates the collection of software inventory, the application of operating system patches, the creation of system images, and the configuration of Windows and Linux operating systems. These features assist you in defining and tracking system configurations, preventing drift, and ensuring software compliance in both EC2 and on-premises environments.

AWS Config

It is a fully managed service that provides you with an AWS resource inventory, configuration history, and configuration change notifications to enable security and governance. Config Rules enable you to create rules that automatically check the configuration of AWS resources recorded by AWS Config.

4. Monitoring & Logging

CloudWatch

Amazon CloudWatch collects data from AWS services including Amazon EC2 instances, Amazon EBS volumes, and Amazon RDS DB instances automatically. These metrics can then be aggregated into dashboards and alarms, or events can be built to trigger events or conduct Auto Scaling actions based on them.

AWS X-Ray

AWS X-Ray helps developers analyze and debug production, and distributed applications, such as those built using a microservices architecture. With X-Ray, you can understand how your application and its underlying services are performing to identify and troubleshoot the root cause of performance issues and errors.

AWS CloudTrail

It’s critical to understand who is making changes to your infrastructure in order to adopt the DevOps concepts of cooperation, communication, and transparency. The AWS CloudTrail service provides this transparency in AWS. All AWS interactions are handled through AWS API calls, which AWS CloudTrail monitors and logs. All log files generated are saved in an Amazon S3 bucket that you specify.

5. Version Control System (VCS)

AWS CodeCommit

It is a fully-managed version control service that makes it easy for companies to host secure and highly scalable private Git repositories. You can use CodeCommit to securely store anything from source code to binaries, and it works seamlessly with your existing Git tools.