Student Login

Announcing A Brand New Workshop:

Deploying Python Webapps

How To Take Code That Works On Your Machine And Make It Live On The Internet

If you have a portfolio project you want to showcase…

Or a side project you have been thinking about for years…

Maybe even an idea for a SaaS business you want to launch…

This Live Instructor-Led Workshop Is For You.

The problem is that once you have your app working on "localhost", that is not enough.

In order for the outside world to see it, you must deploy.

And while that is not easy on your own, this 4-week live workshop shows you how.

This is a valuable and empowering skillset that will benefit you for the rest of your career.

You will learn to deploy your apps in a way that is optimized for you to launch, update and maintain your personal project…

But is also effective, secure, and robust enough for teams working together on a corporate product as well.

I am sure this sounds good to you so far. But it raises TWO questions.

The first one being:

What Will You Deploy?

In this workshop, you will deploy a Django web application. Already written and provided for you.

This is the perfect starting point for several reasons.

To be clear, what you learn in this workshop applies to deploying MANY kinds of apps.

It applies to web applications that are not built on Django. Even applications which are not webapps at all.

But we want to start with something concrete and build a strong foundation.

So you can build on that foundation, and extend it to deploying apps such as:

Even though our project in this workshop is a Django webapp, over 90% of what you learn applies to every kind of app listed above, and more.

You are learning a generic framework that applies to nearly anything you might want to deploy...

Now, Or In The Future.

On top of all that, Django is useful.

When you learn how to deploy a Django app, you are instantly more valuable to yourself and to employers.

Django is the most popular backend Python web framework, and is full stack with powerful batteries.

Many of those side projects you have been dreaming about can be done most easily by deploying Django.

So that is the answer to the first question. Leading us to the second:

How Will You Deploy It?

If your goal is simply to get your app deployed, you have countless approaches to choose from.

You have paid platforms that make it easy (but not cheap) to deploy specific narrow kinds of web application.

You have entire cloud infrastructure solutions like AWS or GCP.

You have highly scalable platforms like Kubernetes that require a whole team of devops and site-reliability engineers to make it run.

And since you have a nearly infinite number of possibilities to choose from...

In designing this workshop, the deployment approach you learn must:

Meet Three Criteria.

First, it must be understandable.

Meaning the components are simple enough you can grok them in a reasonable amount of time...

And important functionality is not buried under layers of baffling abstraction.

This is important for many reasons...

But one is debugging. So if and when something goes wrong, you can decipher the problem more easily, and fix it faster.

The second criteria is that it must be flexible.

Meaning the deployment method you learn is NOT limited to specific narrow types of application.

It is not limited by programming language, by framework, or even by purpose.

So even though you will deploy a Python Django web application...

Nearly EVERYTHING you learn will transfer to any kind of application you will deploy now or in the future.

And third, it must be future-proof.

As much as possible. So it empowers you to deploy ANY application you might want in the coming years, and will work with new kinds of application we cannot even imagine yet.

I considered over a dozen additional criteria as well, in addition to these three...

Leading to a particular specific stack you will learn in this workshop:

The Stack

In this workshop, you will deploy a Django web application on this technology stack:

I have specific reasons for every one of these...

But the bottom line is this stack meets the criteria of understandable, flexible, future proof, and more - and does so better than any other stack I have found.

The best thing is that each of these can be "swapped out" for anything you prefer.

Want to use AWS Lightsail or Digital Ocean instead of Linode? That's relatively easy, once you have gone through the workshop and deployed our Django app on this stack.

Want to use RHEL or Fedora? Again, relatively easy, once you have ramped up on Ubuntu.

Want to use Nginx, Apache, or some other web server? Or MySQL or MongoDB instead of Postgres? Again, all relatively easy to swap out.

What about extensibility? What if you want to add a Redis data store, or a Celery task queue, or something else? Again, with this stack, that is all relatively easy to do.

This is the stack you want to learn first. It is a great foundation for almost any variation or extension you want.

And it has longevity. In this workshop, by mastering this stack, you are learning foundations that will potentially serve you for DECADES.

As a bonus: everything in this stack is mature, stable, and tremendously well documented.

That means AI chat tools and online info can help you with any issue you encounter, even long after the workshop is done.

What's Included

This is a 4-week workshop that is taught in live, recorded sessions. What you get:

The prerequisites and requirements:

Sign Up Now

Workshop Schedule

Here is the planned schedule. Note that depending on student requests, I may shift timings or refine the syllabus if it improves and enhances the workshop:

Early Access (Starting NOW)

Week 1: Your Deployment Tool Box

Week 2: Ansible For Infrastructure As Code

Weeks 3: The Web Server

Week 4: Django And Databases

Sign Up Now

Questions And Answers

If you have a question not answered here, send an email to service@powerfulpython.com and we will respond promptly.

When does the workshop start?

You can sign up now and start doing the pre-workshop preparation; this is recommended. You get immediate access to the initial course materials and the Slack channel. The workshop formally begins on Tuesday, July 8th.

How long is the workshop?

The workshop is 4 weeks long, with new instructional material, live sessions and hands-on exercises each week.

What if I cannot attend the sessions live?

They are recorded for you. Attending live is optional; doing so allows you to ask questions, but you will get full recordings of all sessions.

How much time does this take each week?

To fully participate will take 5-10 hours per week, for the four weeks of the workshop.

Do I need to write the Django app before I deploy it?

No, you will not need to write the code of any app you deploy in this workshop. Everything is provided for you, so you can focus on the actual deployment process.

I don't know Django, is that a problem?

No, you do not need to know how to write Django applications in order to deploy them. You will need to learn a few details, but those are taught as part of the workshop.

What kind of computer do I need?

You need a computer that can run VirtualBox and Vagrant. Most modern computers can do this.

How well do I need to know Python?

You need to know how to create Python virtual environments. Aside from that, you only need to be able to write simple Python programs; this does not require a high level of Python skill.

Which operating systems are supported?
It can be macOS, Windows or Linux.
I have another question.

Email us at service@powerfulpython.com and we will reply as quickly as possible.