“I don’t need a hard disk in my computer if I can get to the server faster… carrying around these non-connected computers is byzantine by comparison.” ~ Steve Jobs, Co-founder, CEO and Chairman of Apple Inc.
What true words said by the great technophile himself.
Today where we have laptops, mobile phones and other devices everywhere which are mobile in nature, the existence of local storage does not go hand in hand. Hence the need for cloud technology arose, where cheap, anywhere and anytime concept-based data is available. Your data travels with you wherever you go.
Before we start learning AWS let us have some understanding about what Cloud and Cloud Computing means.
Cloud in technology can be explained in simple terms as a collection of servers around the globe connected with a common network and each serving its purpose. It is not anything that has a physical boundary, but a large collection of remote machines connected. They are used for many different needs like storing data, deploying applications, running mails and video. The difference here is that this data being accessed is not on a physical machine rather is accessed from a distant machine that is connected to your device using the internet. We have different cloud providers available in the market namely: AWS, Microsoft Azure, Google GCP, IBM cloud services, Rackspace and many more but, we will talk about AWS here.
The Cloud is further classified into 4 different types:
1) Public- Here all the services and resources are shared over the internet and are accessible to all the public. Example: Gmail, Facebook
2) Private – Here all the services and resources are shared over an internal network and are not accessible for the general public. Example: Website of a School having student personal data, Bank internal records portal. These are set up internal on the premises.
3) Hybrid – Here all the services and resources are shared between public and private clouds. Data that can be shared with the public are part of the public cloud and the secure data is kept in a private cloud.
4) Community – Here data is kept secretly shared among government institutions.
Cloud computing can be described as the service where we deliver the cloud-based services to the end-users like server space, application setup, database setup, load balancers, and firewall, etc. The best part of having these cloud-based services is the cost-saving because one has to pay for only the time the services are being used by the cloud provider. After that, the services and resources can be returned to the cloud provider.
Cloud computing has led to a change in the way enterprises use to think about the working of IT services. Below are the reasons why enterprises are now moving towards cloud computing.
Security- With the use of cloud services comes a large set of procedures, ACLs, firewalls and other technologies offered by the cloud provider to its customers, to trust with their data and other content which is stored over the cloud.
Performance – Cloud providers are committed to providing their users with the latest technologies, hence keeping their servers up to date with the latest hardware, software and security patches. This leads to an increase in the performance of a routine running customer application over the cloud. These kinds of regular and latest updates are sometimes not feasible over the data centers.
Reliable – Data over the cloud is kept safe as cloud computing makes data backup, with different data backups, disaster recovery, and other similar services and that too mirrored over different regions around the globe.
Speed – Where most data centre needs time to procure large hardware resources based on random needs, a cloud provider can do the same in minutes and that too as a self-service for customers. End-user can scale down or scale up to large sets of servers or similar resources in a few minutes at their ease, thus saving a lot of time wasted in the procurement process.
Cost – Cost of buying the hardware and other software can be saved as the cloud provider is responsible for providing the same till the user is using its cloud services and is returned when the user wants so. It does not charge for the kept over hardware as it is in the data centre.
Globalization – The services provided by the cloud provider are not bound to a geographical location and are spread across the globe.
Increase in Productivity – Data centers require a lot of time-consuming activities like hardware racking and software patching, but in the cloud, all these are taken care of by the cloud provider.
Cloud computing services can be further classified into various sub-services namely Infrastructure as a service (IaaS), Platform as a service (PaaS), serverless, Software as a service (SaaS), Database as a Service (DaaS) and monitoring as a Service (MaaS).
These services are commonly bound together and also bought together as they all go hand in hand.
Infrastructure as a service (IaaS)
This is the most commonly used cloud computing service.
In IaaS, we purchase the infrastructure from the cloud provider as per our needs. It includes servers, virtual machines, OS (operating systems), network services, etc. These services are paid for till the time we use them as when we stop using these services, we stop paying to the cloud provider. This is called a pay-as-you-go model.
With this service, we get features like scaling up and scaling down of the infrastructure as per our demand. It frees us from the hassle of buying our hardware or maintaining the data center.
Platform as a Service (PaaS)
In PaaS, we can get an on-demand space/platform from the cloud provider as per our business requirements like development, testing, and deployment. Here we can ask for a suitable platform for building our applications or writing code and not worry about what hardware or infrastructure it is running.
It is used to support the complete SDLC (Software Development Life Cycle): building, testing, deploying, managing and updating.
It saves us from the cost and hassle of purchasing licenses for paid software, middleware or any platform where we need containers like Kubernetes. We need to take care of the software we are developing, and the rest is taken care of by the cloud provider.
Software as a Service (SaaS)
In SaaS, we get the software we want to use as a service by the cloud provider.
Here the complete responsibility of the software management is taken care of by the cloud provider like maintenance, software upgrade, etc. The end-user just needs to connect to the software using his credentials and use it as per his /her needs.
Examples include Salesforce, Dropbox, Gmail, Yahoo.
Database as a Service (DaaS)
Here we can use a pre-installed database provided by the cloud provider and there is no need for us to maintain the hardware. We are provided a portal where we can choose the specific database as per our requirement and set up our database. All the DBA (Database Administration tasks) are taken care of by the cloud provider.
Example: Microsoft Azure, Simple DB, RDS, DynamoDB.
Monitoring as a Service (MaaS)
Here, we get a monitoring solution that is hosted in the cloud. The cloud provider provides us with the relevant underlying hardware, software and the support team for monitoring our applications hosted in the cloud. We just need to pay for the monitoring service we want to use. We will be provided a portal where we can log in and monitor our applications either on the web or mobile. As this is a cloud-based service this is available all round the year and has no downtime.
We can monitor all our services be it hardware, database, network or application health on the readily available dashboards. We can even customize these tools as per our needs and different metrics from time to time.
In today’s competitive world we can't afford our application to be down for a fraction of time hence MaaS is also responsible for notifying us in time if such an outage occurs and this can be done via emails or SMS.
Here the developers can upload or run their code and they don’t have to worry about the underlying hardware or resources where the code is running. Developers only have to pay for the transactions their code is doing and nothing else. Examples: AWS Lambda, Google Cloud Functions, and Azure Functions.
Other sets of services provided by cloud providers include:
Big data services like Google Big-Query and Azure Data Lake
Advanced cloud services like artificial intelligence (AI) and machine learning. Amazon Machine Learning, Amazon Lex, Amazon Polly, Google Cloud Machine Learning Engine and Google Cloud Speech API are examples of these services.
Today we learned some great stuff about the cloud, like:
Hopefully, this sets a base for further learning and deep-diving into the world of AWS. Happy Learning ...
A DevOps Engineer by profession and a Technical Blogger by passion. I love to learn anything about DevOps and Cloud computing and at the same time share the knowledge among those who are willing to learn and share the same passion with me.
MS SQL Server
Receive Latest Materials and Offers on AWS Course