owned this note
owned this note
Published
Linked with GitHub
# Done: Core Infrastructure GCP Fundamentals - 11 Mar 2021
> This Document: https://tinyurl.com/gcp-infra-11mar21 or https://hackmd.io/yBKHwsqzSKCOfNhRF2SWwg?both
>
> Slides: https://1drv.ms/p/s!Aq6hYeVV5o6Dh4Ais20OweiybJFoHg?e=lpI4IL & https://is.gd/jeravi
---
## Module 1: Intro to GCP
- https://cloudwars.co/cloud-wars-top-10-vendors-world/
- https://cloudwars.co/special-report-2020/
- Online copies of the the course today
- https://www.coursera.org/learn/gcp-fundamentals ((Audit the course then you can do it for free))
- https://cloudonair.withgoogle.com/events/apac-gcp-fundamentals-series
- Check the learning paths: https://cloud.google.com/training#learning-paths
- https://www.gcpweekly.com/gcp-resources/
- https://github.com/gregsramblings/google-cloud-4-words
OnPrem vs Cloud vs Serverless Cloud
- OnPrem - User configured, user managed and user maintained
- Cloud - User configured, provider managed and provider maintained
- Different Ways of Using Cloud
- (on prem is user bought, user configured & user maintained)
- Infrastructure as a Service: User configured, user maintained & Provider provided
- Platform as a Service / Managed Product: User configured, provider managed & maintained but partial work still is needed by user
- Fully Managed / Serverless: Everything is done by the provider. User just codes
- Example restaurant
- IaaS: You cook in the restaurant.
- PaaS: Buffet self service
- Serverless: Waiter serves you prepared food
- https://www.episerver.com/articles/pizza-as-a-service & https://www.bmc.com/blogs/saas-vs-paas-vs-iaas-whats-the-difference-and-how-to-choose/
- Serverless Cloud - Fully automated and no configuration required
Types of Jobs on Cloud
1. **Migration**. We move the codebase’s place of execution from on prem to on cloud
- Google Cloud has partner ecosystem and patterns are heavily involved in migration.
- Many of the technical guides related to migration: Find them here https://cloud.google.com/docs/tutorials
2. **Cloud Native Development** or **New application**: Generally startups do this or MNCs for a new application
3. Feature Addition on prexisting cloud env product
4. Maintenance
Evolution to Cloud
1. First On Prem either server or data center
- My Infra, I buy it, I manage it
2. Then On Cloud. (First migration called lift & shift)
- Someone else’s infra
- Renting not Buying. But renting gives flexibility
- House Rent vs Buy?
- Renting gives us abilrity to change
3. Then Cloud Native / Serverless / Fully Managed
- Someone else’s Infra, but completely automatically managed
- Iron Man? Mark I vs Mark 85 in End Game. nano tech.
Migration to Cloud
1. Lift & Shift. Move as is
2. Optimize for Cloud. Tiny rewrite to improve the performance
3. Rewrite for Cloud Native or Restructure for Hybrid cloud via Container
## Module 2: VMs & Storage
**Understanding Scale & Auto Scale**
- Scale:
- Scale means can change either up or down
- it doesn’t change automatically. We have to do it by executing commands or using UI
- e.g. Ant Man is Scale
- e.g. editing Compute engine disk - change it either via UI or CloudShell
- Auto Scale
- It can change automatically without user intervention
- Harry Potter Room of Requirement is AutoScale
- SQL storage
- How do you scale or auto scale?
- Vertical Scaling
- Increased demand is met by increasing the power of the same machine
- Single machine computing
- Horitontal Scaling
- Increased demand is met by increasing the number of machines working together
- Distributed computing
- This is a sustainable way because there is a upper limit to vertical scaling and it’s very expensive to build more powerful machines
**Storage Products**
(https://cloud.google.com/products/storage & https://cloud.google.com/products/databases)
1. Cloud Storage
- File System
- Auto Scale
- Fully Managed
- https://cloud.google.com/storage
2. Bigtable
- NoSQL wide columnar DB
- Scale (horizontal)
- (Partially) Managed
- https://cloud.google.com/bigtable
3. SQL
- SQL DB
- Scale (vertical)
- (Partially) Managed
- https://cloud.google.com/sql
4. Spanner
- New SQL DB
- Scale (horizontal)
- (Partially) Managed
- https://cloud.google.com/spanner
5. DataStore
- NoSQL Document DB
- NoSQL DB, format is key value pair
- Autoscale (horitzontal)
- Fully Managed
- https://cloud.google.com/datastore
6. BigQuery
- Relational SQL
- For OLAP Operations
- https://cloud.google.com/datastore
https://db-engines.com/en/ranking
### Module 3: Containers & Kubernetes
- https://kubernetes.io/case-studies/pinterest/
- https://www.youtube.com/watch?v=z7TIzCAEo0M&ab_channel=CNCF%5BCloudNativeComputingFoundation%5D
- https://medium.com/tinder-engineering/tinders-move-to-kubernetes-cda2a6372f44
### Module 4: Big Data & ML
- Dataproc
- to run Hadoop and Spark/Hive/Pig
- Dataflow
- used for ETL, data analysis, Orchestration, Integrate other GCP services
- used to create pipelines
- BigQuery
- Pub/Sub
- Datalab
AI
1. Custom Model
- You write the code of the model and train it on the Data
- You can use following to write the model
- DataProc
- Tensorflow
- BigQuery ML - SQL based ML
- Looker ML - SQL Based ML
- KubFlow
2. Auto ML
- With helps of UI, we simply create a higher quility model than API.
- Auto ML model is worse than Custom Model and better than API model in accuracy
- But Auto ML model doesn't need as much data as Custom Model. If data is less, custom model is not possible.
3. APIs
- Pre built apis like, Speech to text, ,text to speech, vision, NLP, Translation or Video Analytivcs are present
---
## Questions
- Is there difference between fully managed and serverless.
- No. It's one and the same
- where to find Audit option to see free enrollment in coursera
- For handson experience via google console,provided credit card details for trial version. But in that it mentions that credit card needs to verified by providing some bill copy. Is there a better way to practice lab sessions ?
- How to assign only view permission to a specific machines(VM) & Edit permission to a specific SQL servers within a project?
- Say I have a DB size of 20 TB and more than 200 applications, is it wise to move to cloud?
- Do we need to have working experiance on networking for cloud engineering?
- What is the usecase to select persistant disk for vm?
- I am working in ETL application, where there are different types of source systems which transfer the file to ETL server (unix), and our process also creates and trasnfer files to different target. Is it possible to move such application to cloud? in this case, source and target also needs te be migrated to cloud?
- Containers v/s Hypervisor: Do containers require no installation on host OS? How is it exactly different than a Hypervisor?
- how did you host the flask application and link to the server( eg app.{} the ip ) ? any config needed ?
- Suppose 10 containers/applications running in a vm .Application is dependent on the Host OS.If Host OS crashes ,will the applications be impacted ?
- Stackdriver is enabled by default for all GCP services or this needs to be configured?
- Can you please introduce us to the GCP/Cloud certifications that one can aim for as a beginner to Cloud?
-