DMCA.com Protection Status Trending Topics About Devops: February 2020

Sunday, 16 February 2020

DevOps Model Defined


DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market.
What is DevOps?
Under a DevOps model, development and operations teams are no longer “siloed.” Sometimes, these two teams are merged into a single team where the engineers work across the entire application lifecycle, from development and test to deployment to operations, and develop a range of skills not limited to a single function.
In some DevOps models, quality assurance and security teams may also become more tightly integrated with development and operations and throughout the application lifecycle. When security is the focus of everyone on a DevOps team, this is sometimes referred to as DevSecOps.
These teams use practices to automate processes that historically have been manual and slow. They use a technology stack and tooling which help them operate and evolve applications quickly and reliably. These tools also help engineers independently accomplish tasks (for example, deploying code or provisioning infrastructure) that normally would have required help from other teams, and this further increases a team’s velocity.

DEVOPS JOBS 2020

DevOps: Breaking the Development-Operations barrier

Devops loop illustration

DevOps gave us an edge

“DevOps has helped us do very frequent releases, giving us an edge on time to market. We are now able to make daily product releases as opposed to 6-month releases, and push fixes to our customers in a span of a few hours.”
— Hamesh Chawla, VP of Engineering at Zephyr

What is DevOps?

DevOps is a set of practices that automates the processes between software development and IT teams, in order that they can build, test, and release software faster and more reliably. The concept of DevOps is founded on building a culture of collaboration between teams that historically functioned in relative siloes. The promised benefits include increased trust, faster software releases, ability to solve critical issues quickly, and better manage unplanned work.
At Atlassian, DevOps is the next most famous portmanteau (combining of two words) next to Brangelina (Brad Pitt and Angelina Jolie), bringing together the best of software development and IT operations. And like our jokes, it requires some explaining. 

At its essence, DevOps is a culture, a movement, a philosophy.

It's a firm handshake between development and operations that emphasizes a shift in mindset, better collaboration, and tighter integration. It unites agile, continuous delivery, automation, and much more, to help development and operations teams be more efficient, innovate faster, and deliver higher value to businesses and customers.
Chef.io logo

Who's doing DevOps?

Chef is the company behind the Chef Automate platform for DevOps workflows. Tens of thousands of developers use Chef to test, automate, and manage infrastructure. At the forefront of the DevOps evolution, the Seattle-based company has been releasing products like Chef, InSpec, Habitat, and Chef Automate to advance new ways of developing and shipping software and applications. To experiment with and refine its own DevOps practices, Chef relies on the Atlassian platform.
Challenge
At the forefront of the DevOps evolution, the Seattle-based company has been releasing products like Chef, InSpec, Habitat, and Chef Automate to advance new ways of developing and shipping software and applications. To experiment with and refine its own DevOps practices, Chef relies on the Atlassian platform.
Solution
Chef first adopted Jira Software for bug tracking. As the company matured both its agile and DevOps practices, its use of Atlassian evolved from a helpdesk and ticketing system to a more holistic product development solution. Using Atlassian helps Chef ensure business value is attached to each opportunity so teams understand what they should prioritize. Says Julian Dunn, product manager at Chef, "Jira helped us think beyond agile to develop our DevOps approach."
“DevOps has evolved so that development owns more operations – and that’s how Chef works,” adds Dunn. Chef itself doesn’t have a QA team anymore. “We can’t just throw it over the wall anymore. Our engineers are responsible for QA, writing, and running their own tests to get the software out to customers.”
Currently, 5-6 engineering teams are using Jira Software for lightweight agile processes. Before, Chef had multiple Jira instances with heavily customized boards and workflows that became difficult to manage. Now teams use defaults as much as possible to keep their pipelines clear and avoid giant backlogs. Also, with Jira, they can focus more on customer value while balancing operational needs. “Atlassian gives us end-to-end visibility so we can keep releasing the best products to our customers," says Dunn.
Chef uses Atlassian’s wider set of tools as well. The company integrates Jira with Confluence as the process and procedure knowledge base for engineers, and as a replacement for an archive of Google documents that lacked content hierarchy. IT teams use Jira Service Desk for internal support, such as resolving hardware issues. Says Dunn,“Atlassian is the only company that can get Dev and Ops on the same platform.”
Business teams like marketing also use Trello to track to-do lists, quarterly plans, and other short-term projects. Legal uses Trello to manage any work in flight such as contracts, and HR hosts its employee handbook in Trello. “Trello is easy for any team to get started on a workflow quickly,” explains Dunn.
Benefits
From marketing, legal, engineering, operations and IT, Atlassian improves visibility and collaboration across teams and workflows at Chef. As Chef advances its own DevOps practices, customers embracing Chef products are advancing their practices as well.

