<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Brian Z</title>
    <link>http://blog.brianz.bz/</link>
    <description>Recent content on Brian Z</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <copyright>&amp;copy; 2016-2017. All rights reserved.</copyright>
    <lastBuildDate>Tue, 08 Oct 2019 18:27:24 -0600</lastBuildDate>
    
	<atom:link href="http://blog.brianz.bz/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Building a Serverless Slack clone with Python and Websockets</title>
      <link>http://blog.brianz.bz/post/serverless-websockets-and-python/</link>
      <pubDate>Tue, 08 Oct 2019 18:27:24 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/serverless-websockets-and-python/</guid>
      <description>In late 2018, API Gateway released support for websockets. This was a really exciting milestone for API Gateway and serverless computing since, historically, serverless APIs were mostly limited to stateless connections. Wouldn&amp;rsquo;t it be great if we could bring along our serverless architectures as we move to a more real-time style of application development. Well, now we can!
You may be thinking, how on earth does this work since Lambda functions (or FaaS, in general) are (mostly) stateless?</description>
    </item>
    
    <item>
      <title>Managing Database Transactions with SQLAlchemy in Serverless</title>
      <link>http://blog.brianz.bz/post/serverless-how-to-handle-db-transactions/</link>
      <pubDate>Fri, 28 Sep 2018 21:38:00 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/serverless-how-to-handle-db-transactions/</guid>
      <description>For quite some time, SQLAlchemy has been my go-to database toolkit and ORM for Python microservices and Serverless projects. SQLAlchemy is very powerful and has given me the ability to do pretty much anything I need to do with Postgres, my database of choice nowadays. Of course, the trade off of great power and flexibility is increased complexity. Since SQLAlchemy is a bit more low-level than other ORMs (such as Django, or even Flask&amp;rsquo;s layer on top of SQLAlchemy) you&amp;rsquo;re on the hook for dealing with some details that these other ORMs handle automatically.</description>
    </item>
    
    <item>
      <title>The Dark Art of AWS VPC Networking</title>
      <link>http://blog.brianz.bz/post/dark-art-of-vpc-networking/</link>
      <pubDate>Sun, 20 May 2018 22:26:15 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/dark-art-of-vpc-networking/</guid>
      <description>It&amp;rsquo;s been quite some time since a blog post went up here. The reason for this is mainly due to my book with Packt Publishing, Serverless Design Patterns and Best Practices. Happily I can say that it&amp;rsquo;s published and I can turn my technical attention to other things.
In chapters 2 and 3, I walk through setting up serverless REST and GraphQL APIs, respectively. Both patterns use RDS as a backend datastore.</description>
    </item>
    
    <item>
      <title>Accessing VPC Resources from AWS Lambda</title>
      <link>http://blog.brianz.bz/post/accessing-vpc-resources-with-lambda/</link>
      <pubDate>Thu, 02 Nov 2017 22:49:30 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/accessing-vpc-resources-with-lambda/</guid>
      <description>I&amp;rsquo;m currently working on a book for Packt publishing titled Serverless Design Patterns and Best Practices.
While writing and whipping out tons of examples is quite a bit of work, and I sometimes curse myself for agreeing to this, I&amp;rsquo;m quite excited as I work through the chapters and as it comes together.
The first three chapters in the book cover different patterns for web applications. In two of these three sections, the logical layer of a 3-tier web application (Presentation, Data, and Logical layers) is, of course, Serverless.</description>
    </item>
    
    <item>
      <title>Structuring Serverless Applications with Python</title>
      <link>http://blog.brianz.bz/post/structuring-serverless-applications-with-python/</link>
      <pubDate>Fri, 21 Jul 2017 23:09:49 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/structuring-serverless-applications-with-python/</guid>
      <description>In spite of my intentions to get more involved in Elixir I&amp;rsquo;ve been stuck in the Python tractor beam.
