Better Software West 2018 - Configuration Management
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...
Building Continuous Delivery Pipelines
Although continuous delivery (CD) and DevOps are growing in popularity, not much practical information is available about how to get started. Join Ken Mugrage for this hands-on technical tutorial where you can get your feet wet and your questions answered. In this workshop, Ken will provide a cloud-based instance of the continuous delivery server GoCD for you to learn on. You will configure a complete continuous delivery pipeline from source code commit through deployment. Learn when to run each common type of automated test for the fastest possible feedback and how to run tests in...
Wednesday, June 6
Managing Microservices Using Terraform, Docker, and the Cloud
Much has been written about how to write microservices, but not enough about how to effectively deploy and manage them. Microservices architecture multiplies the number of deployables IT has to manage by at least ten. In that world, tooling to manage cloud deployments and related infrastructure has become essential for success, and Terraform and Docker are increasingly being leveraged to facilitate microservices environments. Derek Ashmore will share his hard-learned best practices for deploying and managing microservices in production. He will leverage true infrastructure as code using...
Proving Out Your DevOps Pipeline Using a Minimum Viable Product
In the rush to be more competitive, an organization is often tempted to do an across-the board, "big bang" implementation. However, taking a big bang approach to implementing a DevOps pipeline carries with it a myriad of risks and challenges that can result in a failed DevOps implementation. Many of these risks and challenges can be mitigated or even eliminated by developing a DevOps minimum viable product (MVP). Join Tim Guay as he discusses how to apply an MVP concept to DevOps. You'll understand how to effectively test the end-to-end functionality of your DevOps pipeline and provide...
Liquibase: An Open Source Version Control Tool for Your Database
PreviewIt is generally accepted that you should always use proper version control when developing software. Why wouldn't you do the same with your database changes? It's even more important as part of a DevOps continuous integration strategy. Evolving your database schema using SQL scripts seems easy at the start but quickly becomes a nightmare as your application grows more complex. How do you track which scripts have been run? How do you rollback changes? Can you conditionally run certain changes for different environments? In this session Blaine Carter will discuss using a schema...
Thursday, June 7
Product Delivery Powered by Continuous Integration: A Case Study
Are you a developer who wants to easily manage and customize continuous integration and delivery? Do you work in a team environment where everyone collaborates and depends on CI for automation and delivery of clean code to production? In this session, Amit Mishra will share a case study of how Credit Karma evolved from a single, standalone CI instance to a self-service, Dockerized CI infrastructure combined with bots, webhooks, and GitHub APIs. He will cover GitHub's features and powerful APIs that were most valuable in this process, and how using GitHub freed up time previously spent on...
Scaling to Infinity: The Quest for Fully Automated, Scalable, Self-Healing Systems
The number of servers in our systems is constantly increasing. With the move to microservices and continuous deployment practices, deployments frequency is higher than ever, yet we are expected to handle increased demand with the same workforce as before. How can we operate clusters at scale with minimum human involvement? The answer lies in adoption of new practices and tools. Join Viktor Farcic as he discussions how container schedulers are becoming a de facto standard for deploying services at scale and continuous deployment is the new norm for complete automation of software delivery....
The Great Debate: The Pros and Cons of Continuous Delivery
The Great Continuous Delivery Debate There is a lot of debate about whether continuous delivery is a boon or a curse. Proponents will sing the praises of being able to deliver software into production very frequently with no manual intervention. Skeptics will highlight the challenges delivering quality, working with legacy code, and the need for intensive system-wide assurance activities prior to deploying into production. So which is it? Can most organizations benefit from continuous delivery and, if so, how? Or is continuous delivery a pipedream and only reachable by the select few....
Engineering Productivity and Enterprise Quality at Scale
Over the past two years, PayPal has been on a journey to modernize its internal development and test systems, from test environments, implementing enterprise continuous integration and code propagation into the development pipeline, to release processes and production code validation. Jose Buraschi and Nir Szilagyi will talk about transforming the code of 5,000 developers across 350 teams and how it required social “magic” to influence behaviors and motivate engagement. This modernization of PayPal's development practices has involved creating reliable integrated test environments,...