Thursday, 13 February 2020

What devops skills are needed in Canada?

 I will share with you ten crucial skills that every DevOps engineer should have for success.

1. Strong Communication and Collaboration Skills

Communication and collaboration are the skills that can make or break DevOps in any organization.
Just consider a few things that can be efficiently done if communication and collaboration are on your DevOps skill set:
  • Breaking down the silos. Everyone is sick and tired of this, but DevOps is all about breaking down the silos between the development and operations teams. A DevOps engineer is someone who builds connections and relieves bottlenecks, which is done by talking to people.
  • Aligning Dev and Ops goals for the customer’s sake. A DevOps pro should be able to assess and streamline the goals of Dev and Ops teams towards the common goal to ensure a flawless customer experience.
  • Introducing and implementing a DevOps culture. All organizations are different, and you will not be able to instill DevOps values and DevOps culture should communication and collaboration be missing. You will have to explain what DevOps is, educate about DevOps principles and DevOps tools, and verbally dive deep into infrastructure and automation issues.
Simply put, if you are not a people person who can bring employees together to work towards a common goal, DevOps might not be the best fit for you.

2. Empathy and Unselfishness

Soft skills are as important to a DevOps professional as hard skills and should not be underestimated.
Not only does DevOps require strong hard skills like coding and automation, it also necessitates such soft skills as curiosity, flexibility, self-motivation, and empathy.
Among soft skills, nothing beats empathy and unselfishness — DevOps skills that help you understand what other people feel and allow you not to put yourself above others.
DevOps pros should not only be talkers, but also listeners. Never should you rush a DevOps transformation before you:
  • Talk to key stakeholders
  • Find out what the goals are
  • Assess the current state of DevOps
  • Identify areas of improvement
  • Ensure that stakeholders realize what you are going to do
You should understand how the organization runs, who the people who manage it are, and what the organization’s culture is to avoid creating contention points and constraints. Empathy and unselfishness will definitely help you in the process.

3. Understanding of Major DevOps Tools

DevOps tools are too many, and it does not make much sense to try to master them all. The good news is, you do not have to.
However, knowing your way around the major DevOps tools (displayed in the table below) will be a huge plus on your resume.
Source ControlContinuous IntegrationConfiguration ManagementDeployment AutomationContainersOrchestrationCloud Platforms
GitJenkinsPuppetJenkinsDockerKubernetesAWS
BitbucketBambooChefVSTSVagrantMesosAzure
TeamCityAnsibleOctopus DeploySwarmGCP
DevOps is constantly changing. To ensure that your DevOps skills are up to snuff, you will have to learn something new, including DevOps tools all the time.

4. Software Security Skills

DevSecOps (Security DevOps) has become one of the tech buzzwords in 2018 for a reason, which is:
While DevOps helps develop and release software more rapidly, it also creates a bunch of vulnerabilities, since security teams cannot keep up with the faster cycle.
Simply put, not only high-quality code but also bugs and malware can be deployed much faster now. Introducing DevOps without having perfected security processes in the IT-organization is a recipe for disaster.
Thus, DevOps should have at least the basic software security skills to be able to introduce security into the SDLC right off the bat.
DevOps skills - DevSecOpsThe security component should be shifted left: You do not want to fix security issues in code; you want to predict and eliminate them from the start.

