Building Distributed Apps

In this class students will learn to build distributed app comprising of Web app, API, and Message Queues. We will first talk about architecture and how we can select available cloud technologies with different cloud providers. We will break down our app into different components and build them in Python. We will have three different deployments to the three different cloud providers.

  • Python Topics: Context Managers, List Comprehension, Classes, Higher Order Functions, Function Decorators, Data Classes, Logging.
  • Development Topics: Learn about containers and how they work. Package your application as Docker containers. Build a message queue to loosely couple Webapplication, API and backend workers.
  • Cloud Topics: Deploy your distributed applications to three different cloud providers - AWS(Lamda, EventBridge, SNS, SQS, S3), GCP(Cloud Run, Cloud Functions, Task Scheduler, Pub/Sub, Cloud Storage), Azure( Azure Scheduler, Azure Container Apps, Azure functions, Blob Storage).
Key Takeaways

Topics covered

We will learn by developing a loosely coupled distributed app. Since we will be covering alot of topics in a short time, you will need to spend time everyday to go over the topics covered during class.

  • Day-1: Understand project description. Based on requirements, break it down into smaller high level components. Talk about the similar offerings from different cloud providers that we can leverage for our solution.
  • Day-2: Continue our discussion about the cloud services and how we are going to deploy.
  • Day-3: Develop the API.
  • Day-4: Complete developing the API. Containerize, deploy and test it.
  • Day-5: Develop the back-end worker.
  • Day-6: Start developing the web application.
  • Day-7: Continue development of web application and its integration with API.
  • Day-8: Deploy the solution to AWS, Azure and GCP.
  • Day-9: Continue deploying it to AWS, Azure and GCP.
  • Day-10: Revisit any additional topics to be covered. Discuss next steps.

Key Takeaways

Here are some of the takeaways and benefits you can expect from this class.

Hackathon Format

Lern to provide solutions in a short time with guidance from the instructors.

Solutioning Mindset

Learn how to breakdown a complex requirement by abstracting it to smaller components that can be developed.

Cloud Architecture

Learn how to architect your solutions in the cloud. Develop solutions based on the cloud provider's service offerings.