The term cloud represents a Network or Internet. The "cloud" is a set of different types of hardware and software that work collectively to deliver many aspects of computing to the enduser as an online service.
Cloud refers to manipulating, configuring, and accessing the hardware and software resources remotely. It offers online data storage, infrastructure, applications, data monitoring and many other services.
You can also join AWS Certification course to get hand on experience on the technology used by biggest corporation in the world.
Cloud offers platform independency, as the software is not required to be installed locally on the PC. Hence, the Cloud Computing is making our business applications mobile and collaborative. It is the use of hardware and software to deliver a service over a network. With cloud computing, users can access files and use applications from any device that can access the Internet.
An example of a Cloud Computing provider is Google's Gmail. Gmail users can access files and applications hosted by Google via the internet from any device.
CLOUD COMPUTING OVERVIEW
Why we need cloud?
Cloud computing is computing based on the internet. Where in the past, people would run applications or programs from software downloaded on a physical computer or server in their building cloud computing allows people access to the same kinds of applications through the internet. Why are so many businesses moving to the cloud? It’s because cloud computing increases efficiency, helps improve cash flow and offers many more benefits. Some benefits are as follows:
1) One can access applications as utilities, over the Internet.
2) One can manipulate and configure the applications online at any time.
3) It does not require to install any software to access or manipulating cloud application.
4) Cloud Computing offers online development and deployment tools, programming runtime environment.
5) Cloud resources are available over the network in a manner that provide platform independent access to any type of clients.
6) Cloud Computing offers on-demand self-service. The resources can be used without interaction with cloud service provider.
7) Cloud Computing is highly cost effective because it operates at high efficiency with optimum utilization. It just requires an Internet connection only.
8) Cloud Computing offers load balancing that makes it more reliable. Because of these reasons we need the cloud computing for the businesses.
How Cloud Works?
Cloud computing is an application-based software infrastructure that stores data on remote servers, which can be accessed through the internet. To understand how cloud computing works, it can be divided into front-end and backend.
The front end is what a user sees and the backend comprises of computers, servers, and systems of storage. The central server administers the system, monitors the traffic, and the client demands. It ensures that everything is running smoothly by following a set of protocols using middleware, software. The central server follows a set of rules called protocols.
What is EC2 in AWS?
Amazon Elastic Compute Cloud (Amazon EC2) is a cloud infrastructure offered under Amazon Web Services (AWS) that provides raw computing resources on demand.
Amazon EC2 provides computing instances that can be scalable in terms of computing power and memory, flexible by providing the option to host applications on multiple different platforms, and secure thanks to a tightly coupled multi-tenant architecture. Amazon EC2 enables the provision of a virtual server, which can incorporate massive amounts of computing power. This is available on a subscription-based utility computing model, and the user is billed only for the resources used.
Amazon EC2 is also known as Amazon Web Services EC2 (AWS EC2).
What is Amazon Elastic Beanstalk?
Elastic Beanstalk is one layer of abstraction away from the EC2 layer. Elastic Beanstalk will setup an "environment" for us that can contain a number of EC2 instances, an optional database, as well as a few other AWS components such as a Elastic Load Balancer, Auto-Scaling Group, Security Group. Then Elastic Beanstalk will manage these items for us whenever we want to update our software running in AWS. Amazon Elastic Beanstalk gives administrators and developers a way to deploy and manage their applications quickly and easily without having to worry about the underlying infrastructure.
How Amazon Elastic Beanstalk Works?
Elastic Beanstalk can quickly deploy and manage web applications in the AWS cloud. It can be used on managed containers that support environments for us such as Java, PHP, Python, .Net, Node.js, Ruby and Docker on familiar servers such as EC2, S3, SNS, ELB, and Auto-scaling. Accessed through the AWS management console, command line interface or API, we just choose a platform and an EC2 instance type ie(t2.micro), we can choose additional services to use such as create RDS DB instances or create inside a VPC, then we just upload our code and Elastic Beanstalk will handle the rest.
What is AWS Lambda?
AWS Lambda is an event-driven computing service that allows the user to create applications and then run the code for those applications on the AWS infrastructure by creating what is called a lambda function. AWS Lambda abstracts server management from users thus enabling them to concentrate on the creation of applications without having to worry about server administration, infrastructure provisioning and scaling.
AWS Lambda is a compute resource that will run code in response to a specific event/events determined by the user for example changes to an s3 bucket or an update to a table on Dynamic database. It can also be used to trigger code in response to HTTP requests by using AWS API Gateway.
AWS Lambda takes care of all the server and Operating System patching and maintenance and also manages capacity, scaling and the automatic provisioning of resources. The service is also linked to AWS CloudWatch which will automatically generate logs based on the events that take place.
Lambda Functions are known stateless which means that they are not dependent on any specific underlying infrastructure configuration and as such can easily scale to meet the needs of incoming events. AWS Lambda could be considered a step towards a server less environment for application developers.