0% found this document useful (0 votes)
44 views10 pages

BE -EL-IV DevOps- UT1-Model-Answer SPPU

The document outlines the model answers for a Unit Test 1 Examination on DevOps for the B.E. (IT) 2019 course, covering topics such as the reasons for adopting DevOps, roles involved, Continuous Integration and Continuous Delivery policies, and the DevOps pipeline phases. It also discusses microservice architecture, Docker, serverless computing, and cloud computing deployment models. The content emphasizes the benefits of DevOps practices in improving software development efficiency, collaboration, and quality.

Uploaded by

dipali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views10 pages

BE -EL-IV DevOps- UT1-Model-Answer SPPU

The document outlines the model answers for a Unit Test 1 Examination on DevOps for the B.E. (IT) 2019 course, covering topics such as the reasons for adopting DevOps, roles involved, Continuous Integration and Continuous Delivery policies, and the DevOps pipeline phases. It also discusses microservice architecture, Docker, serverless computing, and cloud computing deployment models. The content emphasizes the benefits of DevOps practices in improving software development efficiency, collaboration, and quality.

Uploaded by

dipali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Total No of Questions: [4] [Total No.

of Pages :25]
Information Technology Department
B. E. (IT) 2019 course
[414445] Elective IV: Introduction to DevOps
Semester- VII: Unit Test 1 Examination Model Answer
Time: 1 Hours Max. Marks: 30

Q. Answer Marks
No.
Q. 1 What are the reasons for adopting DevOps? 5
a)
Ans. Adopting DevOps can bring numerous benefits to an organization, especially in terms of
software development and operations.
Here are some reasons for adopting DevOps:
1. Faster Delivery of Software
• Continuous Integration/Continuous Deployment (CI/CD): DevOps practices
emphasize automation in building, testing, and deploying software, which allows
for quicker and more reliable releases.
• Shorter Development Cycles: With development and operations teams working
closely together, the time between code development and deployment is reduced.
2. Improved Collaboration and Communication
• Breaking Down Silos: DevOps promotes a culture where development, operations,
and other stakeholders work collaboratively, fostering better communication and
teamwork.
• Shared Responsibility: Teams share accountability for the end product, leading to
higher-quality software and a stronger sense of ownership.
3. Improved Quality and Stability
• Continuous Testing: Automated and continuous testing helps identify and resolve
issues early in the development process, leading to higher-quality software.
• Monitoring and Logging: DevOps includes robust monitoring and logging
practices that help detect and address issues in real-time, improving system stability.
4. Cost Efficiency
• Reduced Operational Costs: Automation and streamlined processes can lead to
significant cost savings in development, deployment, and maintenance.
• Efficient Resource Utilization: With improved collaboration and automation,
resources are utilized more effectively, reducing waste.
5. Better Customer Experience
• Rapid Feedback and Iteration: DevOps allows for continuous feedback from
customers, enabling rapid iteration and improvement of products and services.
• More Reliable Releases: With fewer bugs and more stable releases, customers
experience fewer disruptions, leading to higher satisfaction.
Q. 1 What and who are involved in DevOps? 4
b)
Ans. Not only Development and operations team members but other team as well QA, security,
and business.
• The goal of DevOps is to reduce time to market.
• This means that when a new feature is designed, every team must communicate, to reach
the goal.
• The QA engineer must respond quickly to the software engineering team and communicate
any glitch found in the software.
• The software engineer must communicate with the security team, to describe what the
software does and what libraries are used, and to allow the security team to martial the
necessary assets to ensure the safety of the software.
• The business analyst must to be aligned with the software architect, and the software
engineer with what the customer wants.
Q. 1 Explain the Continuous Integration and Continuous Delivery Policies. 6
c)
Ans. • It helps the development and operations teams to identify faster potential issues with
the software.
• Receive constant feedback.
• Code review: when a developer completes the code, it must be fully tested.
• In the event of a new bug, that we can determine in real time the cause of the error,
and we can easily roll back the software delivery.

Continuous integration (CI)


• Automatically integrates code changes into a shared repository, and includes
automated testing steps to ensure the reliability of the changes.
• CI helps developers detect integration errors quickly, and provides feedback on
changes to the code base.
• This helps developers decide when and how often to deploy code into production.
Continuous delivery (CD)
• Automatically releases validated code to a repository after CI has automated builds,
unit testing, and integration testing.
• CD ensures that code is always ready to deploy, and includes performing automated
system testing, unit testing, integration testing, and deploying the built version to
production. In the CD phase, the team decides what to deploy to customers and
when.
Plan:
Business owners and software development team discuss project goals and create a plan.
Code:
Programmers then design and code the application and use tools like Git to store
application code.
Build:
Build tools like Maven and Gradle, take code from different repositories and combine
them to build the complete application.
Test:
Application is tested using automation testing tools like Selenium and Junit to ensure
software quality.
Integrate:
When testing is complete, new features are integrated automatically to already existing
codebase.
Deploy:
Application is packaged after release and deployed from development server to production
server.
Operate:
Once software is deployed, operations team perform activities such as configuring servers
and provisioning them with the required resources.
Monitor:
Monitoring allows IT organization to identify specific issues of specific releases and
understand the impact on end-users.

Q.2 Explain DevOps pipeline phases. 8


a)
Ans. • The DevOps movement progresses according to a “toolchain.”
• This toolchain is used to define every step of the production process.

Fig. 1.1 The phases for the DevOps of a software release

• Every phase can be managed by a different team.


Q.2 What is DevOps? 2
b)
Ans. • It is an evolution from agile model for software development.
• Agile addressed the gap between clients and developers.
• DevOps addressed the gap between developers and operations.
• It is derived from combinations of two words: Developers and Operations.
• DevOps journey introduces such practices as Continuous Integration (CI) and
Continuous Delivery (CD), which help reduce time to market and better-quality
software.

