DevOps

What is DevOps? Think, Code, Deploy, Run, Manage, Learn

Share this post:

Creating a DevOps workflow from scratch can be a daunting task. Luckily creating a DevOps solution is not too terribly difficult. This post will help guide you through all the new terms and functionality so that  you can answer the question:

“What is Devops?”

DevOps is an approach that promotes closer collaboration between lines of business, development and IT operations. It is an enterprise capability that enables the continuous delivery, continuous deployment and continuous monitoring of applications. It reduces the time needed to address customer feedback. Development and operations, and even testing, were often siloed in the past. DevOps brings them together to improve agility.  In this post to explore “What is DevOps?” we will be covering the following basics of a DevOps workflow: Think, Code, Deploy, Run, Manage, Learn

Getting started with Bluemix DevOps is the home for all DevOps needs in the Bluemix portal.

  • ToolchainsA collection of applications and custom integrations that support your application.
  • PipelineA series of scripts that run in sequence to build and deploy your application
  • Continuous Delivery: Changes are be deployed continuously, and automatically.

To get started, Create a toolchain, and select an appropriate template to your application.

Think

The Think stage is were a developer will take their idea and write it down.

  • Github Issues: Ideal for public facing projects already on github.com
  • Bluemix Github Issues: Bluemix has a hosted version of GitLab community Edition that integrates very strongly with toolchains, and is idea for private or new projects.
  • Jira: An integration is available for projects that already have a backlog tracked in Jira.

Code

Now that we can track changes to our project with issues, its time to actually write some code! As part of the toolchain Bluemix provides access to Eclipse Oriion IDE which is a great tool for editing code online, managing changes to git, and tracking its deployment to cloud foundry.

What is devops? Basic toolchain

Deliver

Next is the Deliver step, which is where most of the “magic” of DevOps comes into play. The Delivery Pipeline starts with a trigger. The trigger can be an API call, or more commonly a change to the git repository.

The first stage will check out the code and make the files available to the pipeline as an artifact. Next come the test stage, which ensures new changes didn’t break anything. Then comes the deploy stage, making the new changes available.

Each stage in the pipeline is broken down into Jobs. Which can be as simple as a bash script, to more full featured jobs like Ant or Maven builders. Most noteworthy is the inclusion of some advanced testing that brings in the power of Watson to analyze the codebase, like the DevOps Insights plugin. Included in the testing jobs are some advanced functionality like the AppScan Dynamic Analyzer and IBM Security Static Analyzer, all of which help you gather robust information about your project that might have gone unnoticed otherwise.

What is DevOps? Basic Delivery Pipeline

Run

At the end of a delivery pipeline, your application should be running, either in a development or production environment. Bluemix offers a variety of options on how to get your code out on the Internet.

  • Cloud Foundry: Uses a Diego Container to run an application in an isolated environment.
  • Docker / Kubernetes: Package your application into a container and deploy it as needed.
  • Bare metal / VMs: Bluemix handles the hardware management, but give you full control over the operating system to run your applications with as little overhead as possible. Deploying changes here can be a bit challenging, so software like UrbanCode Deploy can greatly reduce the manual steps involved in deploying changes to bare metal environments.

Manage

After an application is running, keeping it running is also very important. Bluemix has a variety of tools to help with monitoring and manageing applications. One of the most obvious to get setup first is the Availability Monitoring service, which not only allows you to test if your application is responding, but how well it is responding from around the world, along with being able to perform Selenium tests.

Selenium tests are probably the best way to simulate user actions by recording actual mouse clicks and button presses into a HTML document, which can then be used to create a scripted test. In addition to scripted tests, the monitoring service can poll specific pages.

What is DevOps? Basic Monitoring

Learn

Bluemix keeps some of its more distinct and interesting features in the Learn phase.
Developer Insights is one such tool that not only can be used to find problem areas in a code base, and it can also be integrated into a tool chain with a Insight Gate to make sure any new commit is of sufficient quality before being released. Along with Developer Insights is the Delivery Insights which integrates with Urban Code Deploy to provide insights into how well your deployments go.

What is devops? Code Insights

Repeat

Finally we have successfully completed one cycle of the Bluemix Garage Method! From here the cycle repeats, again and again. Hopefully you now understand the answer to the question “What is DevOps?” Want to see it live? Then register for “IBM Bluemix 101: How to Solve DevOps Dilemmas” on June 8th!







































More How-tos Stories

IBM Globalization Pipeline Introduces Integrated Professional Translation

Almost a year ago, when we first announced and released IBM Globalization Pipeline on Bluemix, we were looking to solve a simple problem facing Bluemix development teams wanting to expand into global markets -- how can Cloud dev teams translate their applications into different languages without impeding continuous delivery and disrupting DevOps? In answer, we delivered Globalization Pipeline -- a Bluemix service that enables developers to integrate translation processes into their build and deploy infrastructure and translate their apps using machine translation. Think integration with IBM DevOps services, UrbanCode Deploy, Continuous Delivery, Maven, VS Code, and Atom, think Watson Language Translator, think client SDKs for dynamic app translation updates.

Continue reading

Manage access to your DevOps toolchains

Bluemix allows you to quickly stand up and manage your DevOps toolchains to develop, deploy, and test your applications. This post explains how you can manage access to your toolchain via the Manage tab on the toolchain page.

Continue reading

Quickly Develop, Build, and Deploy Applications on IBM Cloud with DevOps services

For development teams getting started with new cloud projects, whether they’re mobile, web, or IOT, setting up the needed resources, DevOps services and tools can take up a significant amount of time – time the delivery team could use being productive and innovative in their approach to continuous delivery of apps. Teams need to think about the following key aspects as they set up their new projects

Continue reading