In this video, we're going to take a look at DevOps on IBM Cloud. We'll first learn about DevOps Methodologies and then go into the differences between continuous integration, continuous delivery, and continuous deployment. We'll then take a look at IBM specific DevOps services and end with a demo showing how to use continuous delivery to deploy an application to Cloud Foundry. Let's get started. What is DevOps? DevOps is a set of practices that combine software development dev and it operations ops. It aims to shorten the development lifecycle by providing continuous deployment with high software quality via automated tests and delivery governance. Continuous integration, continuous delivery, and continuous deployment are key topics for DevOps. Let's understand the differences between the three. Continuous integration is a form of automation testing which checks that the application is not broken whenever new commits are integrated into the main branch. Developers using continuous integration aimed to merge their changes back to the main branch as often as possible. Continuous delivery goes one step further than continuous integration in that you have an automated release process that merges your changes from the automated testing process and pushes them to a staging environment. Finally, continuous deployment goes one step further than continuous delivery and automates the process of pushing changes from the staging environment to the production environment. This enables new features and patches to reach your customer even faster. The IBM Cloud DevOps services are a set of tools that support development, deployment, continuous delivery, and operational tasks. A DevOps toolchain is a set of tools and templates that automates the tasks of developing and deploying your application. It contains templates for building and deploying your project. It also supports integration with many third-party tools. The continuous delivery service automates the building and deployment of applications. The delivery pipeline is a part of the continuous delivery service. It allows developers to automate builds, unit tests, and deployments. Here we see an example of using the DevOps approach with IBM Cloud tool chain. First, we have the thing phase in which we use GitLab to plan our Sprint tasks using issues. Next, we have the code phase in which we commit changes to our code from the Orion web IDE to our repository. Once the commit is pushed, the deliver phase starts automatically. In this phase, we delivered the latest version of our code to our staging and production environments using our delivery pipeline. Next, we have the run phase. In this phase our application is pushed to a Cloud Foundry service or Kubernetes service and we can see it running on IBM Cloud dashboard. Next, we have the learn phase. We use Google Analytics to gather data and feedback to incorporate into future releases. Last, we have the culture. Slack enables teams to communicate faster and more efficiently. Here are some examples of tools which you can use to build your code in IBM Cloud toolchains: GitLab CE, GitHub, and Bitbucket. IBM Cloud toolchains offer a few different delivery options. First, we can deliver a docker application and its helm chart together in source control and have it built and deployed automatically to a Kubernetes cluster. Another option is that you can develop an application and deploy changes using a Razee agent in your Kubernetes cluster. Most of the toolchain templates have an option of using Tekton as your delivery pipeline, which is an open source Kubernetes native in framework for continuous delivery. In the run stage you can choose the target or where your application will be deployed. With Cloud Foundry, your application will be deployed as a Cloud Foundry application on IBM Cloud. You can also choose to run your applications on a Kubernetes cluster. As a more advanced option, you can choose to run your application on a virtual server of your choice. In the learn stage, you can gather data and feedback about your application to continuously improve and prioritize features in future releases. Here are some of the integration the IBM Cloud tool chain support. We support New Relic, which provides an observe ability platform to ensure your stack is running as efficiently as possible. We support Google Analytics, which is an analytic software which helps monitor your website traffic and better understand your customers. Ans Sauce labs, a cloud-based platform which specializes in automated testing for web and mobile applications. Then we have culture. In the culture stage, IBM Cloud toolchains provides tools to improve cross functional communication between teams. We have slack, which is a channel based searchable messaging platform PagerDuty, an incident response platform, and Jira, which is an issue tracking product developed by Atlas Ian that allows bug tracking, an agile project management. Let's get into an example of using continuous integration to deploy an application to Cloud Foundry. So first we start in the IBM Watson/Stock Advisor GitHub repo. And here we have the deployed to IBM Cloud button. So, you can see in the documentation we can click on deploy to IBM Cloud and this will create a toolchain for us in our IBM Cloud. So here we named the toolchain IBM Cloud Essentials, and we leave it in the Dallas region and we can see the source repository URL is IBM-Watson stock advisor. Delivery pipeline, we create a new API key. And the region, organization, and space is automatically filled up based on our IBM Cloud account. And I am in space dev. And now we're going to create our delivery pipeline. So now you can see that in the in the code stage we have the Orion, but now we're looking at the delivery pipeline and we can see the build stage an in the input we can see that we're inputting a git repository and we're checking the latest changes and we're pulling from that IBM slash Watson stock advisor so we can see the latest commit. That's the last input, and then we can see that it's the build stages past now the deploy stage is running, so that's automatically triggered. So that is deploying our application now, so we can check the logs and we see that the it's going well and we're binding a couple services to our application. And now we see that the application was deployed successfully and we have the URL. So, Watson stock advisor dash IBM Cloudessentials.mybluemix.net So here we can see our deployed application. It's looking good. We can add stocks, we can do whatever. But now if we go back into our IBM Cloud we can look and check the status of our Cloud Foundry application that was automatically deployed with our tool chain. So, here we are in our application we can see the instances. We can see the runtime SDK for node. We can visit the app URL. It'll take us back to Watson stock advisor. So, that was a quick demo of how to use continuous delivery within IBM Cloud tool chains. To summarize, DevOps on IBM Cloud allows you to shorten your software development lifecycle and provide high quality software. You can customize your pipeline to make it as simple or complex as you'd like. You can use third-party integrations to allow you to plug into different tools, and we have an end to end solution for all stages of your DevOps process.