The New App Stack



Speaker 1:  How's it going? My question's for Josh. What's your take on Hyper Ledger and Corda in all these companies that are pushing towards this whole enterprise world of enterprise blockchain?

Josh:  What you find actually in that space is, I think they have a lot to offer those companies that are actually interested in upgrading some of their Legacy database systems. But ultimately the longer that those projects go on, in my view anyway, the less they actually resemble the public blockchains for which they share that nomen clincher. 

A great example of this is our three, which was a consortium that was created to help banks work with blockchain technology. They got the cat out of the bag a couple of months ago and announced that with Corda that it is not really based on blockchain tech because it isn't. It's a different sort of consensus space, database system. 

I think it's honestly it's great for these banks and financial institutions to have motivation to upgrade their systems. Ultimately a lot of those upgrades could be better served by just using a database that's been battle tested and building their own infrastructure on Cloud based services first, in my view.

Speaker 1:  Followup question on the block chain. What do you know about Apache Kafka because in many ways it's somewhat similar to block chain in the sense that it's a ledger versus a database and it's highly performing and all that.

Josh:  Yes. I actually, I'm not as familiar with Kafka personally. I don't know if other-

Danny:  I do know. So, Kafka, it's a stream of data. Think of it as ongoing logs that are super reliable. For example, when I was at Event Brite, they had this crufty old MySQL database. They needed to figure out when actions were occurring so that way they could send web hooks to customers. That way their partners could come up with things. That way Tough Mudder could let you know when your thing was actually purchased. There's just no way you could it in the code base of MySQL. We could scrape the MySQL logs and then use Kafka to send that to another server. Kafka would mean that we would get the same thing multiple times.

Everything we did had to be item potent. I would not replace a regular database with Kafka. Now that said, I'm not the world's best expert on Kafka, but yeah, I would not ... anything touching Kafka I would make absolutely item potent as you can.

Speaker 4:  We can originally see a lot of customers like integrate Citus with Kafka. Basically all the data comes into the database as the system of record, but you what you want is an audit log. You want kind of all of my events coming out of the database with something deleted, edited, update. You don't actually want to keep all that state in the database, but Kafka is a very good system as kind of like the hub to stream that data elsewhere to have that change data capture log. All that in a centralized place that you can kind of replay, rewind, subscribe to various topics.

I see it a lot used in those kind of audit logs and as an integration hub for sending data from a database to a data warehouse to other places.

Randall:  Great question. I think there's another one over there somewhere. Oh, there you go.

Speaker 6:  You guys have heard a lot of backend technologies. Can you talk real quickly on some of the exciting trends you're seeing on the front end? No? 

Danny:  No, we can talk about it. Do you want to go?

Speaker 5:  Let me just ask the question then because I think this is where the job is going to go down. What do you guys prefer? React, Angular or View JS? Go.

Danny:  I'll just jump in. Sorry. 

Josh:  Go for it.

Danny:  I think all of them are amazing pieces of technology. View JS is just light and clean and it's easy to integrate with an existing application. All of them can claim that, but I think View JS is the best one about it. 

Angular, has some neat features, but the jump from version one to version two is really painful. The only reason why they pulled that one off is because Google. But that said, Angular 2 is pretty good stuff. 

React, we use. I don't use it, but our front end engineers use it and they really enjoy it. I can tell you before you use it and we're going to hear the official Facebook answer, talk to your legal team first. 

I'll leave it for Faska.

Faska:  React, it seems like it's taking over the world as far as when people are coming into application development, they're being pushed heavily on React, coursework, universities, it's blown up way beyond what I ever thought it would have. I don't use it that much myself. 

As far as the legal concerns, I would say, read our latest post about this. It was very thoughtful and considered and as far as licensing goes, it's something that we think other people should adopt as well. 

Randall:  I was not really that aware of the licensing issues with React. What do you guys actually referring to there?

Faska:  So Facebook uses a license that is the BSD license with an additional patent grant, which gives you a license to use whatever in React that is patented. Most places do not have an issue with this on a legal basis. There are some places like the Apache Foundation that made a policy decision to add that to a list of not welcome licenses that for them to redistribute. 

For most people, it's just not a concern. It's kind of been over blown, I think. 

Randall:  Shifting just back to general front end development trends and stuff, I mean, single paid jobs have been sort of around for what? Five or six years now, I think, started to get going. Danny, when you guys are building on new client apps, what is the full stack you use on the front end? What's the full stack you use on the backend? How do you handle cross communication between those?

Danny:  Well with the front end, it kind of depends on what a particular front end teams wants to use. We believe especially on the front end that people should use the tools that they're really comfortable with. React is very popular. 

Then on the backend, we always use Django. We have a few things that are in Flask, but really it's Django. Cartwheels had a lot of success, but big projects using Django. 

Then to communicate back and forth, we typically use a rest API to handle that communication. If we need, to we dive into Socket. It's pretty straight forward. 

The nice things about these things is that it doesn't matter if it's hitting a desktop browser, a mobile device, a separate business making API calls. So, we can publish, basically an API and then everybody can hit it. The trick is, of course, is trying to provide all the same data that you might get through a web client, also through the API client and people mess that up all the time.

Speaker 4:  And you store it all in Mongo?

Danny:  No, we do it in [Piscos 00:07:53]. You know that. And Memcached D for ephemeral data. 

Randall:  Josh, what about Lyft? What stuff is Lyft using to handle their front end development? Are you going to rate those tools and [crosstalk 00:08:03].

Josh:  Yeah, a little bit, actually. We just redesigned our developer portal and it was predominantly React, actually. Our front end platform team has been developing more tooling and libraries around React as well. I think it's one of these cases where, again, I'm not by trade a front end developer, but my impression has been that most front end developers that start using React really feel much more productive using it. 

That's been my experience managing someone building our developer portal site. I can kind of see us continuing to invest energy and time there.

Randall:  Cool. Well, I think that's the end of our time right now. But I just want to thank all of you for coming to check this out. 

Real quick, we're going to all be at the developer lounge under the escalators by where you enter. If you like to come and talk or hang out and talk about current projects, security or any of the fun topics we're covering today, please meet us over there.

We're also giving away signed copies of Aaron Parecki's new book on OAuth 2.0. So if you're interested in that, you should definitely come by. 

Thank you guys very much.

The way teams build applications has changed dramatically with the advent of the cloud ecosystem. Instead of custom building every part of an application, modern development teams are instead assembling applications with cloud-based building blocks like Twilio, Stripe, AWS, and Okta Dev Platform. Come learn how the new app stack can radically change your speed to market and dev costs.