Embracing the Cloud

PM’s Tech Toolkit

Siddarth Kengadaran
The Product Guy
Published in
4 min readMay 13, 2024

--

In Parts 1, 2, and 3, we explored APIs, the messengers of data, and databases, the data storage warehouses. Now, let’s dive into the exciting world of cloud computing! Cloud computing is like renting a storage unit for your data and applications, but instead of a physical unit, you're using a network of remote servers hosted on the internet. These servers store, manage, and process your data, making it accessible anywhere, anytime, without needing a local server or a personal computer.

Photo by Growtika on Unsplash

What is Cloud Computing?

Imagine a vast network of interconnected servers — that’s essentially the cloud. Instead of relying on physical hardware in your office or a data center, cloud computing allows you to access computing resources (servers, storage, databases) over the internet.

Cloud Deployment Models: Choosing the Right Fit

There are three main cloud deployment models, each offering a different level of control and responsibility:

  • Infrastructure as a Service (IaaS): Rent the basic building blocks — servers, storage, networking. You manage the rest (operating systems, applications).
  • Platform as a Service (PaaS): This provides a platform for building and deploying applications. The cloud provider manages the infrastructure and operating system while you focus on the application code.
  • Software as a Service (SaaS): Access ready-made applications over the internet (e.g., email, CRM systems). Little to no management is required on your end.

Popular Cloud Providers:

Several major cloud providers offer a wide range of cloud computing services, including:

  • Amazon Web Services (AWS)
  • Microsoft Azure
  • Google Cloud Platform (GCP)

Key Cloud Services

Cloud providers (like AWS, Azure, and GCP) offer a dizzying array of services. Here’s a breakdown of the essentials PMs should know:

Compute:

  • Virtual Machines (IaaS): Rent virtual servers with customizable specifications (CPU, memory). Think of them as computers in the cloud. It is ideal when you need complete control over the operating system and software.
  • Containerization (PaaS): Package your app and its dependencies into lightweight units (containers) for portability and efficient scaling. Popular tools include Docker and Kubernetes.
  • Serverless Functions (PaaS): Focus purely on your code logic. The cloud provider handles scaling and execution. Great for event-driven tasks or microservices. Example: AWS Lambda.

Storage:

  • Object Storage (IaaS): Store vast amounts of data (files, images, videos). Flexible and scalable. Example: Amazon S3
  • Block Storage (IaaS): High-performance storage resembling traditional hard drives, often attached to virtual machines.
  • Databases-as-a-Service (PaaS): Managed databases in the cloud (relational and NoSQL options). Examples: Amazon RDS, Azure Cosmos DB.

Networking:

  • Virtual Private Cloud (VPC): Create a private, isolated network within the cloud for enhanced security.
  • Content Delivery Network (CDN): Distribute content globally for faster loading times and performance.
  • Load Balancers: Distribute traffic across multiple servers to handle spikes in demand.

Big Data & Analytics:

  • Data Warehousing: Store and analyze massive datasets for insights. Example: Amazon Redshift.
  • Machine Learning (PaaS/SaaS): Build AI-powered features like image recognition or recommendation systems. Examples: Google Cloud AI Platform, AWS SageMaker.

Putting It All Together (Music App Example)

Let’s use our music app to see how these services come into play:

  • Compute: Virtual machines or containers for the API backend, handling song requests and user interactions. Serverless functions could handle tasks like music file uploads.
  • Storage: Object storage (like S3) for storing the vast music library. A database-as-a-service to manage playlists, user data, etc.
  • Networking: A CDN to deliver songs quickly, especially to users around the globe. Load balancers to ensure the app scales to meet demand.
  • Big Data & Analytics: Analyze user behavior and music trends to suggest playlists or improve search features.

How Does Cloud Impact Development?

This means you can develop, test, and deploy your applications more quickly and efficiently, thanks to the on-demand availability of computing resources and the ability to automate many development tasks. Here are some fundamental changes that cloud computing brings to the development process:

  • Continuous Integration and Deployment (CI/CD): Automate testing and deployment processes, enabling faster releases.
  • Microservices Architecture: Break down large applications into smaller, independent services that can be developed and deployed independently.
  • Serverless Computing: Pay only for the code that executes, eliminating server management overhead.

What Should Product Managers Know About Cloud?

  • Make Informed Decisions: Understanding available services helps you choose the right fit for your product’s needs.
  • Cost Optimization: Knowing how services are priced is crucial for managing your cloud budget.
  • Unlock Innovation: Cloud services open up a world of possibilities, enabling features (AI, global distribution) that would be difficult or expensive to build in-house. This potential for innovation should inspire and excite you as a product manager, as it allows you to push the boundaries of what your product can achieve.
  • Security: Cloud security is a shared responsibility. As a product manager, you can work closely with your development team to ensure proper security measures are in place. This shared responsibility should give you confidence and reassurance in the security of your product.

Cloud computing is no longer a trend; it’s the foundation for modern application development. It offers numerous benefits, such as scalability-you scalability can quickly scale your resources up or down as needed, cost-effectiveness-you cost-effectiveness only pay for what you use, and global accessibility-you accessibility can access your data and applications from anywhere in the world. As a PM, embracing the cloud empowers you to construct scalable, cost-effective products that can reach a global audience, putting you in the driver’s seat of innovation and efficiency.

Let me know what other technical topics you’d like broken down!

--

--

Siddarth Kengadaran
The Product Guy

Product Consultant, Enabling teams to strategize and build with conscious intention. Currently exploring Spatial Computing (XR) and AI.