5. Command of Automation Technologies and Tools

Automation is the lifeblood of DevOps.
Unless you know how to automate the entire DevOps pipeline, including CI/CD, continuous testing, app performance monitoring, infrastructure settings and configurations, you cannot call yourself a DevOps engineer.
Automation is key because it allows to reduce the human component, which fosters speed, increases accuracy, improves consistency and reliability while cutting the amount of errors. Eventually, this results in more rapid and swift, higher-quality delivery of value to customers.
3 Steps to Expand DevOps and Automation Throughout the Enterprise from Puppet
Your ability to automate DevOps hugely depends on your knowledge of DevOps tools, coding and scripting skills, and experience with the on-premise and cloud infrastructure.

6. Coding and Scripting Skills

DevOps engineer should not have to be a coding guru. However, having some coding and, most importantly, scripting skills is very much recommended.
As a DevOps, you should have a good handle on Ruby, Python, Java, Javascript, PHP, Bash, Shell, and Node.js. (Of course, you should not know every programming language.) You will need these mostly for automation.
If you are looking for a good place to start, go for Python, Go, and JSON/Javascript.

7. Cloud Skills

DevOps and cloud are joined at the hip.
If you do DevOps, you have to know the cloud, since:
  • The cloud provides DevOps and the entire crew a centralized platform to test, deploy, and release code
  • It enables DevOps automation by offering CI/CD tools, cost-efficiency, and security
  • The cloud ensures that resources are easily monitored and the associated cost is efficiently tracked and adjusted
And, most importantly, the cloud allows IT-organizations to accelerate and facilitate a development process.
Thus, whether you choose AWS or Azure, or any other cloud platform, knowing how to do DevOps in the cloud is a must-have DevOps skill.

8. Testing Skills

DevOps is hugely impacted by how well testing is done in the IT-organization.
You cannot automate the DevOps pipeline if efficient continuous testing, the process of executing automated tests, is not in place.
DevOps skills - Continuous TestingEnsure that every automated test runs as it should, or risk pushing buggy code directly to customers, which is not great from a user experience standpoint.

9. Customer-Centric Mindset

DevOps engineers should work with a final goal in mind, which is delivering value to the end user and getting tangible results for their organization’s business. They should analyze how their own and their organization’s activities can be enhanced to deliver value more rapidly.
To do that, DevOps engineers should keep in touch with key stakeholders, including developers, testers, project managers, and business leaders. Eventually, they need to ensure that their activities are properly synchronized and optimized around the common goal.

10. Passion and Proactivity

DevOps engineers should nurture passion and proactivity.
To begin with, loving your job is naturally linked to happiness at a workplace, which impacts performance and productivity. And the more meaningful results you produce for the company, the more valuable asset you become.
Then, as a DevOps engineer, you will have to learn a lot on a daily basis. New tools, new technologies, new cloud offerings, and so on. You should approach those proactively and with passion. Otherwise, you will slowly but surely become someone whose skills are no longer needed.
And finally, passion and proactivity are your safe road for setting you up as an authority. You can and should develop a brand identity not only to stand out against the competition but also to build trust with your co-workers.

Conclusion

DevOps is not exactly rocket science. However, it requires an individual to have a lot of hard and soft skills. Some of which are really hard to gain and nurture.
DevOps engineers should be able to do a lot on the tech side of things — from using specific DevOps tools and managing infrastructure in the cloud to writing secure code and checking automation tests.
They should be individuals who are passionate about what they do and who are ready to deliver the enormous amounts of value. They should be curious and proactive, empathetic and assertive, reliable and consistent. They should be able to put customers’ needs above their team’s needs and take action when required.
The DevOps role is not easy, yet it is totally worth it to become a DevOps.
To take things off the ground, check how many of the DevOps skills featured in this article you have. And if you lack some of them, be proactive and start learning right now!