Devops Flashcards
What is git branching for?
Git branching is a tool for development that assist when working with a team. A branch can be made for a specific person to work in and push code to without affecting the main branch. From there the code can be reviewed before merging into the main branch. This allows an easy way to attempt new features or updates to make sure they are working and tested before actually affecting the main branch.
What is git merging for?
Merging is Git’s way of putting a forked history back together again. The git merge command lets you take the independent lines of development created by git branch and integrate them into a single branch.
What is a pull request?
Pull requests let you tell others about changes you’ve pushed to a branch in a repository on GitHub. Once a pull request is opened, you can discuss and review the potential changes with collaborators and add follow-up commits before your changes are merged into the base branch.
What does a gitignore do?
The purpose of gitignore files is to ensure that certain files not tracked by Git remain untracked. The .gitignore file tells Git which files to ignore when committing your project to the GitHub repository. gitignore is located in the root directory of your repo.
Why would a developer leverage cloud computing rather than running their applications off of their own server?
The cloud offers businesses more flexibility overall versus hosting on a local server. And, if you need extra bandwidth, a cloud-based service can meet that demand instantly, rather than undergoing a complex (and expensive) update to your IT infrastructure.
What are regions and availability zones?
AWS region is a physical location where data centers are clustered around the globe. Groups of these data centers are called AZ’s. Each region consists of 3 isolated, and physically separated AZ’s which lets the user operate on production apps and databases.
What is autoscaling?
AWS Auto Scaling lets you build scaling plans that automate how groups of different resources respond to changes in demand. You can optimize availability, costs, or a balance of both.
Creates all of the scaling policies and sets targets for you based on your preference.
What is a security group for?
Controls the traffic that is allowed to reach and leave the resources that it is associated with.
For example, after you associate a security group with an EC2 instance, it controls the inbound and outbound traffic for the instance.
What is EC2?
Ec2 stands for elastic compute cloud. It is a web service provided by amazon web services that allows users to rent virtual servers in the cloud. These can be accessed and managed remotely over the internet. Ec2 instances are designed to provide scalable computing capacity.
What is an RDS?
Relational Database Service: it is a database instance running with Amazon RDS encryption to easily set up, operate, and scale relational databases.
What is an S3?
S3 stands for simple storage service. It is a cloud-based object storage service provided by amazon web services. Key benefits of s3 are its scalability and reliability. It is designed to automatically scale to accommodate changing needs.
What is an AMI?
AMI stands for amazon machine image. It is a preconfigured virtual machine image used to create ec2 instances on the aws cloud. Amis also provide a way to back up and restore ec2 instances. Users can create an ami of an existing ec2 instance and use it to launch a new instance.
What is an EBC for?
Amazon Enhanced Brand Content (EBC) is a premium content feature that enables sellers to showcase their products through enhanced image and text placements on Amazon.
What do we use SSH for?
SSH connections have mostly been used to secure different types of communications between a local machine and a remote host, including:
Secure remote access to resources
Remote execution of commands
Delivery of software patches and updates
Interactive and automated file transfers
What is docker and why would a developer use it?
Docker is a platform that simplifies the process of developing, shipping, and running applications by using containerization technology. Developers use Docker to ensure consistent environments across development, testing, and production stages, simplify deployment, and improve application isolation and security.