ibm bluemix garage method workshop - manage and learn
Post on 08-Jan-2017
Embed Size (px)
CD Summit & Jenkins Days Dallas
IBM Bluemix Garage Method Workshops see the method in action
April 5th 12:30 - 4pm
Workshop - Manage and Learn from Your Minimum Viable Product By David E. Cox Senior Technical Staff Member, SaaS Delivery Lead Architect, IBM
Before you use this information, read the information in "Notices" on page 49. Copyright IBM Corporation 2016. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
Workshop Introduction The Manage and Learn from Your Minimum Viable Product workshop explores the Manage and Learn phases of the IBM Bluemix Garage Method and all of the associated practice, toolchain, tool, track, and experience articles. First, a bit about the articles that are fundamental to the method:
Practices define an overall business transformation goal and present achievable activities that you and your team can do to reach that goal.
Toolchains consist of a set of complementary and compatible tools that, when used together, create a flexible solution. Integrations across a toolchain help ease the workflows between the tools so that they work in synergy. In this way, a toolchain of complementary and compatible tools can boast collective capabilities that are greater than the sum of the individual tools.
Tracks tell a successful story that represents a guided path through the practices, toolchains, and tools that are used to develop a solution. The track that you follow depends on your business and transformation goals.
Experiences are just that: articles about transformation told from the perspective of IBMers who have been through it.
In this workshop, learn how to manage and learn from innovative new applications on the cloud by walking through the Manage and Learn phases of the Accelerating innovation with cloud native track of the IBM Bluemix Garage Method. Learn the practices, tools, and the Cloud-native toolchain that are used to develop on the cloud.
Ensure operational excellence Continuously monitor application status and performance Ensure high availability and fast recovery Leverage log data to expedite problem identification and resolution Shift operational practices to the front of the development cycle to improve reliability
Lets explore some of the Manage practices available on the site:
Operations automation Operations is a costly business. Automation enables you to reduce costs and focus your valuable staff on higher value tasks.
Experience: Resilient operations
Chaotic testing Continuously improve stability and recovery time of your production environment by injecting ongoing random failures.
To maintain 99.999% availability, the IBM Bluemix Garage Method team practices development, monitoring, and operations techniques for high availability.
Auto-scaling applications Use auto-scaling for your applications to ensure that enough resources are available at peak times and to save costs by reducing the allocated resources during times of low usage. Fast recovery Continuous availability requires a new approach to how applications are developed and deployed. You can use techniques to manage nondisruptive change. The Circuit Breaker pattern In a cloud application with many interdependent microservices, use of the Circuit Breaker pattern ensures that a single failure does not take down an entire service.
Automated monitoring Automated monitoring is the most reliable way to ensure high availability of your applications and reduce down time.
Tool: New Relic
Continuously experiment to deliver the right solution
Formulate hypotheses and design experiments to drive development Establish clear metrics for decision-making Drive findings to the backlog and pivot
Lets explore some of the Learn practices available on the site:
Hypothesis-driven development Continuous delivery demands the use of hypotheses, not requirements, to deliver what customers want. Using this approach, developers embrace a mindset of continuous experimentation and are ready to pivot based on the outcome of the experiment.
Tool: Google Analytics
A/B testing Compare versions of a web page to gather empirical data, so that you can determine which approach gets the best results.
Workshop itinerary Part 1: (10 minutes)
Request IDs for Bluemix, Slack, and Sauce Labs. Configure Deploy to Bluemix and click go.
Instructor-led discussion on Manage (10 minutes) (While applications are deploying)
Overview of Continuous Delivery, IBM Bluemix DevOps Services, IBM Bluemix
Fast Recovery Part 2: (15 minutes)
Activity 1 Verification(sample app)
Activity 2 (Monitoring with New Relic and PagerDuty) Part 3: Instructor-led discussion on Manage (10 minutes)
Chaos testing Part 4: (10 minutes)
Activity 3 (Slack integration) Part 5: Instructor-led discussion on Learn (10 minutes)
A/B testing Part 6: (25 minutes)
Activity 4 (Google Analytics) Total 90 minutes .
Activity #1 Deploy the sample application
Create an application to monitor.
Option 1: Use the application from the Code - Deliver - Run workshop (skip to Activity #2)
Option 2: Create the sample app from Code - Deliver - Run workshop (15-20 minutes)
An IBM Bluemix account. If you dont have an account, register for one. Bluemix offers free 30-day trials. Click the Sign Up button, fill in your information, and click the Create Account button. Note: You will receive an email you must use to confirm your account.
Bluemix may prompt you for an alias name to associate with your ID. If this happens, pick a unique string (such as USAWS); you can use it as the alias here, the team in Slack, and the org name for PagerDuty.
A Slack account. If you dont have an account, register for one. Slack offers 30-day trials.
A Sauce Labs account. If you dont have an account, register for one. Sauce Labs offers 14-day trials.
In the next step, we will log in to IBM Bluemix DevOps Services and use the Deploy to Bluemix button to create a copy of a sample application that runs on IBM Bluemix. The sample application is a very simple application that provides three APIs: a hello API that issues a hello message, an API that lists applications, and an API that lists a single application. Before doing that, we need to locate information about our Slack and Sauce Labs accounts. This information is required in the next section (Deploy to Bluemix).
1. In preparation for configuring the Slack integration, the API Authentication Token is found by going to https://api.slack.com/web. Scroll down to the authentication section and click the Create Token button next to the appropriate Slack account.
2. In preparation for configuring the Sauce Labs integration, we need to locate your accounts access key. To locate the key, go to this link: https://saucelabs.com/beta/users/username. where username is the user name created during the trial set up. Click the up arrow next to your name, and then click My Account.
On the My Account page, scroll down to see the Access Key section. Click the Show button.
Authorize the showing of the key. Copy the key to the clipboard.
Deploy the sample application
1. Click to launch the sample application deployment. Login to Bluemix.
Your default region will be IBM Bluemix US South, your organization will be your user ID, and your space will be dev.
The Slack and Sauce Labs page will look similar to the panel below, where you will provide th