For all of the issues that may arise in large Python web applications, Python really is a fantastic do-it-all language. As one of my colleagues recently said:
 Python is the second best language for everything.
 I&amp;rsquo;m still a very big fan of the Serverless framework and have been using it almost constantly at work.</description>
    </item>
    
    <item>
      <title>Elixir for Pythonistas part I</title>
      <link>http://blog.brianz.bz/post/elixir-for-pythonistas-i/</link>
      <pubDate>Fri, 07 Apr 2017 16:02:32 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/elixir-for-pythonistas-i/</guid>
      <description>For the past many many years my goto language has been Python. I&amp;rsquo;ve written all sorts of applications using Python:
 Django web apps Client side GUI applications with PyQt Data science stuff with numpy, pandas, etc. Alexa applications Serverless systems and web APIs Microservices and a microservice library Many backend services to power various SAAS and non-SAAS applications  Whenever there is some type of problem I need to solve programatically, I reach for Python.</description>
    </item>
    
    <item>
      <title>How to setup a free SSL certificate for use with Serverless APIs</title>
      <link>http://blog.brianz.bz/post/custom-https-domains-with-serverless/</link>
      <pubDate>Thu, 16 Feb 2017 21:21:10 -0700</pubDate>
      
      <guid>http://blog.brianz.bz/post/custom-https-domains-with-serverless/</guid>
      <description>NOTE!!!
 As of March 2017 this post is no longer relevant. AWS has updated API Gateway so that you can get a free certificate using AWS Certificate Manager. I&amp;rsquo;m leaving this up for historical purposes but if you need SSL for API Gateway on your own domain please have a look at the Certificate Manager integration&amp;hellip;it&amp;rsquo;s quite easy!
 If you&amp;rsquo;re reading this blog it will become very obvious I&amp;rsquo;m a big fan of the Serverless framework to power AWS Lambda and API Gateway integration.</description>
    </item>
    
    <item>
      <title>Authoring Alexa Skills with Python and Lazysusan</title>
      <link>http://blog.brianz.bz/post/alexa-with-lazysusan/</link>
      <pubDate>Tue, 24 Jan 2017 13:05:21 -0700</pubDate>
      
      <guid>http://blog.brianz.bz/post/alexa-with-lazysusan/</guid>
      <description>Most recently at my day job we were tasked with building an Amazon Alexa app for a client. As soon as I heard rumors that we would be doing an Alexa app I starting raising my hand hoping that I&amp;rsquo;d get put on this project. If you read these blog posts it should become quite apparent I&amp;rsquo;m a pretty big AWS fanboy and Alexa has pretty tight integration with AWS Lambda</description>
    </item>
    
    <item>
      <title>Serverless 1.x</title>
      <link>http://blog.brianz.bz/post/serverless-1.0/</link>
      <pubDate>Wed, 21 Dec 2016 12:04:30 -0700</pubDate>
      
      <guid>http://blog.brianz.bz/post/serverless-1.0/</guid>
      <description>Since my last posts on Serverless, Serverless has gone 1.0. In fact, as of this writing Serverless is at version 1.3. I&amp;rsquo;ve had the luck of taking 1.3 for a spin with my new job by implementing an application for the Amazon Alexa platform. Alexa has a really nice integration with Lambda and we&amp;rsquo;ve been using Serverless to do our Lambda development. Our development pace has been insanely high and much of that can be attributed to Serverless.</description>
    </item>
    
    <item>
      <title>Demo service with Servant</title>
      <link>http://blog.brianz.bz/post/demo-service-with-servant/</link>
      <pubDate>Thu, 15 Sep 2016 17:41:39 -0400</pubDate>
      
      <guid>http://blog.brianz.bz/post/demo-service-with-servant/</guid>
      <description>In a previous post I introduced and discussed about an open source library I authored called Servant. Servant is a framework for building RPC-style services with Python. Servant is to services as Django or Rails is to web applications&amp;hellip;it&amp;rsquo;s framework you&amp;rsquo;d use when you need to build a service in Python.
I&amp;rsquo;ll go a bit deeper in this post and show what it&amp;rsquo;s like to actually author and use a service.</description>
    </item>
    
    <item>
      <title>Serverless part IV</title>
      <link>http://blog.brianz.bz/post/serverless-part-iv/</link>
      <pubDate>Fri, 01 Jul 2016 11:55:51 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/serverless-part-iv/</guid>
      <description>Welcome to part four in my series about Serverless. As a reminder, there are now three other parts you can read if you aren&amp;rsquo;t coming here from those posts already:
 Serverless Part I Serverless Part II Serverless Part III  In the previous posts I worked through some of the basics of Serverless and stood up an API endpoint which returned HTML. Now I&amp;rsquo;d like to start working through some more real-world examples and talk through some warts I&amp;rsquo;ve found with Serverless.</description>
    </item>
    
    <item>
      <title>Serverless part III</title>
      <link>http://blog.brianz.bz/post/serverless-part-iii/</link>
      <pubDate>Thu, 02 Jun 2016 17:01:36 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/serverless-part-iii/</guid>
      <description>This is part three in my series about creating serverless systems using AWS API Gateway + Lambda via the Serverless project. If you&amp;rsquo;re haven&amp;rsquo;t already you can read part I and part II.
My goal is to continue evolving this example to walk through a non-trivial example of doing something with the serverless architecture. Along the way I&amp;rsquo;ll demo some useful features which you&amp;rsquo;ll undoubtedly run into when doing real development with Serverless.</description>
    </item>
    
    <item>
      <title>Serverless part II</title>
      <link>http://blog.brianz.bz/post/serverless-part-ii/</link>
      <pubDate>Mon, 02 May 2016 22:08:40 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/serverless-part-ii/</guid>
      <description>Following up from my last post about serverless systems, let&amp;rsquo;s do a walk-through of the Serverless project.
