For those new to this topic, I'll cover some fundamental concepts and IT terminology before I move forward with Cloud Computing content. If you're eager to dive right into Cloud Computing, you can skip ahead.
Client-Server Communication
So, how do websites work? They operate on something known as the client-server model, which explains the communication between two computing entities over a network. These entities are the client (a computer application, like a web browser) and the server. The client requests a resource or service from the server to retrieve and display content.
Computer photo credit
|
server photo credit
As mentioned earlier, communication between the client and server relies on a network. To establish this connection, both the client and server require IP addresses.
Common IT terminology
Server: A server represents a computer system or software designed to offer specific capabilities to various applications or devices, commonly referred to as "clients". Example: Amazon Elastic Compute Cloud (Amazon EC2) - a type of virtual server.
Network: Computer networking refers to interconnected computing devices that can exchange data and share resources. These networked devices use a system of rules, called communications protocols, to transmit information over physical or wireless technologies.
IP Address: An IP address is a unique numerical identifier for devices and networks connecting to the internet. It serves a dual purpose by acting as a unique identifier for network interfaces and allowing the pinpointing of device locations.
What is the server composed of?
Hardware: Servers are made up of several different components and subcomponents. Power supply, a system board, one or more CPUs (central processing unit(s)), memory (RAM - main memory in a computer), storage (data files) and network (routers, switches, DNS server).
Operating systems: Another integral element is the server's operating system, like Windows Server or Linux. This operating system facilitates applications in accessing the necessary hardware resources and establishing network connections.
Cloud computing
Cloud computing is the on-demand delivery of computing power, databases, storage, applications, and other IT resources through a cloud services platform via the Internet, with pay-as-you-go pricing.
The computing resources available for a specific task are referred to as computing power. In this context, 'compute power' refers to the computational capabilities or processing capacity provided by cloud computing services. It includes the ability to perform tasks like data processing, running applications, and executing computing operations in the cloud without the need for on-site hardware or infrastructure.
How was IT infrastructure done traditionally?
In a traditional IT setup, companies and organizations hosted and maintained hardware in their own data centers, often allocating entire infrastructure departments to take care of their data centers. This resulted in costly operations that made some workloads and experimentation impossible. In addition to the initial equipment costs, you will also need to allocate funds for an infrastructure management team to oversee its health, address issues, and perform regular diagnostics and upgrades. And let's not forget that this infrastructure demands a significant amount of physical space at the deployment site, along with substantial power requirements.
Cloud computing emerged to solve this problem. If you run your application in the cloud, you can replicate an entire production environment, as often as needed, in a matter of minutes or even seconds.
Cloud computing
A cloud services platform offers access to cost-effective, adaptable IT resources that can be utilized for software development and database maintenance. You no longer need to make substantial upfront investments in hardware or invest extensive time in hardware management. You can access the necessary resources and only incur charges for what you use.
Cloud computing is the on-demand delivery (AWS has the resources you need when you need them) of IT resources over the Internet with pay-as-you-go pricing (pay only for what you use).
Instead of buying, owning, and maintaining physical data centers and servers, you can access technology services on an as-needed basis, such as:
Computing power
Storage
Databases
AWS owns and maintains the network-connected hardware required for these services.
Six advantages of cloud computing
The cloud provides developers with greater flexibility and scalability.
The following are advantages:
Pay-as-you-go
Pay only when you use computing resources, and only for how much you use. You only pay for computing resources you consume instead of investing heavily in data centers and servers before you know how you’re going to use them.
Benefit from massive economies of scale
AWS aggregates usage from hundreds of thousands of customers in the cloud, which leads to higher economies of scale. This results in lower pay-as-you-go prices.
Stop guessing capacity
You can access as much or as little capacity as you need, and scale up and down as required in a matter of minutes, this way you avoid ending up either sitting on expensive idle resources or dealing with limited capacity. You don’t have to over-provision resources upfront. You can scale these resources up or down to instantly grow and shrink capacity as your business needs change.
Increase speed and agility
You can make resources available to your developers from weeks to minutes. The cloud gives you easy access to a broad range of technologies so that you can innovate faster and build nearly anything that you can imagine. The cost and time it takes to experiment and develop is significantly lower.
Realize cost savings
Companies can focus on projects instead of maintaining data centers (physical infrastructure).
Go global in minutes
Applications can be deployed in multiple AWS Regions around the world. This means you can provide low latency and a better experience for your customers at a minimal cost. AWS has infrastructure all over the world, so you can deploy your application in multiple physical locations with just a few clicks.
Glossary:
Latency: The delay before a transfer of data begins following an instruction for its transfer. Example: "poor performance due to network latency".
AWS Regions: AWS has the concept of a Region, which is a physical location around the world where AWS clusters data centers.
Deployment Models in Cloud Computing
When selecting a cloud strategy, a company must consider the following:
✅ Required cloud application components (which could be anything from web applications to data storage solutions).
✅ Preferred resource management tools, which help allocate and optimize resources, monitor performance and control costs.
✅ Any legacy IT infrastructure requirements, they must consider whether they need to integrate or migrate some of their legacy systems into the cloud or maintain them alongside cloud services.
Glossary:
Cloud Strategy: The plan or approach a company chooses when adopting cloud services. It involves deciding how the company will use cloud technology to meet its business needs.
The three cloud computing deployment models:
Cloud-based deployment:
Run all parts of the application in the cloud.
Migrate existing applications to the cloud.
Design and build new applications in the cloud.
You can build applications on low-level infrastructure that requires your IT staff to manage them.
You can build applications using higher-level services that reduce the management, architecting, and scaling requirements of the core infrastructure.
3 famous cloud providers that are public:
Microsoft Azure.
Google cloud.
Amazon Web Services.
Cloud resources are owned and operated by a third-party cloud service provider delivered over the Internet.
On-premises deployment (private cloud deployment):
Deploy resources by using virtualization and resource management tools.
Increase resource utilization by using application management and virtualization technologies.
Resources are deployed on-premises using virtualization and resource management tools.
Cloud services are used by a single organization, not exposed to the public so you get your private cloud, your own private data center it’s just managed by someone else.
Complete control over it.
More security for sensitive applications.
Is similar to legacy IT infrastructure.
Hybrid deployment:
Connect cloud-based resources to on-premises infrastructure.
Integrate cloud-based resources with legacy IT applications.
You might want to use this approach if you have legacy applications that are better-maintained on-premises, or if government regulations require your business to keep certain records on-premises.
The company would be able to keep the legacy applications on-premises while benefiting from the data and analytics services that run in the cloud.
It's a mix of private and public cloud.
Keep some servers on-premises and extend some capabilities to the cloud.
Control over sensitive assets in your private infrastructure.
Using a Hybrid Cloud deployment model allows you to benefit from the flexibility, scalability and on-demand storage access while keeping security and performance of your infrastructure.
Types of cloud computing
There are 3 types of cloud computing.
Infrastructure as a Service (IaaS)
Platform as a service (PaaS)
Software as a service (SaaS)
So, that's all for today! I hope you enjoyed this article and found it helpful in your journey to understanding websites, servers, and cloud computing 🙌