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

midterms #72

Open
wants to merge 2 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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions co_question1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
1. Plan/Collaborate
The first step to an effective routine or cycle of operations is always to plan and determine requirements which can be done by collaborating with all the teams and departments that are part of the development process. This is to ensure that everyone has their priorities, expectations, and goals aligned with each other.
2. Code
The second step is to ofcourse code, the developers will get started with creating the application determined from the initial collaboration process which can be done using Git, which enables the developers to collaborate and share changes made to the software through the repository. This is called a version control system and as the name implies, it makes it easier for the developers to keep track of progress.
3. Build
The third step is to build the actual code which can be done through automation and utilizing for example, Jenkins, which facilitates the continuous integration process of DevOps through pipelines, monitoring changes, and notifying users through feedback.
4. Test
Also related to building, the testing process is necessary to ensure that human error is minimized or resolved and to make sure that the functions are working as expected. A common automated testing tool that I have used and researched is Selenium, which is a great tool especially for quality assurance.
5. Release/Deliver
The next step of this framework is to now deliver and release the application and this is basically the bridge to finally deploy the product to the users and customers but more specifically, it is to ensure that the application is in its available state and stable form, which can be done through tools like GitLab CI/CD for example.
6. Deploy
The second to the last step is to finally deploy the application to end users and customers, and this can be done through the continuous deployment stage wherein automation is used to automatically release code changes to production after testing. A common tool used for deployment is Kubernetes.
7. Maintain/Innovate
Lastly, it is necessary to analyze the product, how it was received, were there any things that went wrong along the process or things to improve upon for innovation to ensure that the end users are satisfied. Not only should the application be further maintained, but there is also room for improvement which is done through regular updates.
9 changes: 9 additions & 0 deletions co_question2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

FROM centos:7

RUN yum install -y mysql-server && \
yum clean all

EXPOSE 3306

CMD ["mysqld_safe"]
9 changes: 9 additions & 0 deletions co_question3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
1. Advantages of Docker
1. Efficient resource usage - since Docker utilizes containerization, it shares the host's OS kernel which inherently is less resource dependent, meaning it can be beneficial especially for users who do not have the privilege to invest in high end hardware devices that have a lot of space.
2. Scalability - with the function to replicate containers, users can easily deploy additional instances of the application in said containers which can be beneficial especially for large scale companies who work with multiple users at the same time.
3. Security - one notable aspect of Docker is how containers are run separately or are isolated from each other which means interference due to conflicts and potential security risks are minimized.

2. Benefits of DevOps Framework
1. Increased efficiency - by using automation, there is more time for the developers to focus on more urgent tasks instead of doing repetitive tasks like deploying each change manually, or doing the testing. This means the developers can also have more time instead for collaboration or innovation in product testing/developing.
2. Consistency - by utilizing automation, there is less risk for human error which is common in software development and deployment. This also means that bugs or defects in the software will be able to be detected early in the development process instead of only discovering it when it is time for deployment.
3. Culture of collaboration - by breaking down traditional silos (essentially splitting the development and operations and quality assurance from each other), it fosters communication and transparency between teams which can lead to better teamwork and a more organized and determined workflow.