Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rosete/midterm #58

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
16 changes: 16 additions & 0 deletions checkpoints_/checkpoint_one_Rosete.md
@@ -0,0 +1,16 @@
**********************************************************************
*
* ISDEVOP S17
* ISDEVOP Git Checkpoint 1
* Objective: Branches and Folders
*
* Author: Justine Anne Y. Rosete
* Date: February 13, 2024
*
**********************************************************************

# Checkpoint 01: Branches and Folder
## Purpose:
The purpose of this folder is to keep all checkpoint activities in one place. The purpose of this folder is to centralize all ISDEVOP checkpoint-related activities for easy access and organization.


32 changes: 32 additions & 0 deletions checkpoints_/checkpoint_two_Rosete.md
@@ -0,0 +1,32 @@
**********************************************************************
*
* ISDEVOP S17
* ISDEVOP Checkpoint 2 -- Git Commands Reinforcement
* Objective: GitKraken and Branching
*
* Author: Lourdes Mendoza
* Date: February 16, 2024
*
**********************************************************************

# Checkpoint 02: Git Commands Reinforcement


1. In your own words, do you think, we really need DevOps?
In my opinion, Devops is beneficial since it helps in bridging the gap between development and operations team, which has been a problem with other traditional SDLCs. It promotes collaboration and efficiency throughout the entire software development lifecycle. Moreover, it aims to automate and streamline processes which enables faster and more reliable software delivery. Adopting DevOps not only addresses communication barriers, but also introduces a framework that fosters innovation and continous improvement.


2. Kindly differentiate the three components of DevOps: CI, CD, and CD.

Continous Integration (CI): CI involves regular integration of code modifications into a shared repository. Developers commit changes frequently, facilitating early detection and resolution of software defects.

Continuous Delivery (CD): CD extends continuous integration by ensuring that the software is consistently ready for release to production. It involves automated processes for testing and deployment, speeding the development lifecycle.


Continuous Deployment (CD): CD is the superlative form of software development practice and automates the entire delivery pipeline. It involves pushing code changes directly to the production environment, making updates visible to users.



3. In your own opinion, and based on your experience so far, what could be the most challenging part of observing the DevOps framework?

In my experience, the most challenging part of familiarizing myself with the DevOps framework has been navigating the tooling landscape and practices. As someone who is more accustomed to traditional development or operations practices, adapting to different tools and their integration within DevOps can be a bit overwhelming.
19 changes: 19 additions & 0 deletions midterms/Dockerfile
@@ -0,0 +1,19 @@
# Use the CentOS 7 base image
FROM centos:7

# Install wget and download MySQL repository configuration
RUN yum install -y wget && \
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm && \
rpm -ivh mysql80-community-release-el7-3.noarch.rpm && \
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023 && \
yum install -y mysql-community-server && \
yum clean all

# Initialize MySQL server with insecure settings
RUN /usr/sbin/mysqld --initialize-insecure --user=mysql --basedir=/usr --datadir=/var/lib/mysql --lc-messages=en_US

# Set the default command to start MySQL server
CMD ["/usr/sbin/mysqld", "--datadir=/var/lib/mysql", "--user=mysql", "--port=3306"]

# Expose the MySQL port
EXPOSE 3306
26 changes: 26 additions & 0 deletions midterms/rosete_question1.md
@@ -0,0 +1,26 @@
**********************************************************************
*
* ISDEVOP S17
* ISDEVOP Midterms Question 1
*
* Author: Justine Anne Y. Rosete
* Date: March 6, 2024
*
**********************************************************************

# Midterms Question 1


In your own words, kindly illustrate an effective DevOps workflow and toolchain. You may add images in your markdown file.


A streamlined software development and deployment process heavily rely on an efficient DevOps workflow. This workflow is essential for promoting collaboration between the development and the operations teams and ensuring the consistent delivery of software. Key components of an effective DevOps workflow are:

1. Plan - In the planning phase of an effective DevOps workflow, the team sets clear objectives and prioritizes tasks based on business goals.
2. Code - The code phase emphasizes the importance of version control systems like Git in managing and tracking changes efficiently. Collaborative practices, including regular code reviews, contribute to a cohesive development environment.
3. Build - The build phase incorporates Continuous Integration (CI), utilizing tools like Jenkins or Travis CI to automate the integration process and maintain consistent builds.
4. Test - Testing is a crucial phase, involving a comprehensive suite of automated tests integrated into the CI/CD pipeline for early issue identification.
5. Release - During the release phase, meticulous planning and coordination, including versioning and User Acceptance Testing (UAT), ensure the software is ready for deployment.
6. Deploy - The deployment phase employs Continuous Deployment (CD) and Infrastructure as Code (IaC) to automate the smooth transition of code changes from development to production.
7. Operate - Operations focus on robust monitoring, incident response, and continuous performance monitoring.
8. Monitor - Feedback loops and collaboration drive iterative improvements, and security considerations, documentation, and user feedback contribute to a holistic and efficient DevOps lifecycle.
32 changes: 32 additions & 0 deletions midterms/rosete_question2.md
@@ -0,0 +1,32 @@
**********************************************************************
*
* ISDEVOP S17
* ISDEVOP Midterms Question 2
*
* Author: Justine Anne Y. Rosete
* Date: March 6, 2024
*
**********************************************************************

# Midterms Question 2


# Use the CentOS 7 base image
FROM centos:7

# Install wget and download MySQL repository configuration
RUN yum install -y wget && \
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm && \
rpm -ivh mysql80-community-release-el7-3.noarch.rpm && \
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023 && \
yum install -y mysql-community-server && \
yum clean all

# Initialize MySQL server with insecure settings
RUN /usr/sbin/mysqld --initialize-insecure --user=mysql --basedir=/usr --datadir=/var/lib/mysql --lc-messages=en_US

# Set the default command to start MySQL server
CMD ["/usr/sbin/mysqld", "--datadir=/var/lib/mysql", "--user=mysql", "--port=3306"]

# Expose the MySQL port
EXPOSE 3306
19 changes: 19 additions & 0 deletions midterms/rosete_question3.md
@@ -0,0 +1,19 @@
**********************************************************************
*
* ISDEVOP S17
* ISDEVOP Midterms Question 3
*
* Author: Justine Anne Y. Rosete
* Date: March 6, 2024
*
**********************************************************************

# Midterms Question 3


1. List 3 advantages of using Docker
Docker offers several advantages that significantly enhance the efficiency and consistency of software deployment. One key benefit is portability; Docker containers encapsulate an application and its dependencies, ensuring uniformity across various environments. This portability enables seamless deployment and scalability, allowing applications to run consistently from development to production. Additionally, Docker provides isolation through containerization, ensuring that applications operate independently without interfering with the underlying host system. This isolation enhances security by minimizing conflicts between applications. Another advantage is resource efficiency; Docker containers are more lightweight than traditional virtualization, enabling the deployment of multiple applications on a single host, optimizing resource utilization.

2. List 3 benefits of DevOps framework
One major advantage of using DevOps is the reduction of time-to-market. DevOps encourages cooperation between development and operations teams, allowing for continuous integration, delivery, and automation. This smooth pipeline leads to quicker and more frequent releases, which can accelerate the introduction of new features or updates. Additionally, DevOps enhances collaboration and communication among different stakeholders. It promotes a culture of shared responsibility and accountability, which can lead to a more unified and transparent workflow. Finally, DevOps can increase reliability and stability. Practices such as continuous testing, automated deployment, and monitoring can help detect and resolve issues early, minimizing disruptions in production and enhancing the overall quality of software releases.