web age speaks! webinar series€¦ · engine, aws elastic beanstalk (built on top of the aws iaas...

31
"Web Age Speaks!" Webinar Series Introduction to DevOps

Upload: others

Post on 21-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

"Web Age Speaks!" Webinar Series

Introduction to DevOps

Page 2: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

2 ©WebAgeSolutions.com

Introduction

Mikhail Vladimirov Director, Curriculum Architecture

[email protected]

Web Age Solutions Providing a broad spectrum of regular and

customized training classes in programming, system administration and architecture to our clients across the world for over ten years

Page 3: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

3 ©WebAgeSolutions.com

Overview of Talk

Defining DevOps

Overview of Select DevOps Tools

IBM Tools for DevOps

Page 4: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

Introduction to DevOps

What is DevOps?

Page 5: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

5 ©WebAgeSolutions.com

Dev vs Ops

The Dev View The Ops View

We have aggressive deadlines -- Business is all over us Ops are much too sluggish supporting us (provisioning integration environment, etc.) They lost the application zip file we emailed them yesterday night -- it was eventually found in their "junk mail" folder Overall, we don't have trust and confidence in Operations (Ops) -- they are more like Oops, then Ops

Dev is all over us The application set-up guide sent by Dev was not complete -- they missed some critical steps, which resulted in our wasted time With so many new applications being released in the environment, we can no longer guarantee uninterrupted services Overall, we don't trust Dev

Page 6: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

6 ©WebAgeSolutions.com

Dilbert on DevOps (Sort of …)

Page 7: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

7 ©WebAgeSolutions.com

DevOps Simple Definition

DevOps is a contraction of Development and Operations

It is an approach to delivering software solutions in a continuous manner based on lean and agile practices

DevOps helps manage complexities of application delivery by creating a collaborative environment with participants coming from Development and Operations, Business, QA, and other stakeholder groups

The DevOps practice has been popularized by organizations adopting Cloud-as-a-Service computing model (Netflix, Flickr)

Page 8: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

8 ©WebAgeSolutions.com

DevOps and App Delivery Life Cycle

DevOps strives to efficiently increase the velocity of application delivery with activities spanning the whole application delivery life cycle :

Development

Testing

Deployment

Operation

Page 9: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

9 ©WebAgeSolutions.com

Main DevOps' Objectives

Continuous software delivery planning and control

Software delivery processes optimization

Software delivery process consistency and predictability

Minimization of the number of software defects and unnecessary re-work

Software delivery cycle time reduction

Page 10: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

10 ©WebAgeSolutions.com

Infrastructure as Code

"Infrastructure as Code" is a practice of provisioning infrastructure by executing system management and configuration scripts

Under DevOps, Dev is granted system administration privileges to run the infrastructure set-up scripts to automatically provision the necessary development and testing environments

Provisioning of other environments (staging, production) may still be the exclusive prerogative of personnel in the DevOps' Operations role

Infrastructure as Code is effectively supported by such tools as Chef, Puppet, and IBM UrbanCode Deploy

Page 11: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

11 ©WebAgeSolutions.com

Example of Using Puppet

1. You create a Manifest file using Puppet Domain Specific Language, e.g.

file {'/root/Works/created.dat':

ensure => present,

mode => 640,

content => "The content of this file"

}

2. Run Puppet to update the file resource locally:

puppet apply <Puppet script name>

3. You can in-line Puppet scripts: puppet apply -e "user { bozo': ensure => absent}"

Page 12: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

12 ©WebAgeSolutions.com

DevOps on the Cloud

DevOps agility can been dramatically enhanced with adopting Cloud Computing

Developers can easily self-provision the needed resources

Many cloud platforms allow for application code snapshotting which can be used for environment replication / cloning (Dev → QA → UAT → Prod)

Page 13: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

13 ©WebAgeSolutions.com

DevOps on IaaS

Popular IaaS platforms are: Amazon Web Services(AWS), Google Compute Engine, Microsoft Azure, Cloud Foundry, OpenStack, Rackspace

An IaaS platform gives you the lowest level of access to cloud infrastructure: VMs, virtual networks and load balances, a choice of storage solutions, etc.

DevOps will be responsible for patching OS / software, formatting raw block storage units, setting up security (open/close virtual firewall ports, managing ACL), etc.

Page 14: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

14 ©WebAgeSolutions.com

DevOps on PaaS

Popular PaaS platforms: Microsoft Azure, Google App Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

A PaaS platform gives users a selection of sandboxed run-time environments, APIs for accessing managed storage and messaging systems, etc.

Most of the run-time and provisioning tasks are handled by the platform vendor; DevOps involvement is limited to code promotion and some allowed high-level environment tuning

In essence, DevOps perform the push, scale, update types of activities on a PaaS

Page 15: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

15 ©WebAgeSolutions.com

Containerization Tools

A popular approach to gain a better utilization of a single physical / virtual machine's resources is to use containerization tools that allow for creating and running multiple VMs in containers on a single control host

Popular containerization tools are:

LXC

Works on Linux hosts by leveraging modern Linux kernel's cgroups capability for resource containerization such that applications' view of the underlying OS is completely isolated

Docker

An open-source project that automates the deployment of applications inside software containers (e.g. LXC)

Solaris Containers (Zones)

Cause a very low CPU and RAM overhead

First bundled with Oracle Solaris 11 release

Page 16: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

16 ©WebAgeSolutions.com

IT Automation

For large environments, configuration automation and management becomes a dire necessity

Most of configuration automation and management systems are built around the "infrastructure-as-code" paradigm

Popular IT Automation and Configuration Management tools are:

Puppet

Chef

Page 17: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

17 ©WebAgeSolutions.com

Puppet

Open source tool written in Ruby; runs on Linux and Windows

Allows to manage system configuration declaratively via its domain-specific language (DSL)

You can get Enterprise level support from Puppet Labs, a privately held company behind Puppet

Page 18: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

18 ©WebAgeSolutions.com

Chef

Manages sites on both Linux and Microsoft Windows

Written in Ruby and Erlang

Some claim that Chef is more flexible than Puppet, albeit at the expense of more complex system administration

Page 19: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

19 ©WebAgeSolutions.com

Continuous Integration Systems

Popular CI tools:

Jenkins

TeamCity

Page 20: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

20 ©WebAgeSolutions.com

Jenkins

A Java-based open source CI tool

Forked from “Hudson” in 2010

Hudson is now part of Eclipse Foundation with much weaker traction in the CI IT community

At its core, Jenkins is a Java Web server (e.g. Tomcat)

Jenkins supports integration with a number of version control systems (VCS), including AccuRev, CVS, Git, Perforce, Subversion, Clearcase, et al

Integrates with Apache Ant and Apache Maven build systems

Page 21: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

21 ©WebAgeSolutions.com

TeamCity

An automated build management system and CI server written in Java

Sponsored by JetBrains (https://www.jetbrains.com/)

TeamCity is a commercial product licensed from JetBrains

There is a free edition that supports up to 20 build configurations and 3 build agents

Page 22: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

22 ©WebAgeSolutions.com

Build and Dependency Mgmt. Tools

Apache Ant

Does not impose any coding conventions nor prescribed directory layouts for build projects

Uses Apache Ivy for dependency management

Maven

Contrary to Apache Ant, Maven uses naming conventions and prescribed folder structure for the build processes

Comes with many pre-defined targets for common project tasks (code compilation, packaging, etc.)

Page 23: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

23 ©WebAgeSolutions.com

Build and Dependency Mgmt Tools

Gradle

A project automation tool that is built around concepts of Apache Ant and Apache Maven

Written in Java and Groovy

Uses Groovy-based domain-specific language (DSL)

Designed for managing large projects backed up by complex build graphs, optimizing the build time by skipping parts of the project which have already been built

Gradle is tightly integrated with Ant importing Ant build files as external scripts to be executed

Page 24: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

24 ©WebAgeSolutions.com

IBM Lifecycle Management Solutions

IBM identifies Collaborative Lifecycle Management (CLM) as a holistic discipline focusing on improving software quality and increasing the velocity of software delivery

The CLM capability is built around a combination of Enterprise practices and disciplines, including:

requirements management

quality management

change and configuration management

project planning and tracking

Page 25: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

25 ©WebAgeSolutions.com

The Lifecycle Management Diagram

Source: IBM Knowledge Center

Page 26: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

26 ©WebAgeSolutions.com

IBM Lifecycle Management Solutions

IBM integrates a number of software delivery tools and systems into a unified Collaborative Lifecycle Management (CLM) platform:

Rational Team Concert

Rational Quality Manager

Rational DOORS Next Generation

The CLM platform brings together the complete set of application lifecycle management (ALM) capabilities that are mandated in the Enterprise space

Page 27: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

27 ©WebAgeSolutions.com

Rational Team Concert (RTC)

Rational Team Concert (RTC) creates one single agile project collaborative environment for:

Task and issue tracking

Source control

Agile project management and planning

Continuous Builds and Integration

Some DevOps staff working with RTC mention its high price and not consistent quality across the functional areas in its first versions

RTC is free for teams up to 10 developers

Page 28: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

28 ©WebAgeSolutions.com

Rational DOORS Next Generation

Rational DOORS Next Generation (DNG) is a requirements management solution

It helps with activities related to requirements capturing, storing, tracing and management

DNG helps assess the impact of any planned application change by linking submitted change requests to original requirements

DNG help maintain compliance with industry standards and applicable regulations

It integrates with IBM Rational Team Concert, IBM Rational Quality Manager and IBM Rational Rhapsody Design Manager on IBM Jazz collaborative lifecycle management platform

Page 29: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

Introduction to DevOps

Our Offerings

Page 31: Web Age Speaks! Webinar Series€¦ · Engine, AWS Elastic Beanstalk (built on top of the AWS IaaS platform), Heroku (acquired by Salesforce.com in 2010), CloudFoundry, IBM Bluemix

31 ©WebAgeSolutions.com

Summary

In this session, we reviewed

What DevOps is

Some Free and Proprietary DevOps Tools