# DevOps Training Session 1: The flag view with DevOps ###### tags: `devops`, `research`,`reliable` **Hello there, this is first session on my intern of mine, I will talk about devops during on my internship with topic around devops. Give some kind for building your concept, find the way to optimize the time for getting the best kind of what you want about knowing devops. Hope you get somethings not as your cool but also memorable skill or something about willing become your knowledge** ![](https://i.imgur.com/drkM2dN.png) So first of all, i will so put the link of lab for people want to see it --> [Lab 1](https://drive.google.com/file/d/1rpLqB7QWsKYsdYChPVcxCLch1umIIiHP/view?usp=sharing) --- ## QA **1. DevOps team doesn’t need to work with other teams frequently? How does DevOps team work with other teams, in your opinion?** - So with my opinion, i disagree with above the question, because DevOps is the culture which talk about the connection and make it continues during lifetime of product, so what i say about instead of working by independence it not make optimize the time to release but results of not work together, connection of other team on team make this work became inconsistent and reduce productivity. - So how to work together with other teams: - Making connection with others - Sharing the vision about project - Announcing about what new can make other team work on can increase productivy of working - Solving the problem about Dev can meet on the working cycle about devops - ... **2. When there is any issue, how do you think DevOps team would be involved?** Yeah not expected but it will become on lifecycle of project because DevOps associated with and throughout the development process. So on the position of devops - **Need to discuss about the issue**, if it not about devops like function of product. I thinks we need to explain that not about devops's issue first after that contribute what you think about that issue like recommending the way reach the goal - If the situation, Problem is about Devops session, we need the **point about the issue, what place make this issue, get the feedback from other team and fix that again** - To reduce time to fix that issue, we need to **limit the what the relate** about your issue and my issue and what point you need, googling about it if not yet, try to **limiting your risk as much as possible** and **try to rebuild the function properly** **3. Implementing the DevOps process means making things fully automatic?** On my opinion, automatic is important of DevOps process but not all. With some reason: - **Not apply to much** because not optimize process with doing that manual but also bring the impact to productivity of project - **Make sure what you need to do understand** first to applying (`Provising`) - **Automation is just a process**, the tool is just for the user to use so understand what this do and don't point too much for tool instead focus on how to implement a smooth process **4. When implementing monitoring tools, do we need to track them manually to be aware of any new issues when they happen?** - 100% agree with that situation, Like i said **knowing the process is understanding success** - If you do it manual on the one to ten time, you can **understand what the issue obligate to knowing**, if you drop 1 or 2 situation --> **Any kind can make the system go to diff way** not like expectation. - **Manually is decrease productivity** and **make anything kind about become strange and complicate**. But **what expected from monitor** tool, **bring you anykind complicate** and **make it became easy to understand and reliable.** **5. Does Cloud mean no physical devices at all?** Not yet, Cloud is just the way you understand a way to minimalism and reduce costs when using hardware. On reality, Cloud is represent for hardware which provided by the so called cloud service provider - Cloud is easy way to connect just using internet - Cloud more accessible - Cloud is the lightweight for scaling, stable and ... Say cloud mean no physical devices --> So how to you connect your cloud - if you not have internet (ETH Cable - Wifi - Router - Anything kind about network device) is physical thing - if you have network yet, the way you connect cloud it not just internet but also physical device to connect cloud through network like PC, Laptop, Mobile, Printer, ... It physical **6. Using Cloud means there would be no downtime on our system?** One thing about like i said, Issue is always alive. So using cloud will and must meet the issue: - On situation, you not pay the bill right time --> Provider can revoke the server at any time. - If it have not para or exception not good way to process, It can bring down your cloud server - Issue about the environment, external influences. - DevOps can not handle cloud, One action can bring down all system. - Vulnereable, Hacking and anything about Cyber Crime can occur anytime and can't prevent any of it. Put the down server in cloud is easy way if Hacker can root your cloud ... - ... **7. Using Cloud databases means our data could not be lost?** Not anything platform can safety for data, Issue is always alive, Born of technical always attach with destruction of that. Many reason can make lost about data, data is sensitive and important of Product. It is target of many many thing dangerous want to destroy it and leak it, ... **8. When implementing CI/CD pipelines, should we put all steps into a single pipeline?** No. We shouldn't make anything on just onething. Because: - A business may have multiple source portions of the CI/CD pipeline depending on the various projects in development. - The Risk of compress it on the one thing, can make CI/CD become hard to handle it if meet error. - Productivity to work is decrease because run a bunch of that instead split it some step. - Make CI/CD is easily to handle - Cut time for wait if it have any issue when replay again - CI/CD building on many tool and base on the process we need apply to right tool for BUILD - TEST - DEPLOY. **9. Differentiate Docker and container?** *1. What is the difference between Docker and container?* - It will not be wise to say that docker is different from containers because docker is a complete ecosystem that has two key objects DI & DC - Docker Image and Docker Containers which can be compared based on their roles and objectives already been covered in detail. *2. Is Docker a container?* - Not Exactly, docker is container-based technology and containers are just user space of the operating system. - At the low level, a container is just a set of processes that are isolated from the rest of the system, running from a distinct docker image that provides all files necessary to support the processes. **10. Do we have to use Docker for container orchestration tools?** Can be but not flexible because some reason: - If using docker specifically here Docker Swarm which typically requires less setup and configuration than kubernate and It offers the same benefits as Kubernetes like deploy, ALB, security manage, scaling but it wil greate choice if it own orchestration and not much workload - Docker Swarm will become the best - But usually Kubernates is the best, flexible and work on cluster because can make container on many platform with just once kubernate master,... - Running many workloads and require cloud native interoperability, and have many teams in your organization, which creates the need for greater isolation of services than Docker **11. Why shouldn’t we put sensitive information in source code repositories?** Easy way to answer this, We don't know what happen if someone can using it to do the way with source code, product or anything kind relate - If expose sensitive data, One thing i want to say all of your work can be leak sooner or later --> Cause damage on product, stock and loss of money. - More way to become struggle, Hacker can expose or exploit it and bring the all resource of product to black market or make backdoor base on sensitive you expose through source code, handle your product, PC, server and take anything. *==> That why we can't not or obligate not expose or missing anything can become sensitive on repo or another resource on public internet, ...* ## Practice Situation **1. From what you can understand, describe steps you would use to apply DevOps for a new project?** Step to apply DevOps to new project is the way project or product need to or expect from DevOps. Such as: ![](https://i.imgur.com/Z09mUtm.png) So through that expect we need to initialize DevOps to each step: ![](https://i.imgur.com/BoBzh5A.png) 1. Organizing a DevOps initiative - *This is step to pre for DevOps session* 2. Building the DevOps strategy 3. Containerizing 4. Integrating infrastructure automation with CI/CD tools 5. Increasing the amount of test automation and aligning QA with development 6. Ensuring total application performance monitoring **2. Sometimes a running project is using old technologies and processes. Describe steps you would use to apply DevOps for it** As concern about legacy system and devops, I think all of that not need to rebuild to apply DevOps. It just make step like pricible, devops can bring of like: **#1. Automation** - Automation supports continuous integration and minimises manual errors - Furthermore, continuous integration brings individual development work into a central repository to speed up bug fixes and accelerate delivery for overall better software. **#2. Standardisation** - Using standard processes across the organisation enables the organisation to onboard the system seamlessly across teams - Enabling strong governance and improving clarity around processes and responsibilities. **#3. Shift-left** - This means bugs are caught and fixed faster so developers can focus on the quality of the build instead of waiting for errors to occur. - Furthermore, they can issue feedback and make iterative changes as soon as possible, side-stepping larger delays. **#4. Communication and Culture** - The mindset and culture of the team that will be using the improved system can be a roadblock or an asset, depending on how well DevOps has been used. - Helping these teams to fully understand how much time, effort and resource they’ll get back with the new system, and ensuring everyone is fully trained and supported in learning how to use it, will dramatically improve employee experience and how well the improved system can perform its function. **3. Assume you are responsible to design the whole system and process, from your knowledge about DevOps and software, design a new system and processes?** Step on that diagram ![](https://i.imgur.com/hA7kavB.png) Process devops role information ![](https://i.imgur.com/td5H7gS.png) ## Conclusion So what we want to do with devops can brief about some kind downblow: - DevOps is culture - Building DevOps around CI/CD - automate but not all, container, tool, monitor, provising make devops engineer - Make connect with dev during life cycle product - Understand what important and what you want to do with infrastructure - ... **That all kind i want to have visualize flat view about DevOps . Hopeful if this can make you have interesting progess with DevOps. This series will continious during my internship. So make a look and Peace out !! :100:** ## Resource [DevOps Implementation Guide](https://www.scnsoft.com/blog/devops-implementation-guide) [Docker vs Container](https://www.knowledgehut.com/blog/devops/docker-vs-container) [Kubernetes vs Docker](https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker#:~:text=While%20Docker%20is%20a%20container,CRI%20(Container%20Runtime%20Interface).) [DevOps: Principles, Practices, and DevOps Engineer Role](\https://www.altexsoft.com/blog/engineering/devops-principles-practices-and-devops-engineer-role/) [DevOps bring legacy systems back to life](https://amdaris.com/how-devops-can-bring-legacy-systems-back-to-life/)