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 diagram on topics which are useful for DevOps architect interview preparation.
DevOps Architect Interview Q&A
The following are some of the interview questions and answers for DevOps Architect:
- What is DevOps or DevSecOps?
Ans: DevOps or DevSecOps can be defined as a philosophy for software development with the primary goal as reducing mean-time-to-change (MTTC) and mean-time-to-recovery (MTTR) for moving new features or bug fixes into production for incorporating customers’ feedback in the faster manner.
- What is the difference between DevOps and DevSecOps?
Ans: The primary difference is that DevOps requires Developers & IT/OPs staff members work together as one team with shared sprint goals while DevSecOps requires Developers, IT/OPs and Security staff work together as one team with shared sprint goals. Another key difference is the inclusion of security-related tools at the different stage of SDLC for automation of security testing.
- How to get started with DevOps initiatives?
Ans: There are different steps such as assessment, gaps analysis, maturity model, project implementation roadmap etc which are required to get started with DevOps or DevSecOps initiatives in your organization. The greater details could be found on this page: How to get started with DevOps or DevSecOps in your organization?
- How would you go about measuring the success of DevOps adoption across the organization?
Ans: The primary method of measuring DevOps success is to measure some of the following:
A. Mean-Time-to-Change (MTTC)
B. Mean-Time-to-Recovery (MTTR)
C. Frequency of release
- Could you define a sample DevOps maturity model?
Ans: The following could be some of the different stages across which organization could plan to progress in order to achieve success in DevOps or DevSecOps rollout:
A. Ad-Hoc: Perform ad-hoc tasks such as build automation, environment provisioning automation on-demand.
B. Organized or Planned: Plan the DevOps project roadmap; As part of planning, choose development methodologies, team, tools & frameworks to be used, required teams’ training/mentoring etc.
C. Align & Assess: Implement proof-of-concept for one or two teams covering key aspects of DevOps implementation. Learn lessons and change the plan appropriately to be used for major rollout across different teams in the organization.
D. Institutionalization: Roll-out the DevOps/DevSecOps implementation across different teams in the organization.
E. Continuous Improvement: Learn the lessons and continuously improve the DevOps processes.
- Many talks about setting up of DevOps team for implementing DevOps in their organization. What are your thoughts in this relation?
Ans: A separate DevOps team can’t be set up. This is because DevOps is a software development philosophy requiring Developers & IT/OPs staff members to work as a single team with shared Sprint (Agile SCRUM) goals. Thus, the product team gets transformed to work on DevOps or DevSecOps philosophy. Here is a diagram representing the aspects related to product teams getting transformed to work based on DevOps philosophy.
- What could be some of the responsibilities of DevOps Architect?
Ans: The following could be some of the responsibilities of a DevOps Architect:
A. Architect the continuous delivery pipeline
B. Put up a plan for DevOps implementation across different teams
C. Oversee the DevOps implementation
D. Lay down the technologies to be used in DevOps implementation. These technologies could be related to a different aspect of automation including build, deployment, environment provisioning etc.
- Could DevOps be achieved without setting up systems and processes for continuous delivery?
Ans: Yes. DevOps with the primary goal of reducing MTTC and MTTR could be achieved using ad-hoc automation of build, deployment, and environment provisioning processes.
- Many times, DevOps is related to Docker technology? What are your thoughts in this relation?
Ans: DevOps does not require Docker technology to be implemented to achieve its primary objective. However, the very fact that cloud-native apps with Docker as underlying technology could be seamlessly used for automated provisioning of environments, automated deployment across different environments including cloud services makes it very useful technology for DevOps adoption.
- What are some of the technologies used for DevOps implementation?
Ans: The following represents some of the technologies which could be used for DevOps implementation:
A. Configuration management tools such as Chef, Puppet, Ansible etc for automated provisioning of environments
B. Continuous integration tools such as Jenkins
C. Code repositories such as Git
D. Container technologies such as Docker, Kubernetes etc
E. Artifacts repository such as Nexus Repository Manager, JFrog Artifactory etc.
- Describe different stages of continuous software delivery model?
Ans: The following are some of the stages of the continuous delivery model:
A. Code check-in by developers leading to activation of WebHooks triggering CI Builds
B. App compilation & building of deployment artifacts
C. Deployment artifacts upload in artifactories
D. Test environment provisioning and
E. App artifacts deployment across different test environments
F. App artifacts production deployment
- How would you go about architecting a continuous delivery solution using Docker?
Ans: The following are some of the key points in relation to architecting a continuous delivery solution using Docker:
A. Align the apps to be dockerized or containerized. This may require consideration of microservices architecture.
B. Consideration of development and test environment provisioning using Docker
C. Consideration for setting up Docker container registry on-premise or cloud (for example, AWS ECR)
- Could you architect a continuous delivery solution for delivering software changes on to AWS cloud?
Ans: A detailed write-up on continuous delivery on AWS ECS and AWS EC2 could be found on one of my Github pages, Continuous Delivery of Microservices on AWS. Here is the sample diagram representing the continuous delivery reference architecture for AWS.
- What is the difference between Agile and DevOps or DevSecOps way of software development?
Ans: The primary difference between traditional Agile and DevOps/DevSecOps team is the inclusion of IT/OPs and Security staff members in the Agile teams thereby having sprint goals comprising of stories for both IT/OPs and security staff members. More importantly, the definition of DONE changes. In Agile SCRUM development, the definition of DONE is creating a demonstrable software/artifacts at the end of the sprint. In Agile SCRUM team working based on DevOps/DevSecOps philosophy, the definition of DONE changes to creating a demonstrable software/artifacts in an environment resembling production at the end of the sprint
- Describe different stages of DevSecOps and related tools which could be used at each of these stages?
Ans: The following are different stages of SDLC where security tools could be used for security-related automation in the continuous delivery cycle:
A. Source code scanning: CheckMarx, Gitrob
B. Test & scans: Evident.IO, GauntLT, Contrast
C. Artifacts: Sonatype, Nessus, Tanium
D. Deploy: INSPEC, Beaker
E. Monitoring: Splunk, Evident.io, FireEye, Metasploit
In this post, you learned about some of the questions and answers which could be useful for preparing the DevOps Architect Interview. The important areas to focus are DevOps & DevSecOps concepts, continuous delivery concepts & reference architecture, related tools & frameworks, DevOps reference implementation.