Q.2 Which attributes necessary for good coordination? 5


c)
Ans. • To achieve is the reduction of coordination.
• It is very important when moving the software from the development server to the
stage server.
• When more automatic processes are introduced, human interaction is reduced and,
thereby, the requirement of coordination. This is necessary to reduce time to market.
• The coordination has different means of being actualized. This change depending
on the context—whether the team is remote, on-site, or partially remote.
• The normal attributes necessary for good coordination are to be:
o Direct
o Indirect
o Persistent
Direct Coordination:
• The coordinator directly coordinates the job of every team member.
• This kind of coordination requires a lot of work from those responsible for
the coordination.
• The staff responsible for the coordination can receive direct feedback
regarding the status of the team and take decisions about that.
Indirect Coordination:
• A general view of the status of some specific task. This view gives to the
coordinator the capacity to have a plan and start to move on the other
activities to calculate an estimated time for the release.
Persistent Coordination:
• It refers to all the reports and e-mails sent when a decision is reached about
a project.
• It gives the team all the instruments for keeping a daily record of the
production story and allows teams to make new decisions, based on the
history of the project and prevents any misunderstandings about the project
itself.

Q.3 What are pros and cons of a microservice architecture? 5


a)
Ans.

Q.3 Write short note on Docker. 5


b)
Ans. • Docker is probably the most famous software for containerization. It offers a level of
virtualization called operating-system-level virtualization. This is known as
containerization.
• This type of isolation allows us to run more than one OS inside another.
• Docker containers are complex to create and difficult to maintain and automate.
• Docker is essentially software designed to create other software, based on system-
operation virtualization.
• Docker helps developers to eliminate the discrepancy that can result when software is
developed and released in production. This is because when we release the software in
production, a Docker container works in the same OS configuration used to develop the
software.
• With Docker, we can easily create our process for CI and CD, because when we commit
the code, we can create and compile the Docker image directly and release it in the test.
• From an architectural point of view, with Docker, it is easy to implement a microservice
architecture.
Docker is composed of the following different components:
• The Docker engine is a client-server application. The client talks with the server
application, called a daemon. The daemon is responsible for executing the container.
Client and daemon can be on the same machine or different ones.
• Images are the basis of our Docker architecture. Images are used to launch our container,
and we can create personal images, starting with another basic image.
• The registry is where the image is stored. We can identify two types of registries: private
and public.
• Containers are basically an image that is executed. A container can have more than one
running process inside, depending on how the images are designed and created. A
container is essentially a lightweight stand-alone application. We can combine more
than one container to execute a complex application.
Q.3 Explain serverless computing. 5
c)
Ans. • Serverless computing is a cloud computing execution model that allocates machine
resources on an as-used basis.
• Under a serverless model, developers can build and run applications without having to
manage any servers and pay only for the exact amount of resources used.
• Within serverless cloud computing, there are generally two types of services:
• Function as a Service (FaaS)
• Backend as a Service (BaaS).
• FaaS:
o It provides the computing resources needed to execute application logic in response to
requests.
o These pieces of logic (or functions) are run in containers that are fully managed by the
cloud service provider.
o Serverless applications are typically broken into single functions that perform one
action in response to an event.
• BaaS:
o It delivers the entire backend functionality of web or mobile applications as a service,
such as authentication services, database management, cloud storage, push
notifications, and hosting.
o It also removes the need to manage servers, containers, or virtual machines.
Serverless computing examples include:
• Integrating with third-party services and APIs.
• Running scheduled tasks (for example, daily reports, backups, or business logic).
• Real-time or scheduled notifications.
• Automating continuous integration and continuous delivery (CI/CD) pipelines.
Advantages:
• Better developer productivity
• Out-of-box scalability
• Flexible pricing
• Faster deployment
Q.4 Explain cloud computing deployment model. 5
a)
Ans. 1. Private: The private model of cloud computing is intended for internal use only.
This kind of cloud is normally built to be shares in a private company, across the
different business units. This cloud is completely owned and managed by the
provider, normally, another business unit of the company.
2. Community: This kind of cloud model is intended to be shared across a specific
community, for example, a security community or charity. In this type of
deployment, the community owns and manages the cloud infrastructure.
3. Public: This cloud model can essentially be used by anyone. Usually, it is rented.
Examples of this kind of model are Amazon Web Services, GCP, and Microsoft
Azure.
4. Hybrid: This type of cloud model combines different models. It is normally used
when there is a need for part of the data to remain private, for example, customer
data, for security reasons. The purpose of having a hybrid cloud model is to
combine characteristics of different kinds of cloud models, for example, a need for
privacy but, at the same time, a need to share some information with a community.
Q.4 Differentiate between orchestration and automation. 5
b)
Ans.

Q.4 Write short note orchestration. 5


c)
Ans. • Cloud orchestration is the process of coordinating tools, applications, application
programming interfaces (APIs), and infrastructure across private and public clouds
into comprehensive workflows.
• It can be defined as the coordination, arrangement or end-to-end automation of the
deployment of services in cloud-based environment.
• It introduces and enforces a workflow for automated activities of various processes to
deliver to its client.
• It tools take full use of IaaS service providers to reach out to fully automated
deployment, deleting the manual processes which are considered time-consuming.
• Orchestration tools are Terraform, Ansible, AWS cloud formation, etc.
Advantages:
• The orchestration offers a systematic approach that leads to the increment of the
automation benefits of agility and reduces costs.
• It allows business to accelerate the deployment of advanced applications and services
with coherence and proper manageability.
• This offers flexibility and increases the overall speed of creation, deployment and
operation of various micro-services provided by disparate systems.

You might also like