Devops questions

Grapie

New Member
Joined
Nov 28, 2021
Messages
1
Reaction score
0
Credits
14
Hello, i am studying Devops as part of my degree and our professor asked us to choose a project and find theirs:
•How is production versions managed?
•How is software moved to production?
•What happens if a bug is found in production system
•Fix?
•Ignore?
•For how long?
•How are new versions moved to production

i think i found a suitable answer for the first and second question but i can't find anything about the 3rd and 4th, if someone knows or even has a link for a site with information i would be very greatful
 


•How is software moved to production?
•What happens if a bug is found in production system
There are usually systems that have the following status: development, test, staging and production. Software is first developed on the development system, then it gets tested on the test system, after which it gets tested on the staging server should be similar to what the environment production would be like. If the results are satisfactory changes are moved to production. If a bug is found it goes back to development and testing after it goes through the whole cycle again.

Depending where you work or the way they have setup development it can also be that only test, staging and production are used and that testing is also used as development system. So in short the development environment follows this cycle: development -> testing -> staging -> production
 
Last edited:
I work in the DevOps space and one of the important elements to understand early on is how software is delivered and managed in a consistent workflow that allows you to scale your deployments easily while continuously deploying new apps and features with no downtime.

Often times you're going to hear about CI/CD (Continuous Integration / Continuous Delivery / Deployment) this is a process in which you deploy your code into various different environments like dev, staging, production in an automated fashion.

I'll give you an example. Say that you want to deploy a cloud native application into a cloud, how would you do that?

Step 1: The Developers will write some code on their local machines, this code will encompass some new features.

Step 2: Now that that the code has been written locally, there will typically be some type of pull request that will request to have the code committed and then merged into the main branch of the versioning control system. Typically, when you write some code, you can also write some tests to run on your code to do some basic testing

Step 3: The code can then be deployed in a testing area where it is validated against basic tests to see if it passes those tests. If it does, than an integration service like Jenkins could create a container out of that code and place that container in a container registry

Step 4: Once the container exists in the container registry, you can then leverage something like a container orchestrator to deploy this container into a test/dev/staging cluster to perform more tests. Often times, people will use Kuberentes as an orchestrator platform, but you also have others, like Docker Swarm for example.

Step 5: If the testing in Dev/Staging are successful, you can then deploy the container into in a production cluster using the same orchestrator.

When there are issues with your code, lets say it does not pass the testing, then the feedback would get sent back to the developers so that they can fix the issue. Once the issue is fixed, the code goes through the same process again to ensure everything works.

The goal around CI/CD workflow is to ensure that you can consistently deploy new features while at the same time have a feedback loop on the state of the deployment. This is how you would improve your code overtime.
 

Members online


Top