What you'll learn:
- Design and build massively Parallel Java Applications and Distributed Algorithms at Scale
- Create efficient Cloud-based Software Systems for Low Latency, Fault Tolerance, High Availability and Performance
- Master Software Architecture designed for the modern era of Cloud Computing
- Globally deploy Distributed Programs on the Cloud serving millions of users, billions of requests, & petabytes of data
Have you always wanted to build software that reaches millions of users and impact people's lives?
Have you been wondering how modern companies
Handle massive amount of internet traffic and transactions?
Securely store billions of our photos, videos, and other data?
Provide impeccable user experience and high performance 24/7 all around the globe?
Then you are in the perfect place!
In this course you will:
Master the theory of Distributed Systems, Distributed Computing and modern Software Architecture
Gain the practical skills necessary to build Distributed Applications and Parallel Algorithms, focusing onJava based technologies
Deploy groups of distributed Java applications on the Cloud
Scale Distributed Databases to store petabytes of data
Build Highly Scalable and Fault Tolerant Distributed Systems
Along the way, you will learn modern technologies like:
Apache Kafka
Apache Zookeeper
MongoDB
HAProxy
JSON
Java HTTPServer and Client
Protocol Buffers
Google Cloud Platform
And many others
By the end of the course you will:
Apply best practices for building and architecting real-life Distributed Systems
Scale your Distributed System to handle billions of transactions per day
Deploy your distributed application on the Cloud
Choose the right technologies for your use case and Software Architecture
Use modern Java based techniques to store and handle large amounts of data
So what are you waiting for?
Join us today on this incredible journey!
FAQ
- What do I need to know to join the course?
Basic knowledge of Java will suffice. Knowing the fundamentals of Multithreading and Concurrency may help but is not required.
- Will this course help me in System Design Interviews?
Yes. Distributed Systems questions are frequently asked during System Design Interviews, especially by large companies that operate on a massive scale. The skills you will learn in this course will help you in your career both while interviewing and working on real projects
- Do I need to pay for any software or Cloud account?
No. All the technologies covered in the course are free and open-source. The lectures on the cloud don't require you to pay for anything. If you want to follow along, all cloud vendors provide free-tier accounts to play around with and practice for free. Please follow the specific cloud vendor's documentation for guidance.
- Can I run and develop a Distributed System locally on my personal computer?
Yes. You can develop and run a distributed system on your computer and you don't need to buy any additional hardware. Generally, most distributed computing development is done on a single computer before it goes to QA and production.
- Is this the right course for me if I want to become a Software Architect or Technical Lead?
Yes. This is the right place for you to gain practical Software Architecture and Distributed Computing skills to become a Software Architect and Technical Lead. Thanks to the advancement of Cloud Computing, most companies today run distributed systems and deploy them on the cloud. So the skills taught in this course are critical to being a successful Software Architect in the modern era.