Getting started As usual I&amp;rsquo;ll demo this using a Docker container. You can check out the code on Github and follow along: https://github.com/brianz/serverless-demo.
This Docker image has Serverless v0.5.5&amp;hellip;and that&amp;rsquo;s about it. I use a basic Makefile to build and run the container. You can take a look at it yourself and change the container name if you&amp;rsquo;d like to follow along.</description>
    </item>
    
    <item>
      <title>Serverless part I</title>
      <link>http://blog.brianz.bz/post/serverless-part-i/</link>
      <pubDate>Wed, 20 Apr 2016 16:08:07 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/serverless-part-i/</guid>
      <description>It&amp;rsquo;s a pretty exciting (and challenging) time to build software-based applications. Every week there are more and more tools to make our jobs easier or to enable us to focus on application development rather than dealing with the infrastructure around those applications. Of course, this makes our jobs challenging since we need to keep up with the innovation.
This will be part one of a multi-part series about &amp;ldquo;serverless&amp;rdquo; architecture/design.</description>
    </item>
    
    <item>
      <title>If you&#39;re not using Docker you should be</title>
      <link>http://blog.brianz.bz/post/if-youre-not-using-docker-you-should-be/</link>
      <pubDate>Wed, 13 Apr 2016 07:24:44 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/if-youre-not-using-docker-you-should-be/</guid>
      <description>If you&amp;rsquo;re a developer and don&amp;rsquo;t live under a rock you&amp;rsquo;ve undoubtedly heard of Docker. There are many many sites out there which will tell you about how to use Docker and how to start using it&amp;hellip;this will not be one of those posts. Rather, I&amp;rsquo;d like to write about some practical advantages about Docker which I&amp;rsquo;ve learned that weren&amp;rsquo;t super obvious when getting started.
How does this intersect with building SAAS systems?</description>
    </item>
    
    <item>
      <title>On technical blogging</title>
      <link>http://blog.brianz.bz/post/on-technical-blogging/</link>
      <pubDate>Thu, 07 Apr 2016 18:41:18 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/on-technical-blogging/</guid>
      <description>As I mentioned in my inaugural post, I had been wanting to start a technical blog for some time. Mainly a a way of capturing things I learn or discover so that it can benefit others. As an engineer I consume a lot of content on the web. Let&amp;rsquo;s face it, when we hit some technical hurdle or are trying to figure something out that we haven&amp;rsquo;t seen before, our job become that of an internet sleuth, combing the web for answers on StackOverflow, blogs, etc.</description>
    </item>
    
    <item>
      <title>Introducing servant</title>
      <link>http://blog.brianz.bz/post/introducing-servant/</link>
      <pubDate>Mon, 04 Apr 2016 17:26:23 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/introducing-servant/</guid>
      <description>Late in 2014 we began the process of discussing a payment system at work. The system was to have a fairly simple reason for existing&amp;hellip;to do all the work needed to charge credit cards on behalf of our customers.
Backing up a bit&amp;hellip;our system is mainly a B2B application. Home care agencies all over the country run our SAAS application which helps them to run their businesses. Our new Payment System was aimed at allowing our customers to charge their customers&amp;rsquo; credit cards directly, meaning our customers don&amp;rsquo;t need to wait for checks or paper invoicing.</description>
    </item>
    
    <item>
      <title>Blog theme</title>
      <link>http://blog.brianz.bz/post/blog-theme/</link>
      <pubDate>Wed, 23 Mar 2016 11:02:01 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/blog-theme/</guid>
      <description>SAAS Application Architecture I was finally inspired to get this site up and running after listening to a Software Engineering Radio podcast with John Sonmez. In that podcast episode John talks about how a technical blog can really help your career&amp;hellip;that&amp;rsquo;s never a bad thing and as mentioned in my last post, I wanted a place to help others with any tips, tricks or general things I learn.
John suggests coming up with a &amp;ldquo;theme&amp;rdquo; for a tech blog&amp;hellip;a theme not in the visual sense but a theme regarding the content.</description>
    </item>
    
    <item>
      <title>Getting started with hugo</title>
      <link>http://blog.brianz.bz/post/getting-started-with-hugo/</link>
      <pubDate>Mon, 21 Mar 2016 15:45:26 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/post/getting-started-with-hugo/</guid>
      <description>It&amp;rsquo;s been a very very long time since I&amp;rsquo;ve posted anything publicly. Blogging has drastically changed since the early days. As most of you, I consume a lot of material and resources on the internet. For a while I&amp;rsquo;ve wanted to contribute back&amp;hellip;I&amp;rsquo;m constantly learning new things and some of them are really useful. So, this is my way to hopefully help others.
With that, my inaugural post will be on how I set up this blog.</description>
    </item>
    
    <item>
      <title>about</title>
      <link>http://blog.brianz.bz/about/</link>
      <pubDate>Mon, 21 Mar 2016 09:07:04 -0600</pubDate>
      
      <guid>http://blog.brianz.bz/about/</guid>
      <description>Background My name is Brian Zambrano and this is my tiny corner of the internet where I (mostly) talk about software and related technology. I currently reside in Fort Collins, CO with my wife and twin boys. In addition to software I really like the outdoors, coffee and cycling.
I&amp;rsquo;m currently employed at AWS as a System Development Engineer.
All opinions here are my own and does not in any way relate to my employer.</description>
    </item>
    
  </channel>
</rss>