Category Archives: DevOps
15 Tricky DevOps Architect Interview Questions & Answers
DevOps and DevSecOps are two sides of the same coin. They both share some goals, but they also have their differences. It is important to understand what each one means so that you can implement them properly in your organization. In this post, you will learn about some of the questions (and answers) which could be asked in the DevOps Architect interview. The following are some of the topics you might want to cover for doing interview preparation for DevOps Architect position: DevOps & DevSecOps concepts Setting up DevOps implementation DevOps reference architecture DevOps reference implementation Continuous delivery concepts & reference architecture Technologies (Tools s& Frameworks) Here is a related …
DevOps Maturity Model – Telstra DevOps Implementation
In this post, you will get a quick glimpse of how Telstra successfully rolled out DevOps across the entire organization (170 teams). The details have been taken from this post. You could use the details given below to lay out the maturity model for DevOps implementation in your organization. The following is the DevOps Maturity Model which Telstra team looks to have worked upon: Here are the key aspects of the DevOps practice (implementation) vis-a-vis maturity model: Ad-hoc implementations Teams across the organization doing ad-hoc implementations Different tools & framework used across different teams Different processes followed Teams do not seem to have a proper understanding of what is DevOps, benefits of DevOps etc. Proof-of-concept …
How to Start DevOps or DevSecOps in your Organization
Is your organization starting to face issues related to delay in moving software changes into production due to build failures, environment-related failures, collaboration related issues between dev, QA, security professionals? Is your organization starting to face stiff competition from startups and other competitors due to delay in moving new features to customers in a faster manner? Is your organization looking to serve the customers in a faster manner with new features and bug fixes? If these are some of your concerns, you may want to start considering the adoption of DevOps or DevSecOps principles in your software development lifecycle. In this post, you would learn about some of the following …
Configure Nexus Repository for Docker Registry (Windows)
In this post, you will learn about how to configure Nexus Repository OSS on Windows as a Docker Private Registry. The goal of doing this can be some of the following: Allow developers to push/pull images from local docker image repository installed within the company-wide private network Allow Jenkins jobs to pull images for running automated tasks One of the key aspects of DevOps automation using Docker containers is setting up private Docker registry which could be accessed by developers. This tutorial would help in setting up Nexus repository as a private Docker registry. How to Configure Nexus Repository OSS on Windows for Private Docker Registry The following are the steps to configure Nexus Repository OSS …
Top 6 IT Automation Framework for DevOps (2017-2018)
This page lists down top 6 IT automation framework which can be used to achieve DevOps goals in relation with IT automation. Chef: Chef claims to achieve speed, scale, and consistency by automating the infrastructure. Ansible: Open-source framework in order to scale automation, manage complex deployments and speed productivity. Puppet: Puppet claims to achieve IT automation in relation with delivering and operating software. CFEngine: Open-source light-weight automation fraemwork for automating large-scale, complex and mission critical IT infrastructure. It claims that it is known for its speed, stability, security and scalability. SaltStack: IT automation framework for DevOps RunDeck Trends for IT Automation Tools (2017) Below represents the trends of Chef, Puppet …
Software Build & Release Versioning Strategy
The blog represents the software build and release versioning strategy which can be used to tag web or mobile releases with different version numbering schemes as illustrated later. The strategy can as well be used for software versioning. Build/Release Version Numbering Scheme – <major>.<minor>.<patch>.<buildnumber> A release version can be of type <major>.<minor>.<patch>.<buildnumber>. Following is what each of these keywords such as major, minor, patch and buildnumber represents: major: Indicates a significant change in the application which may essentially mean one of the following: The app is re-written The app has changed significantly so much so that backward compatibility with older versions gets broken. Large set of new features At times, …
Configure Bitbucket Webhook to Trigger Jenkins Builds on AWS EC2
This article represents steps required to configure BitBucket Webhook to trigger Jenkins Builds on AWS EC2 based on code committed in the repository. This essentially means that a code commit in the BitBucket code repository would trigger a build in Jenkins server running on AWS EC2 machine. This forms the starting point of continuous delivery pipeline. The jenkins build, when triggered as a result of code push, could perform tasks such as some of the following: Run the build, Run tests Publish build artifacts in artifactory Deploying the build artifacts in different environments including QA, UAT and production. Please feel free to comment/suggest if I missed to mention one or …
6 Key Elements of DevOps based Software Development
This article represents key aspects of DevOps approach which can be used to achieve continuous delivery/continuous deployment of software unit thereby achieving key business object of low-time-to-market and competitive edge. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. List of 6 Cs which are core to DevOps Approach Following diagram represents key aspects in achieving continuous delivery/deployment of a software unit while working based on DevOps approach. Collaborative Development Continuous Integration Continuous Testing Continuous Deployment or Release Continuous Feedback Continuous Monitoring
Microservices, Continuous Delivery & AWS Cloud – Part 1
This article represents details on how would the technology architecture look like when dealing with continuous delivery of microservices containers (Dockers) on AWS Cloud. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points which will be dealt with, in this and the following article (part 2): Technology architecture building blocks Technology architecture description Technology team and required skillsets In this article, we shall look into key technology architecture building blocks. In second part of the series, we shall look into steps needed to be configured to achieve the continuous delivery of microservices containers into AWS cloud …
Dockers Containers only to shine more with Kubernetes
A year back, I got started with Dockers Containers. 2-3 months down the road and I realized that thankfully I learnt a revolutionary technology because of some of the following reasons: Quick Learning: Docker containers were used to spin up my exploratory learning environment, on-demand demand, for any tool/ framework/Programming language I wanted to learn On-demand Self-service Environments: Docker containers were used to setup on-demand self-service dev/test environments. This was a huge productivity booster for developers and test engineers. Automated Deployments: With Docker containers, Jenkins, Repository etc, I saw the automated deployments getting created in dev/testing/UAT servers. Following are some of the areas where I felt the need for some …
Docker – Install & Access Docker Compose from Putty Client
If you are one of them who access the docker machine using putty client, and you want to work with docker-compose, here is what you need to do: Open a putty client accessing the docker machine. Log in as root using command “sudo -i” Execute the following commands to download and install the docker-compose curl -L https://github.com/docker/compose/releases/download/1.6.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose Once done, execute the command “docker-compose –version” to check whether version number is printed. You could read about Docker-compose on this page.
Docker – 3 Different Ways to Create Images
This article represents 3 different ways using which one could create a Docker image. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. In the command below, hub-user is the name of your user account on http://hub.docker.com, repo-name is the repository name that you create and tag is the name you assign to specific image (e.g., dev, testing etc). Following are the different ways: docker build -t <hub-user>/<repo-name>[:<tag>] -t <dockerfile> . docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]. The “existing-image” uis the name of image which already exists in your local repository. docker commit <exiting-container> <hub-user>/<repo-name>[:<tag>]. This command is handy when you …
Docker – Quick Java 8 or Java 7 Dev Environment with Dockers
This article represents code samples which could be used to build and start Java 7 or Java 8 Docker containers appropriately based on the needs with a single script and command such as “./startJava.sh -v 7 Java7” for Java 7 and “./startJava.sh -v 8 java8” for Java 8. This would be useful to try and test your Java code against Java 7 and Java 8 versions very easily based on the fact that you could start both Java7 and Java8 containers simultaneously and, run your code in these containers at the same time for testing. Please feel free to comment/suggest if I missed to mention one or more important points. …
Docker – How to Build & Get Started with Java 7 Container
This article represents tips and code samples on how to build a Java7 docker image and start Java 7containers. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points described later in this article: Dockerfile to Build Java 7 Image Command to Start Java 7 Container Dockerfile to Build Java 7 Image Following is the code for Dockerfile which could be used to build Java 7 image: FROM centos:centos6 RUN mkdir /opt/jdk RUN cd /opt RUN yum -y install wget tar RUN wget –header “Cookie: oraclelicense=accept-securebackup-cookie” http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz RUN tar -zxf jdk-7u79-linux-x64.tar.gz -C /opt/jdk RUN …
Docker – How to Install Docker Compose on Windows
This article represents tips and code samples which could be used to install Docker-compose on Windows. The instructions could also be found on this page. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points: Make sure you have Docker Engine version 1.7.1 or greater. Open a putty terminal accessing the “default” docker-machine or do “docker-machine ssh default”. You could put name of any other machine based on docker-machine in which you want to install docker-compose. Login as a Superuser using command “sudo -i” Install the docker-compose using following command: Do note that one would …
Dockers – How to Get Started with Java8 Dev Environment
This article represents take away code samples and tips on how to setup Java8 container using Dockers and get started. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points described later in this article: Java 8 Image Dockerfile Install Scripts to Install and Start Java8 Env Java 8 Image Dockerfile Following is Dockerfile for creating Java8 image. Name the file as java8_base.df. # Base is the Centos environment FROM centos:centos6 # Make the directories under which Java 8 will get installed RUN mkdir /opt/jdk RUN cd /opt # Install wget and tar which …
I found it very helpful. However the differences are not too understandable for me