Skip to content

Instantly share code, notes, and snippets.

@OGProgrammer
Created April 15, 2017 17:03
Show Gist options
  • Save OGProgrammer/679ea6acde44482f3240cd39fa45823d to your computer and use it in GitHub Desktop.
Save OGProgrammer/679ea6acde44482f3240cd39fa45823d to your computer and use it in GitHub Desktop.
ZendCon Talk Submissions

Joshua Copeland

Tech Conference Talks

45-60 min presentations

Create your own dependancies!

Do you have multiple PHP projects with the same or similar logic? Are you sick of your team copy pasting code from one project to another? Let's talk about pulling all that shared code into one (or more) libraries and how to implement them in your projects via composer. We'll also be touching on related topics like statis, packagist, toran proxy, composer settings, code structure, autoloading, and strategies to use when refactoring classes into your new library. Quit duplicating code and come check out this talk!

Managing cloud resources with Terraform

Have you wished that your developers could skip the sysadmin request for a new remote server and just provision it themselves? Better yet, how about standing up an entire duplicate environment just for them with a click of a button? Do you have a "bus factor of 1" when it comes to how your infrastructure looks like? Introducing Terraform! Hasicorps tool for provisioning and managing cloud resources regardless of service provider. I'll show you how to provision the initial infrastructure and maintaining it. We'll also cover different approaches to managing Terraforms statefile. There are some things to know and consider when choosing Terraform. We will cover its amazing benefits over manually managing cloud resources and pitfalls to watch out for.

Packaging and Deploying PHP Apps with Docker

Are you still using Vagrant/VMs and not quite sold on Docker yet? Let's jump into Docker and it's benefits over traditional VM methods. I'll show you a few solid ways to develop locally with Docker Compose. We'll cover how to build a Docker image with your PHP app and deployment strategies. We'll also cover some helpful tips when using Docker and how to get the most from it. Join me in the new switch from VMs to Containers!

Building an API with Silex

Need a simple API without a lot of magic? In this talk we will cover building an API with the micro framework Silex. Although the code will be very simple, I'll show you how to add providers and extend functionality in Silex. I'll also show you how to set yourself up to upgrade the project into a full framework like Symfony.

Becoming a bug exterminator!

Spotting bugs is a skill developed over time with practice but this talk will put you on the fast track to being a Bug Exterminator! One day, your production environment will break and you have to reproduce it on your local box. Worst yet, getting XDebug wired up to step through isn't very straight forward when using Docker, Vagrant, or remote machines. In this talk we will cover how to properly setup XDebug in various situations. We will cover how to use PHPStorm to step through your PHP and JavaScript code and other neat features. We will also cover how to profile your code to find slow bottlenecks in your app. I'll also share war stories of battles I've endured and what caused these issues.

Tech Tutorials

About 3 hours long to complete.

Continuous Delivery with Jenkins, Terraform, AWS, and Docker.

In this tutorial we will cover setting up a continuous delivery pipeline with Jenkins. We will use Terraform to provision our AWS resources needed and how to use Jenkins to manage your cloud infrastructure. We'll go through the steps needed to get your PHP app packaged in a docker image and deployed to AWS Elastic Container Service. I'll show you how to match your environments as closely as possible and some things to watch out for. You'll need an AWS, Docker.io, and GitHub account. For a meaningful setup you will want a paid AWS account. You will also need a paid account if you want private repositories for github and docker. At the end of this talk, you'll be able to push some code to GitHub and your Jenkins instance will automatically pick that change up to test, build, plan, and deploy your PHP application to the cloud. I'll also show you how to rollback code, update composer dependencies, build docker images, manage resources, and setup RC, QA, staging, and other environments. Please come prepared by signing up for these accounts and having an editor capable of editing PHP, Groovy, Bash, Dockerfile, HCL (Terraform), and JSON.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment