Deployment

2023


cover-migrating-django-project-gpu-convenience-image-circleci.jpg

Migrating a Django Project from a GPU to a Convenience Image on CircleCI

Recently we learned that as of September 30th, 2023 several linux images will be deprecated, including the one we used, ubuntu-2004:202111-02. Therefore, after September 30th, our pipelines would have failed. To avoid this, we switched several machines in our Django project from Ubuntu GPU images to convenience images; This writing details that switch.

2021


cover-django-migrations-and-deployment.png

How to Simplify Django Migrations and Deployment

Dan Poirier

When removing fields from Django models, or adding non-nullable fields, it can be hard to avoid a mismatch between code running on some servers and the database in use.

2017


cover-5-ways-deploy-your-python-web-app-2017-pycon-2017-must-see-talks-46.png

5 Ways to Deploy Your Python Web App in 2017 (PyCon 2017 Must-See Talk 4/6)

Erin Mullaney

Part four of six in the 2017 edition of our annual PyCon Must-See Series, highlighting the talks our staff especially loved at PyCon. While there were many great talks, this is our team’s shortlist.

cover-hosting-django-sites-amazon-elastic-beanstalk.png

Hosting Django Sites on Amazon Elastic Beanstalk

Dan Poirier

Introduction

Amazon Web Services (AWS)' Elastic Beanstalk is a service that bundles up a number of their lower-level services to manage many details for you when deploying a site. We particularly like it for deploys and autoscaling.

2015


AWS load balancers with Django

Dan Poirier

We recently had occasion to reconfigure some of our existing servers to use Amazon Web Services Elastic Load Balancers in front of them. Setting this up isn’t hard, exactly, but there are a lot of moving parts that have to mesh correctly before things start to work, so I thought I’d write down what we did.

2013


AngularJS to PyGame: Caktus’ 2nd ShipIt Day

We had our 2nd ShipIt Day at Caktus last week. ShipIt (coined by Atlassian), in case you don’t know, is an exercise that allows your team to work on alternative projects in a 24-hour hackathon. We brainstorm ideas related to Caktus, break into small groups and try to build a project by the end of the day on Friday. It’s a lot of fun and provides an opportunity to work on internal tools, try something new and collaborate together. \

2011


Testing Web Server Configurations with Fabric and ApacheBench

Load testing a site with ApacheBench is fairly straight forward. Typically you'd just SSH to a machine on the same network as the one you want to test, and run a command like this:

Managing Client Expectations Amid Shifting Deadlines

George Saines

Estimating development time is notoriously difficult, and when moving deadlines are added to the mix, shift happens.

Estimating development time for clients is difficult enough without having to second guess deadlines. Yet despite the best efforts, if your company has a healthy deal flow, it’s almost inevitable that you’ll eventually have a project deadline shift.

2010


Basic Django deployment with virtualenv, fabric, pip and rsync

Deployment is usually a tedious process with lots of tinkering until everything is setup just right. We deploy quite a few Django sites on a regular basis here at Caktus and still do tinkering, but we've attempted to functionalize some of the core tasks to ease the process. I've put together a basic example that outlines local and remote environment setup. This is a simplified example and just one of many ways to deploy a Django project (I learned a lot from Jacob Kaplan-Moss' django-deployment-workshop), so I encourage you to browse around the Django community to learn more. The entire source for this example project can be found in the caktus-deployment Bitbucket repository.