Skip to content

Latest commit

 

History

History
159 lines (91 loc) · 4.68 KB

cloud-made-easy.md

File metadata and controls

159 lines (91 loc) · 4.68 KB

What?

Do you think Cloud is difficult?

I'm Ranga Karanam. I'm 10X AWS, Azure and Google Cloud Certified. I've helped 1 Million learners start their Cloud (AWS, Azure, Google Cloud), DevOps and Programming journeys. If you understand the fundamentals, learning anything is easy. And the same is the case with the cloud! If you understand cloud fundamentals, learning AWS, Azure and Google Cloud will become easy! Even non-techies (business analysts and testers) can easily understand the cloud! And that's what we are doing in this series of videos. Our goal is to create a video every week helping your learn the cloud.

  • Cloud is NOT restricted to techies. Business Analysts, Testers, Sales Teams and Leadership need to understand the cloud.
  • Series of weekly videos. Do not forget to subscribe!

Why Cloud?

Let's consider a couple of example use cases.

Usecase 1: Let's start with a online shopping application.

What is the challenge that an online shopping application faces?

Online shopping applications typically have peak usage during holidays and weekends. For example, during the Christmas period and the New Year period, you would have a lot of load on the application and rest of the time you will have low loads on the application.

What was the solution before the cloud? The solution before the cloud was to do peak load provisioning. Buy infrastructure for peak load. Think about this: What would that infrastructure be doing in periods of low load? It would be sitting idle.

Usecase 2: Take a start-up.

Imagine a scenario: startup suddenly becomes popular. How do you handle the sudden increase in the load?

What was the solution before the cloud? Procure infrastructure assuming that you would be successful. What if startup is not successful? All the infrastructure bought is wasted.

Typical challenges before the emergence of cloud are

  1. High cost of procuring infrastructure
  2. Needs ahead of time planning (Can you really guess the future?)
  3. Low infrastructure utilization
  4. Needs a dedicated infrastructure maintenance team to maintain the infrastructure

Think about a start-up. Can they afford a dedicated infrastructure maintenance team?

Whenever we use the cloud, we are talking about a simple question: How about provisioning or renting resources when we want them and releasing them back to the cloud when you do not need them?

This is also called on-demand resource provisioning.

If you have high load on your application, if you have huge number of users using the application, you'll provision or you will rent a lot of resources from the cloud.

And once the load goes down, once the number of users on your application goes down, you'll release the resources back to the cloud.

This is also called elasticity.

What are the advantages of this approach?

  1. You're trading capital expense for variable expense. Instead of investing money ahead of time, you are paying rent.
  2. You can benefit from the massive economies of scale. Each of the popular cloud providers have millions of servers and therefore they can get the best deals from the hardware providers. And because the cloud space is very competitive, the cloud providers pass on that advantage to their customers, that's us.
  3. You don't really need to guess capacity anymore. If the number of users increase, you can provision more servers. If the number of users goes down, you can release them back to the cloud.
  4. You can go global in minutes. Imagine a start-up in India. They can easily deploy an application to multiple regions around the world with a click of a button and that's what cloud enables.
  • CapEx vs OpEx

Regions and AZs

Virtual Machines

IaaS vs PaaS vs SaaS

Containers

Serverless

Compute Services

How to learn cloud?

  • Hands-on
  • Certifications

AWS Certifications

  • Roadmap

Azure Certifications

  • Roadmap

Google Cloud Certifications

  • Roadmap

Availability

Scalability

Reliability

Shared Responsibility Model

Databases

Relational Databases

NoSQL Databases

DevOps

Continuous Integration

Infrastructure as Code

Configuration Management

Deployment Automation

  • Release Approaches

Microservices

Spring Boot

Kubernetes

  • ECS

Queues

Analytics Databases

  • Datawarehousing
  • Data lakes

Data Lifecycle

Hadoop

Spark

Machine Learning

Observability

  • Monitoring (Metrics)
  • Logs
  • Traces

Block and File Storage

Object Storage

Pricing

  • Pricing Calculator

Networking

Security

KMS

Secrets

API Management

Migration

  • Digital Transformation
  • Google Cloud Adoption Framework

Compliance

Architecting Solutions

Well Architected Framework

  • Google Cloud Architecture Framework