Cloud computing metaphor: the group of networked elements providing services need not be individually addressed or managed by users; instead, the entire provider-managed suite of hardware and software can be thought of as an amorphous cloud.
Cloud computing is an information technology (IT) paradigm that enables ubiquitous access to shared pools of configurable system resources and higher-level services that can be rapidly provisioned with minimal management effort, often over the Internet. Cloud computing relies on sharing of resources to achieve coherence and economies of scale, similar to a public utility.
Three main ways to cloud compute are(service models)
- IaaS — Infrastructure as a service eg GCP, AWS, Azure,rackspace.com
- PaaS — Platform as a service eg App-engine, Force.com, Azure
- SaaS — Software as a Service eg Gmail, GDrive, Salesforce, Dropbox,Office 365
There are three ways to deploy cloud(cloud deployment models)
- Private cloud
- Public cloud
- Hybrid cloud
Infrastructure management and automation is a very hot topic in the context of cloud automation today. I have not used terraform earlier so, I will be learning as well as writing important points to be noted while working with terraform. We will go from basics to server implementations using terraform.
You can check the dynamics of DevOps from the picture below:
Infrastructure as a code(IaC) is a process of managing and provisioning mechanism for authenticating, planning and implementing servers and data centers in the cloud and private network through machine readable and understandable configuration files rather than physically configuring the hardware. Many infrastructures including bare metal servers and virtual servers can be configured through this method.
We can use either scripts or declarative definitions for defining the infrastructure. We can also use a version control system to manage the version of the infrastructure files that we develop during the time span.
There are two approaches to IaC implementation called push and pull approach. In a push approach, the configurations are pushed to the target system and in pull approach configurations are pulled from the configuration server.
DevOps consists of various stages before any software implementation is ready. Learn the different stages on this blog post.
Written by Prashanta Paudel
Originally posted in medium.com