
Explore provider-agnostic cloud concepts for architecting on the cloud and building cloud-native products. Learn practical perspectives on cost, compliance, and technologies like Docker, Kubernetes, and serverless across providers.
Discover cloud fundamentals, pricing, providers, and cloud-native principles; examine infrastructure as a service, networking, security, and scalability to architect reliable systems.
Define what the cloud means, its advantages and challenges, and design cost-effective, secure systems. Outline providers, deployment models (iaas, paas), public and private clouds, hybrid, on-premises, compliance, and well-architected frameworks.
Define the cloud as on-demand, self-service resources with a suite of services, emphasizing flexibility and scalability. Compare cloud cost models (capex vs opex) and discuss security, performance, and reliability.
Learn to design and build applications on the cloud that scale to varying traffic, stay secure, control costs, and stay available across regions with proper architecture and recovery strategies.
Explore the main cloud providers such as amazon web services, azure, and google cloud platform, alongside ibm cloud and oracle cloud, focusing on pricing, use cases, and dashboards.
Compare how cloud providers differ in management consoles, regions, and resource organization—from AWS and Azure to Google Cloud—where projects, subscriptions, and resource groups shape deployment.
Explore the cloud's history from 1999 Salesforce origins through 2006 AWS launches, Google App Engine, and Azure milestones, and Netflix open source contributions.
Explore alternatives to the cloud and learn when to choose them, based on a real-world private server experience with Linux, VPS setup, and hypervisor-based virtualization, including cost and performance trade-offs.
Compare the cloud, virtual private servers, and on premises, highlighting control, upfront investment, maintenance, and accounting considerations for infrastructure decisions.
Explore scenarios where on premises makes sense, including single tenancy, compliance and security needs, custom hardware, and enormous scale that makes the cloud approach not feasible from a cost perspective.
Classify cloud components by deployment models—public, private, community, and hybrid—and by service models—IaaS, PaaS, SaaS—using examples like Google Cloud, Anthos, Azure Arc, SAP, and Office 365.
Explore how the general data protection regulation shapes EU data governance, including the right to be forgotten, and how cloud provider compliance intersects with audits.
Explore flexible pricing models in cloud architecture, including consumption-based and time-based pricing, fixed and dynamic options, and how metrics like hours, units, memory used, and data storage impact costs.
Discover how to reduce cloud costs by using provider credits, free trials, and university or startup programs. Optimize spend with reservations, savings plans, sustained-use discounts, and reseller options.
Examine the well-architected framework across operational excellence, security, reliability, performance efficiency, and cost optimization to design cloud-native apps with automation and infrastructure as code.
Explore the provider-agnostic 12-factor app principles for building cloud applications at global scale and long-term maintainability, and recall these basic guidelines through a concise, structured overview.
Maintain a single code base in version control to support multiple deployments. Use configuration via environment variables to tailor each environment.
Declare dependencies explicitly in your codebase and align them with the runtime, avoiding server-side installation assumptions and ensuring required runtimes like Java or Python are present.
Learn the 12-factor app config factor, using environment variables to manage credentials, connections, and secrets across development and production, improving deployment and security.
Adopt backing services principle that keeps the app decoupled from specific services, enabling swapping databases, caches, and messaging systems via environment variables without redeploying, while maintaining provider independence.
Automate the build, release, and run process by pulling code with dependencies, assembling an artifact with environment-specific config, and deploying to the runtime environment via ci/cd tools.
Run your app as a standalone, stateless process by not storing state in memory and using a dedicated data store or cache. Rely on a round-robin load balancer.
The seven factor enforces self-contained apps that listen on a port provided at runtime via environment variables, enabling dynamic binding, traffic routing, and potential use as a backing service.
Learn how the 12-factor app promotes concurrency through horizontal scaling with multiple stateless instances, configured with binding to handle dynamic traffic.
Master the 12-factor app disposability by designing replaceable app instances, rapid startup, graceful shutdown with progress saved, and automatic state handling to enable scalable cloud deployments.
Learn how to minimize dev-prod differences by aligning deployment frequency, cross-functional teams, and shared tooling, using Docker to reproduce production environments locally.
Log everything to standard out and standard error, not hardwiring where the logs go; let the environment route logs to production services like Elasticsearch or Application Insights.
The lecture highlights the 12 factors for admin processes, stressing separation of concerns by running database migrations and infrastructure tasks as separate services in the same app environment.
Explore how the cloud enables scalable, resilient, and elastic systems, with security embedded in design, and review history, providers, pricing, and best practices for cloud native apps.
Explore cloud fundamentals, deployment and service models, and major providers such as Azure and GCP, and pricing strategies. Examine compliance standards, well-architected frameworks, infrastructure as code, automation, monitoring, storage, networking.
Define infrastructure as a service as a data center abstraction that provisions on-demand resources when needed, forming the foundation for other service models.
Explore virtual machines as emulated computers powering cloud services and local development, including how Docker on Windows and Mac relies on a virtual machine and Linux features.
Explore how hosts, guests, and hypervisors work together to run virtual machines, including type one and type two architectures, virtualization versus emulation, and resource isolation for cloud providers.
Compare major vm providers like aws ec2, Azure VM, Google Compute Engine, and DigitalOcean droplets, covering virtual machines, launching instances, regions, machine types, storage, and networking.
Learn how to pick VM configurations by family and size, grasp vCPUs and operating systems, and securely access machines with automation and bastion hosts.
Explore how cloud storage is decoupled from compute, attachable to different virtual machines, and chosen for performance with iops and throughput. Compare block and object storage.
Explore block storage volumes for cloud VMs, including attaching, resizing, and detaching drives, with pricing by provisioned capacity, various hardware types, encryption, snapshots, monitoring, and region-based redundancy.
Explore local drives and ephemeral storage for ultra high performance, and apply an elastic fleet of virtual machines with external databases, file shares, and block storage for scalable, stateless apps.
Provision cloud networks with virtual private clouds and subnets, attach multiple network adapters to VMs, and manage private and ephemeral public IPs, focusing on security, cost, and performance.
Understand why monitoring sustains business continuity and disaster recovery by tracking metrics, identifying failures early, and informing SLA adherence, scaling, and insights into application behavior and busy intervals.
Learn to monitor with the four golden signals: latency, traffic, errors, and saturation, and use utilization, saturation, and errors to spot bottlenecks, noting latency split for success and failure.
Understand why monitoring matters, collect CPU, memory, and network metrics with provider tools or agents, set up dashboards and alerts, and explore Elasticsearch, Kibana, Prometheus, and DataDot for logs.
Automate provisioning, software installation, and configuration using infrastructure as code to speed delivery, security, and reliability. Use declarative templates and pipelines to manage environments.
This lecture unpacks infrastructure as code, showing how providers expose APIs and how declarative tools like Terraform manage resources and state using templates in YAML, JSON, or Hoshko configuration language.
Automate vm initialization with boot-up scripts and cloud-init to configure users, groups, and packages, while balancing startup time and scalability across dynamic environments.
Create a golden image from a configured virtual machine to speed up instances, store it in object storage, and use Packer and Terraform to deploy identical virtual machines in seconds.
Explore configuration management tools such as Ansible, Chef, Puppet, SaltStack, and Azure Automation to enforce desired state, update packages, and prevent manual changes, while preferring immutable infrastructure.
Leverage cloud marketplaces to deploy images created by well-known vendors, speeding up elk stack or Apache Kafka setup while optimizing costs with spot instances and reservations.
Learn when to deploy on VMs and IaaS instead of managed services, weighing legacy systems, licensing, dedicated hosts, latency needs, and vendor lock-in for optimal cloud migrations.
This case study shows cloud-based workloads on virtual machines delivering scalability and cost reductions around 40 percent, with Dota 2 bots learning and winning 99.4 percent in 5v5.
Master infrastructure as a service by understanding provider and customer responsibilities, virtual machines and hypervisors, monitoring with the four golden signals, and automation with Terraform and configuration tools.
Who Is This For?
My purpose with this course is to compile the greatest source of information about the cloud that will give anyone that goes through it the confidence to tackle any challenge at any scale. The following categories of people were in my mind when I worked on it:
Software engineers looking to get started with the cloud, especially the ones that value time as a resource - both their time and the time of the people that depend on them - when the great idea comes, we don’t want to spend time trying to figure out what’s possible and how to do it, don’t we?
Proficient cloud engineers and architects looking for a compendium of ideas, technologies, guidelines, and designs. Even the best of the best must practice the basics. This holds true in any area. Which basketball players do you think practiced throwing the most? Which salespeople made the most calls? Moreover, this course might contain that 10% of new information that you were looking for.
Non-technical people such as team leaders, managers, salespeople, product managers looking to take their craft to the next level. As I got to work with more and more people on various projects, I noticed one recurring fact: the best product managers and the best salespeople were the ones that had a clear idea of how the product worked (usually these people used to be developers). Not only you will get considerably better at your job, but you will also get more ideas because you will know what’s possible (this is another limitation I noticed throughout the time: people dream small because they don’t know what we are capable of achieving).
Why Would You Care About the Cloud?
Nowadays it’s kinda challenging to think of an industry that doesn’t rely on technology either because the industry itself is built on it such as streaming services (e.g. Netflix, Amazon Prime, Spotify) or because it uses technology to greatly improve its processes (e.g. healthcare, agriculture, shipping).
Similarly, most of these technologies rely on cloud services on which they operate or will operate in the future. In other words, being proficient with cloud services will greatly help you irrespective of the industry you are working in. This also creates a high demand which, just like in any other market, drives the prices (salaries) up.
Why Would You Listen to Me?
In short, because I genuinely prefer watching, listening, and reading about the cloud (and other tech areas) to watching movies or shows (I still enjoy the latter, don’t get me wrong). I took this approach in 2015 after watching a bunch of CppCon videos.
Making this subtle change drove me to steer my career in a slightly different direction (I started as an SAP developer in the reinsurance business), pursue various certifications (AWS and Azure Solutions Architect at the of this writing), launch a tech start-up, and last but not least, organize a course about the cloud at Babes-Bolyai University in Cluj-Napoca that made me really proud especially after meeting so many talented students.
What Is the Value of This Course?
First of all, everything included in this course can be found on the internet or through experience. The potential issue is that we have limited time and energy. How we choose to spend them is the basis of our future selves.
You can choose to enroll in this course and invest a few hours in completing it or you can give it a try on your own. It took me around 200 hours to put it together, but I already knew most of it. You aren’t getting only the result of these 200 hours, but the experience gathered in nearly 10000 hours (or 250 work weeks which translates to roughly 5 years).
You might also wonder why this course and not another one. Well, when I started working on the university course I thought I will find everything I need online in a course, maybe two. And I almost did. The only issue was that I couldn’t find everything neatly structured and in one place. (Useful) Information was everywhere and most of the time hidden under vendors promoting their services and redundant content - sometimes you have to go through the same thing multiple times from multiple sources just to get that 1% new piece of knowledge.
At the end of this course you will be able to:
Understand what the cloud is, how it works, when and why to use it
Understand less talked about subjects such as pricing models and compliance standards
Design and build cloud-native applications and SaaS products with the confidence that you make the right choices
Understand the advantages and disadvantages of popular technologies like Docker, Kubernetes, Serverless (Lambda, Functions), NoSQL Databases, and GraphQL
Design secure distributed systems by leveraging cloud-native firewalls, networking features, and authentication services
Apply the same knowledge to any cloud provider including AWS, Azure, and Google Cloud
Get certified. Certifications such as AWS Solutions Architect and Azure Solutions Architect are in high demand and are getting more and more complex. You will be able to leverage everything you have learned in this course for all major certification paths and only learn service-specific details.
Cannot wait to build that awesome knowledge together!
Andrei