Friday, December 31, 2021

☁☁ My Terraform labs 2021– Cloud recap ☁☁

This image has an empty alt attribute; its file name is image-10.png

Intro

The first time I had seen a glimpse of this Infrastructure as Code artifact in 2018 (presented by Roopesh Ramklass at our TOUG meetup), I found the it ugly as hell and sworn to never touch it (probably confused it with Json ;)).

Today I am happy to admit that I was totally wrong and it was stupid of me to judge it by it’s cover . Terraform is written in Go but you don’t need to know it to understand how to run it. It is purely declarative and HashiCorp made it so easy to understand by centralizing the documentation for each cloud provider in their Terraform Registry that you probably don’t need to read  much to run your first  demo.    
 
Right after my Oracle Cloud operation associate exam, my interest started to spike. It was bumpy at times but worth the bother as there is so much to learn. That’s why I started the terraform for dummies series where I wanted to deploy a static website in any cloud provider there was. The dummy in question was me in case you didn’t figure :).

Although my journey has just started, It’s always good to summarize what we have achieved up till now. Which is the purpose of this article.

Cloud deployments

So if you want to learn how to provision with Terraform  in all  4 cloud providers !!!
Below are simple deployments of a static website n (Including Github repos )

✅ Terraform for dummies Part 1 OCI

Blog  https://bit.ly/3Ia3lqr      

GitHub Repo:
https://github.com/brokedba/terraform-examples/tree/master/terraform-provider-oci


✅ Terraform for dummies Part 2 AWS 

Blog https://bit.ly/3D7vSJM  

GitHub Repo:
https://github.com/brokedba/terraform-examples/tree/master/terraform-provider-aws


✅ Terraform for dummies Part 3 Azure

Blog https://bit.ly/3n6J2AK  

GitHub Repo :
https://github.com/brokedba/terraform-examples/tree/master/terraform-provider-azure


✅ Terraform for dummies Part 4 GCP 

Blog https://bit.ly/3pCch14    

GitHub Repo:
https://github.com/brokedba/terraform-examples/tree/master/terraform-provider-gcp



On-Premises deployments

✅ Terraform for dummies Part 5: Libvirt (KVM)

Blog   https://bit.ly/3mA0azh


Master GitHub Repo for all above labs:

Repository: https://lnkd.in/gzrJ6MP6


Terraform tips


✅  Nested variable substitution using maps and locals

     Blog   https://bit.ly/3mA0azh


What’s Next

Probably a terraform associate certification as I slacked a bit lately and another deployment on ALICLOUD

Compare OCI, AWS, Azure, GCP application services


Intro

Common trend for cloud providers is to compare their services/offers with AWS (even AWS itself does it when releasing new features). But it seems that the top 3 reached a sort of agreement where they only acknowledge their respective direct competition & dismiss any player outside this oligopoly. Oracle Cloud or AliCloud being more than underdogs deserve a bit more respect when comparing options available out there in the Cloud. That’s why I decided to extend an application services comparison to Oracle Cloud so we can have a broader view of what each one offers today.

Why compare application platforms

There are so many ways of designing, building and deploying an application in the cloud nowadays. Whether it’s  cloud native like docker container services,K8, and Faas or just shift and lift migrations. I almost feel bad for the software developers because it’s way too many options that can generate a huge tech debt. Instead of asking which fancy technology to use next, the real question is which one fits company’s requirements.
today, I chose to Zoom in on the app services which are here to ease the life of dev teams .

What’s in the comparison

  •  I took the full list of services from gcp service comparison page and selected the ones related to apps
  • Then tried to cross reference the tools and services with what’s available in Oracle Cloud (OCI)
  • This might need updates in the future but it’s a good start

The below table can help visualize which service is available and its equivalent in each of the 4 major Cloud providers.

Enjoy !




This image has an empty alt attribute; its file name is image-8.png


Text version 

Compare OCI, AWS, Azure, Google Cloud app services

Service type

Description

GCP Offering

AWS Offering

Azure Offering

Oracle Cloud Offering

PaaS

Build highly scalable applications on a fully managed serverless platform.

App Engine

AWS Elastic Beanstalk

Azure App Service

Oracle Application Container Cloud Service, Java Cloud Service

Containers without infrastructure

Develop deploy scalable containerized apps on a fully managed serverless platform.

Cloud Run

AWS Fargate, AWS Lambda, AWS App Runner

Azure Container Instances

Oracle Application Container Cloud Service

Multi-cloud

app platform that extends GCP to on-prem or other cloud assets so you can modernize applications faster and keep consistency

Anthos

AWS Outposts

App Modernization with Microsoft Azure, Azure Arc

Oracle Exadata Cloud@Customer, Oracle Roving Edge Infrastructure

CI/CD

Build, test, deploy on GCP serverless CI/CD platform

Cloud Build

AWS CodeBuild, AWS CodeDeploy, AWS CodePipeline

Azure DevOps, GitHub Enterprise

OCI Devops , Oracle Visual Builder Studio

FaaS (function as a Service)

Run code on scalable serverless platform (Pay Per 100ms)

Cloud Functions

AWS Lambda

Azure Functions Serverless Compute

Oracle Functions

Containers orchestration

managed Kubernetes service

Google Kubernetes Engine (GKE)

Elastic Kubernetes Service (EKS)

Azure Kubernetes Service

OKE



Conclusion

Although having a lot of choice is generally good, it is important for developers and practitioners how every product compares to the competition including Top 5 players. Especially when the company has already adopted the Multi-cloud strategy . Hope this small table helped.  

Thanks for reading