Many applications now use PostgreSQL as a database; the price, features, and community have long made for a compelling use case. But what if you need several, or many, PostgreSQL servers? How can you best deploy such servers? One answer is to use Ansible, a provisioning system written in Python that has become an increasingly popular alternative to such well-known systems as Chef and Puppet. In this talk, Kenny Gorman describes why you would want to provision your PostgreSQL servers with Ansible, and then how you can do so.
How do you deploy your services? A decade ago, the assumption was that you were deploying your application to each of a number of servers, and that you would update the software on each server as you released new versions. But today, a growing number of organizations are making use of containers and virtual machines to deploy in a totally different way, using immutable servers that are deployed a single time. Why have so many companies started to adopt this model, what are the advantages, and (just as importantly) what are the disadvantages? What considerations should you have in mind when you switch to a set of immutable containers? In this talk, John Willis describes the thinking behind immutability, and what you should keep in mind if and when you switch to that approach.
Front-end development is popular and necessary — but it is also hampered by the fact that everything happens on the client. Perhaps “hampered” is too strong of a word, but there are times when a front-end developer wants or needs access to a server. In this talk, Martin Gontovnikas introduces “webtasks,” which can be described as a small backend application to support a large front-end application.
Instagram is a huge Web application, and has needed to scale very rapidly. In this talk, Rodrigo Schmidt asks the questions: What do you scale, how do you scale, and why do you even need to scale? You can’t scale everything at once, so how do you prioritize which things should be scaled first? How can you grow from a Web application to a mix of Web and mobile users?
It used to be that companies could get away with a single system administrator. But those days are long gone; most companies of even a small size have several people working not as administrators, but rather as DevOps engineers, ensuring that the farms of specialized servers that a company uses run smoothly, quietly, and scalably without any hiccups. How do you put together a DevOps team? What skills (software, hardware, and interpersonal) should you look for? In this talk, Charity Majors describes what is involved in creating a DevOps team, how she has done this at a few different companies — and what she has learned from these experiences.
Nearly every server program produces logs — and while they’re often useful for debugging, they can be even more useful in helping to understand, review, and gain insights into the nature of your software and users. In this talk, Britta Weber describes the “ELK stack,” consisting of Elasticsearch + logstash + kibana, three open-source tools which can work together to provide useful insights from your logfiles.
Containers are no longer the Next Big Thing; they are here, and are becoming an essential part of running any large-scale data center. But this means that you have to manage those containers, and a growing number of tools is starting to help with that task. Google is pushing Kubernetes, an open-source management system for containers. In this talk, Brendan Burns describes Kubernetes, how it works, and what it offers. If you’re interested in managing a large number of servers, then Kubernetes might provide a good solution.
HTTP/2 is here! This new version of the Web’s most popular protocol is optimized for modern Web uses. Our networks are faster, our browsers are smarter, and our requirements are tougher than was the case when the previous version of HTTP was released. But it turns out that HTTP/2’s speed isn’t just a matter of switching out the old servers and switching in the new ones: The best practices that we developed for years, in order to make our Web sites fast and efficient, conflict in some ways with the ways in which HTTP/2 expects us to work. In this talk, Ilya Grigorik describes HTTP/2, and contrasts it with HTTP/1.x — less to understand the protocol itself, than to understand how it works.
If you have a popular Web site, then you’re going to need to deal with scaling issues. And one of the things that most popular Web sites do to handle such scaling issues is to add a CDN, or “content distribution network,” which increases the perceived speed to end usersand reduces bandwidth needs on the server. If you’re Netflix, then these issues are crucial to your business. In this talk, Dave Temkin describes how he helped Netflix to build a CDN using open-source tools, what problems they encountered, and what we can learn from what they’ve done.
The days of single-server apps have long been over; it’s now standard for a Web application to have multiple Web servers, one or more database servers, and a number of additional servers for other services, such as Redis, e-mail, and message queues. VMs and containers (e.g., Docker) have made it easier to manage these individual servers, but how do you optimize the allocation, provisioning, and balancing of these servers? Mesos is an open-source project (sponsored by Apache) that manages clusters, and Marathon is a Mesos-based framework that handles scaling for large clusters. In this talk, Connor Doyle introduces Mesos and Marathon, and demonstrates how they can help growing sites to scale their server needs up and down, in an intelligent and controlled way.