Cloud Computing provides IT infrastructure on-demand. Just like us, anyone could start a server, database, security, analytics, and other software applications by simply clicking a few buttons.
Instead of huge upfront time investments into procuring all this infrastructure, one could start coding an app in less than 30 minutes, focus on launching it to the marketplace, and scale it relatively easily. Instead of huge capital investments on servers, databases, and others, one could pay as you go, share the infrastructure costs with several other companies, pay as you go, and launch and scale solutions with speed.
By reducing barriers to entry and unlocking speed, Cloud Computing has changed how startups get started, big companies operate efficiently, and companies can scale from 1 user to billions of users relatively easily.
History of Cloud Computing
The early beginnings of Cloud Computing dates back to 1960s. However, the real visible impact began to take shape in the 2000s. According to a Techcrunch article titled "How AWS came to be?", Amazon was struggling with similar problems discussed in "What is Cloud Computing?". Amazon was launching a merchant.com that would allow retailers like Target to create their own marketplace and sell via Amazon. The initiative ran into an issue as Amazon really didn't plan for an explosive growth oriented future.
Amazon took a pause and re-engineered the platform into APIs or Application Programming Interface. APIs allow different software programs to talk to each other. If architected well, one could write software program once and reuse it. That still didn't help. The issue was later isolated to having to procure servers, networks, storage, and other capabilities. Amazon then took the next step to create the ability for engineers to spin-up these components on demand and quickly start developing their software programs. As Amazon began to mature it internally, it recognized that there is a worldwide need for something like that and launched Amazon Web Services or AWS.
Today, AWS generates $10Bn in revenue quarterly and is an important part of Amazon's offerings. The offering caught many of the competitors like Google and Microsoft flatfooted. This gave AWS an unfair advantage in the marketplace. Today, Google offers Google Cloud, and Microsoft offers Azure both of which are considerable competitors.
More importantly, AWS helped springboard several large startups. Netflix, Dropbox, Pinterest are three public companies that all found their beginnings on AWS. Today you name a startup, they are either on AWS, Google Cloud, or Azure and you pick any large company they are thinking about a cloud strategy.
How Cloud Computing Works?
Cloud is a metaphor for Internet. Companies like Amazon, Google, and Microsoft that have already made substantial investments into technology infrastructure now have created solutions to allow others to use that infrastructure.
Very simply stated, it is a portal that you can login and make choices on number of servers, operating systems, gigabytes of storage, network, and several other services. The portal will then spin off several complicated code behind the scenes to spin-up the request on one of the shared infrastructure and make it available to the requestor. As these platforms have matured they have continued to add services to make things easier for the end-users.
For example, Google via its Firebase allows develop mobile applications with relative ease. It provides the ability to jumpstart the signup screens by securely managing usernames and passwords, launch a database, capture events, and other data required from the user. It also allows you to integrate all that information into another database called BigQuery that is optimized for reporting and analytics. Big Query is what Google uses for its main product called Search. As of March 2020, AWS offers approximately 212 services. Many other software developers such as SalesForce, SAP, Slack, and others have all moved their programs to cloud.
As cloud computing continues to mature, companies are beginning to build powerful software programs that are all deployed via cloud. In the old days, Microsoft shipped its Office program on a compact disk (CD) that someone needed to install on their computers. Users paid for it once and stuck with it until they found a need to upgrade again. Today, via Office 365, people can log into a website and start using it. Microsoft charges a nominal fee monthly, quarterly, or yearly, and continues to update the software frequently so you are always using the latest version.
Key Terms and Definitions
Like with everything, we end up finding ways to create new terms, abbreviations, acronyms, and what not. Cloud Computing is no different. Here are a few key terms that will build your Cloud Computing lingua-franca (a language that is adopted as a common language between speakers whose native languages are different).
Public CloudThe public cloud is defined as computing services offered over the public Internet. Anyone who wants to use a public cloud can simply purchase via a credit card, and configure it as needed. Most startups and companies start via a public cloud.
Private CloudUnlike the public cloud, private cloud is offered via the Internet or via a specific network or to a select user group. This is ideal for large companies or special circumstances. The private cloud is just like the IT department of a company. Instead of buying and deploying servers and other infrastructure, they administer it via the private cloud.
Hybrid CloudHybrid Cloud as the name suggests combines both public and private clouds. Companies can leverage the setup via one common interface and choose when to use private and public cloud based on specific requirements. Like with many things, companies swung the pendulum to public cloud, then to private cloud, and are now seeking to find middle ground with Hybrid Cloud.
Infrastructure as a Service (IAAS) It is also called Hardware as a Service (HAAS) refers to the ability to spin up networks, servers, storage, and other IT computing services on-demand. These services are offered by a provider like Amazon, Google, Microsoft or others for a fee.
Platform as a Service (PAAS) PAAS refers to the ability to configure infrastructure with operating system (OS), server management software, and other components required to build software. For example, installing Linux with a web server, and other software components to start building new software is an example of PAAS.
Software as a Service (SAAS) SAAS refers to the ability to sign up for a software program that is hosted on one of the cloud infrastructures and use it as needed. Microsoft Office 365, Google Suite like Spreadsheets and Documents are all examples of Software Programs offered as a service.
If there are other terms and definitions, please add it via the Discussion Forum and we will continue to update the lesson.
What's Next for you?
The answer to that really depends. If you are in C-Suite i.e. CIO or CDO or CEO, you should look at foundations of AWS, GCP, and Azure so you know have a better understanding of the platforms as well as find ways to implement a cloud strategy.
If you are a fullstack developer, software engineer, programmer, network administrator, or some form of a technology expert, you will soon have to make choices on areas of specialization. You can specialize in AWS, GCP, or Azure by diving deep into various areas of specialization.
If you were just curious about what is Cloud Computing, then we hope this overview helps!
Like this as a podcast? Check it out
Like this and want more in email?