Kevin walks through the agenda. In response to an audience question, Kevin also describes at a high level the way administrators would store application credentials in S3 so individual developers do not have direct access to them.
- Today were gonna look a little bit at starting off with a deeper dive on the front end part of our application. We sort of hand waved at the primary tools in the front end tool chain a little bit. But I wanted to dive in a little bit further and I'll kind of explain some of the things that are going on there and some of the tools you're bringing to bare. Did you have a question Mark, or? - [Mark] I'm yeah, Phil asked to see an example of how to properly store credentials in S3 like was suggested yesterday.
- Yeah definitely. I don't have that in the materials but maybe like over lunch I can whip something up to you to show that. It's really just a matter of creating an S3 bucket, uploading a credential file there, then accessing that S3 bucket from your instances. But that's essentially what it is. There are different ways to accomplish that, but having S3 bucket with restricted access such that only members with a certain.
Kind of like we did with RES, such that only members of a certain group can have access to that bucket. So in theory, you can configure it such that an administrator creates credentials, creates the connection strings. That administrator uploads those values to an S3 bucket only the instances running in production have access to actually read that S3 bucket. So me as the developer I never know what those values are when I deploy my application I read in those values from S3 because I only have access to that bucket in production.
That's kind of what we do with our production environment. Our ops team, they provision credentials, and they give our production instances access to that bucket and then we read in those credentials from there. So at a high level, that's how it works. So, I'll see if I can do a specific example but that's essentially what it would be. Provisioning and S3 bucket and giving permissions to the Node app to read from that, but only in production.
And then we'll spend a good amount of time this morning we might extend the workshop time a little bit since it will be a new framework for most of you. Talking about Vue.js, maybe it voo, maybe it's view, I don't know, I always said view, I thought it was just a clever way of saying view. But we'll be extending Vue.js with a few more features that we've been lacking in the to do application like actually persisting the state of a to do item to the database.
Also playing a little bit with some of the capabilities Vue has on the Vue model and hopefully getting a little bit more familiar there. We'll also do kind of an extended live code walkthrough of some of the key features of the framework just to give people a taste of how it works. After that, I will dive into adding some real time features to our application. Again, we'll do a little bit of a code walkthrough on how Socket.IO works at a high level and then we'll add a specific realtime feature into the to do MVC applications, so we can see how we can maybe update that to do list in real time as folks are adding new items to the list.
We'll take a little break, we may or may not start Socket.IO or finish Socket.IO before break we'll kind of play that by ear. Then this afternoon I will talk about a couple of tools that we use in our production applications for load testing. We will take a quick look at a tool called Locust which will help you do some load testing on your web applications. And then we'll have you do the exercise actually integrate a tool that we found really useful called Rollbar which is a service that tracks exceptions that are raised by your application that allows you to send out notifications with that information.
We'll actually integrate that into our to do MVC application as well. We'll wrap up with some web analytics basics. Google Analytics is a tool we use all the time and I think it's sometimes poorly understood by developers or maybe developers feel like maybe there's nothing that you can glean that's useful from this tool. So we'll talk a little bit about some of the information that you can get from the tool.
I'll try to equip you with couple skills within the Google Analytics UI that you can use to track effectiveness of your web applications. Then we'll look at the technical implementation side and add a couple analytics tracking features to our to do application. Then we'll wrap up with some Q&A and if there are specific topics that we want to dive deeper on maybe we can look at that. Maybe we can look at the S3 bucket a bit there.
Maybe do some live coding there. Yeah, that's kinda what we're gonna do here on day two. It's gonna be a lot of code and I hope you enjoy doing it as much as I do.
Note: This course was created by Frontend Masters. It was originally released on 12/28/2016. We're pleased to host this training in our library.
- Serving HTTP requests with Express
- NPM scripts and Grunt
- NPM scripts and Elastic Beanstalk
- The database
- Sequelize and PostgreSQL
- Production environment
- Elastic Beanstalk and RDS
- Provisioning an environment
- Sass and Sass alternatives
- Building with Vue.js
- Real-time user interfaces
- Production monitoring
- Google Universal Analytics