Better Software West 2018 - Full-day Tutorials
Monday, June 4
The DevOps 2.1 Toolkit: Continuous Deployment with Jenkins and Docker Swarm
DevOps is the answer to today's need for fast-paced, high quality software development—and continuous deployment (CD) is its culmination. The ability to deploy every commit to production is the ultimate proof that DevOps practices are implemented and that they provide real value. Join Viktor Farcic as he explores the processes and tools that lead to CD nirvana. Many of us have experimented with Docker, perhaps running one of the pre-built images from Docker Hub. The team might recognize the benefits Docker provides in building microservices and the advantages the technology brings to...
Tuesday, June 5
The Architecture of Microservices
Server-side monoliths—single programs that provide all back-end services—just don't work. They are hard to build, impossible to maintain, and gradually accrete so much baggage that forward development slows to a crawl. Agile development is impossible over this sort of system. Allen Holub says that microservices—systems of small, cooperating server-side agents—solve these problems. However, building a microservice system is not easy, and doing it wrong is disastrous. Taking a deep dive into practical microservice architecture and implementation, Allen covers a lot of practical details to...
Continuous Delivery in Practice: A Hands-On DevOps Workshop
For many organizations, delivering software into production has become increasingly more complex with long testing cycles and a division between development and operations teams. DevOps is a cultural movement that is breaking down those barriers. Focusing on automation, collaboration, tools, and knowledge sharing, DevOps is showing that developers and system engineers have much to learn from each other. Through a series of hands-on exercises, Danilo Sato will use a sample web application to demonstrate how to automate its build and deployment pipeline, using infrastructure and pipeline as...
Take Your Test-Driven Development to the Next Level
PreviewTest-driven development (TDD) is a powerful discipline that combines testing, coding, and software design to ameliorate defect rates and facilitate future enhancements. TDD has been around for some twenty years, so why isn’t it more prevalent—and more popular? For one thing, TDD is not easy to get right! And, it seems expensive. In this mostly hands-on tutorial, Rob Myers will explore these concerns by diving straight into the deep-end. Rather than starting with theory and working toward practice, Rob is going to reverse the tutorial recipe. Come prepared to spend the first half of...