Building an Application Platform: Lessons from CloudBees
It goes by many names: Cloud, Platform as a Service, Computing Platform. It comes down to this: give developers the right interfaces to their operations to make them as productive as possible -- and all the while keep everything running smoothly.
Whatever you call it, it lets developers build better software, in less time at lower cost.
In this presentation Garrett will present a history of building an application platform at CloudBees, diving into important architectural and technical details along the way. He'll cover topics such as inter-node communication, monitoring and alerting, recovery strategy, and interface design.
Specific technologies covered will include AMQP, 0MQ, Erlang, Python, MySQL, Riak, and genapp (CloudBees' open source deployment framework).
The last five years have seen a dramatic change in the makeup of the application stack.
What was typically a cookie-cutter affair of bare metal servers running a monolithic application server talking to a relational database, is now an exotic mix of architectures, platforms, data stores, and languages.
This talk explores the four most important trends that are influencing how the application stack is changing.
Wide availability of cloud infrastructure opens the door to new architectural styles while facilitating easier, faster and cheaper access to large-scale compute resources. As developers we need to be familiar with the wealth of cloud options available and be comfortable with how we can apply them to solve our problems.
The acceptance of polyglot applications affects the stack in a great many ways. Not only are applications being written in multiple languages, but there is now a much wider selection of middleware components to chose from. Developers now need to understand more than just Java or C# to get by.
The NoSQL movement has yielded a great selection of relational database alternatives. From key-value stores to document-oriented databases, developers now have an important choice to make when assessing how to handle their data requirements.
The rise of DevOps has increased the importance of integrating development and operations. As a developer, an understanding of how your systems are managed and monitored is critical. Projects and Chef, Puppet and MCollective mean that developers now have an important role to play in creating an effective operations organisation.
Liked the song? It's "Tank" by Seatbelts–Vimeo Page