owned this note
owned this note
Published
Linked with GitHub
# Done: Core Infrastructure on GCP Fundamentals - 11 Feb
https://tinyurl.com/infraonboard-11feb & https://hackmd.io/@ajinkyakolhe112/HJp4oXM-_/edit
Slide URL https://drive.google.com/file/d/1fobyvU6Ra7ZpG-BaHy8lL7jbdTCpRow4/view?usp=sharing. Download before Sunday
## Resources & Notes
- https://cloudwars.co/cloud-wars-top-10-vendors-world/
- http://comparecloud.in/
- https://go.acloudguru.com/rs/194-UHP-609/images/State_of_Cloud_Learning_Report_A_Cloud_Guru.pdf
- https://cloud.google.com/training#learning-paths
- https://landscape.cncf.io/
- https://cloud.google.com/training/cloud-infrastructure
- Certifications Details https://www.evernote.com/shard/s295/sh/ab8acf7b-98b0-46b3-afbd-3756b46a825e/ffb53c4f70d0fe7fb85f56a9a80bad2f
**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 ability 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.
- Mark I: Repulsor weapon
- Mark 85: Weapons are created automaitcally
**Different ways of Using Cloud**
- IaaS: When infra is provided, we do everything else
- Going to a restaurant and they only providing us kitchen and food material. We have to cook to eat
- Hybrid: Not single cloud dependent. Can be moved between cloud or on prem as well
- Resturant where Cooking counter is present. We have some control over what kind of food get's cooked. But we are not cooking
- We manage kubernetes and kubernetes manages the infrastructure
- PaaS:
- We do nothing. Order food, its cooked by the restaurant people
- Alternative way of Understanding IaaS, PaaS
- On Prem
- Get the Infra & manage it completely
- IaaS
- Use the infra from cloud and maange it completely
- Create compute instance and install sql server on it.
- Install software for product
- CongiurInstall software for product
- Congiure networking & logging. &security & connectivity
- Do checkpoint
- examples in GCP
- Compute Engine
- (Partially) Managed Product (PaaS)
- WHen the product is partially managed by the provider and partially by the user
- Scalable not Autoscale
- Autoscale feature is present, it's done via config file, not native features of the product
- examples in GCP
- Cloud SQL or DataProc or BigTable or
- Fully Managed Product (Serverless or Cloud Native)
- When everything about the product is maanged by the provider
- Is AutoScale
- examples in GCP
- e.g. Big Query service in GCP
- App Engine, Cloud Run , Dataflow or PubSub
- Container First Approach. (Hybrid is part of Contrainer based Approach)
- Instead of OS, think in terms of virtualized (light weight OS. It is not a complete OS, it transferes all the work to the host os) called as Container
- https://www.youtube.com/watch?v=4ht22ReBjno | The Illustrated Children's Guide to Kubernetes - YouTube
- https://www.youtube.com/watch?v=R9-SOzep73w | A Kubernetes story: Phippy goes to the zoo - YouTube
- https://www.katacoda.com/courses/kubernetes | Learn Kubernetes using Interactive Browser-Based Labs | Katacoda
- Check below for extra
- 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/
**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
GCP Resources
1. https://github.com/gregsramblings/google-cloud-4-words
2. https://cloud.google.com/docs/tutorials
3. https://thecloudgirl.dev/index.html
4. www.gcpweekly.com
5. Free GCP access but use before 28th Feb: https://inthecloud.withgoogle.com/google-cloud-skills/register.html
Details of all cloud products: https://dynalist.io/d/fBmbDZD2dT2VXnq2OtHW8w7G#collapse&theme=default
GCP vs Azure vs AWS: https://www.evernote.com/shard/s295/sh/ffc463f1-c8dc-8b56-8fc7-c5f428530bdf/4eb2c6dcb6c9a2e46526f3adc901c882
**Decision Tree of What to Learn**
1. Cloud
2. AWS or GCP or Azure
- Choose either GCP or Azure
- Azure for using UI based tools.
- GCP better for ML & Scale
2. Data Science
- Data Science Role vs Data Scientst Role
- Oversupply of Data Scientists
- Less Supply of other roles in Data Science like Data Analyst or Data Engineer
- Other roles need Cloud Computing knowledge
- Reccomendation: Learn the cloud stuff related to the current job
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
2. Big Table
- NOSQL DB
- Scale (horizontal)
- (Partially) Managed
3. SQL
- SQL DB
- Scale (vertical)
- (Partially) Managed
4. Spanner
- SQL DB
- Scale (horizontal)
- (Partially) Managed
5. DataStore
- NoSQL DB
- Autoscale (horitzontal)
- Fully Managed
### Compute Products (https://cloud.google.com/products/compute)
1. App Engine
2. Two Types of App Engine
- App Engine Standard
- Auto Scale
- Fully Managed
- From zero to full deployment takes less than a few seconds
- App Engine Flexible (With great power comes great responsibilty.`Similarly` With great power comes great latency for cloud)
- Auto Scale
- Fully Managed but with more features, hence slower than app engine standard
- More features but slower because of them
- From zero to full deployment takes around 5 minutes
9. Not as snappy and quick to scale as App Engine Standard
3. Compute Engine
- Infrastructure as a Service
5. Kubernetes Engine
- Kubernetes decides where & how many Docker Container App
e.g. when installing an app in normal scenario, we need to downlaod the app specific to the OS version e.g. browse specific to windows 8, windows 10 or windows server 2007, 64 bit or 32 bit. But with container, an application can be run on any OS irrespective of what its version. Application will work on all the OS and versions.
6. Cloud Run (knative)
- Fully managed, Serverless, Autoscale for running Containers
8. Cloud Functions
- Light weight temp event processingevent processing
**All components of Application Development**
- Coding using Libraries
- Databases with the Application
- Databases have changed with Cloud
- Different types of Databases
- SQL, NoSQL, NewSQL
- Different types of Databases for Batch vs Streaming Data
- Compute Infrastructure. Place where the Code is going to Run
- Dependancies related to Code
- When we containerize the Code, container is (Code + Dependencies + Mini OS for the Code)
- Version Control
- Continuous Integration
- Build & Merge of code automatically
- CircleCI
- Continuous Deployment
- Run the built code automatically on the Infra
- Terraform
- Infrastructure Creation Tools
- Create infrastructure to run the code
- eg deployment manager
- Don't need in Serverless Products
- Configuration Management on Infrastructure
- Configure the created infrastructure so that code can be run
- API
- Creation of API
- Secure the API
- Track API Usage
- Business Intelligence
- Data Processing / ETL
- Data Visualization or Dashboarding
- Data Anlaysis via Data warehouse
- Data Sciene: Take BI even further
- Instead of just visualizing data, use it to take actions automatically
- Logging
### Oreilly Subscription Details
Get Oreilly Membership via ACM. (Orielly is 60$ per month, where as ACM professional membership for Developing country is just 1$ per month)
- https://go.oreilly.com/acm
- https://services.acm.org/public/qj/proflevel/countryListing.cfm?promo=PWEBTOP&form_type=Professional
https://hackernoon.com/the-ai-hierarchy-of-needs-18f111fcc007
https://ajinkyakolhe.com/learn-ml
https://ajinkyakolhe.com/learn-dl
## Questions
- Whats speciality of Google Cloud?
- ML, Scale, Networking
- How to visualize cloud like DataCenter? Do you any physical diagram?
- https://gcp.solutions/
- https://www.lucidchart.com/blog/why-visualize-your-cloud-infrastructure
- Is there physical devices in clouds? if yes, what those are?
- All cloud provider's data center have physical devices. Cloud computing platform is simply an abstraction on those
- What is the technical example of Serverless?
- Google Photos when it has free infinite storage for images. It's an example of Serverless implementation of Storage
- What kind of DB it require or provides for Serverless?
- DataStore is serverless Database.
- Can you please explain more on Cloud Native?
- Cloud Native is nothing about Fully Managaged / Serverless Products
- Could you please explain hybrid cloud with example?
- Check Anthos. Once you architect solution with Kubernetes, you can run it on any cloud without any code change
- Why not AWS?
- All cloud provider do the same things, but in different ways. Each has some areas where it's stronger over rest. But they are all good.
- Why Serverless is better
- Reduced developer effort required for maintaince
- Would the same Resource hierarchy also be applicable for billing?
- No. Billing goes only to billing account
- While doing any scale up or down, does it require any down time for vm?
- It needs restart if we are doing it for VM. But when we are scaling horizontially via cluster or instance gorups, there is no downtime.
- With Instance group, assuming we want to create a new instance when cpu ustilisation > 60%, will the new instance be mapped to the storage of the first instance with auto-scaling?
- Is manual reduction of disk is possible? Also is CPU/memory auto scalable up and down?
- What about compute VM being managed by Managed Instance Group (with the help of Instance Template) with a configuration saying it should autoscale everytime the memory goes beyond 60%? Will it still be called IaaS?
- What are the cases to use bigtable vs sql vs spanner??
- Do we have object storage in GCP?
- How SQL Storage is partially Managed. Can you explain it?
- For VMs the space allocated to them is fixed. is the same with containers?
- can you explain serverless achitecture? where is the app deployed?