DevOps Flashcards
JWT STRUCTURE
Header(Algorithms Token Type)
Payload(Data)
Verify
IDaaS
identity as a service a cloud based authentication built and operated by a third-party provider
companies supply cloud based authentication or identity
feature being delivered or served to a company through remote connection from a third-party provider
examples (google, facebook, linkedin , are all identity providers
ensure users are who they claim to be
openAPI
ex: Swagger
SDLC
Software Development Life Cycle 1 Gather Requirements 2 Analysis 3 Design 4 Development 5 Testing 6 user acceptance testing 7 Release 8 Maintenance
Waterfall
Pros: clear well defined steps
intuitive, doesn’t require specialized knowledge
clear and concrete end goal
allows for clean transfer of information from step to step
Cons: makes changes difficult always moving forward
excludes the client beyond the initial gather requirements phase
delays testing until completion, leaving potential problems unnoticed until the latter half of the project
Agile
more of a concept that an actual methodology
You consistently communicate with the client and stakeholders about what they want in the project (little to no documentation)
Scrum
Implementation of Agile concept
framework that helps teams work together
collaboration and helping each other to solve problems one person might have during a sprint
It consists of a series of sprints where each team has specific user stories to tackle
KanBan
Event driven instead of time
KanBan boards involved
Allows use of specialist
Scrumban
agile framework of Scrum and KanBan
User Epics
Identify unique
~sets of users stories and combine them into epics
if multiple stories/use cases relate to a ‘manager’ user then they should be collected into the manager epic
ex : Revaturepro : user, trainer, and admin/manager account
user epic: creation of quiz, assigning quiz, taking quiz» all one user epic ‘Quiz’
scoring could be another example
paired programming
process where paired programming is the process of two developer working on a specific piece of code or feature together
PILOT: the pilot is focused on the immediate needs of the code and is the one who writes it
approach falls into category of SDLC, (ex: waterfall, big bang, agile extreme programming)
NAVIGATOR: focuses on the bigger picture how it will fit in the greater project
paired programming
process where paired programming is the process of two developer working on a specific piece of code or feature together
PILOT: the pilot is focused on the immediate needs of the code and is the one who writes it
approach falls into category of SDLC, (ex: waterfall, big bang, agile extreme programming)
NAVIGATOR: focuses on the bigger picture how it will fit in the greater project
Velocity
rate in which your team is able to complete task
used in hand with story points; Velocity is “the number of story points completed in a sprint.” makes better long term planning for out projects
“Story points per hour”
DevOp Methodologies
strategies for software development big bang waterfall and Agile
Framework
specific implementations of methodologies
ex: scrum, kanban, and xp
Difference ceremonies in scrum
standups, sprint review, and sprint retrospective
PaaS
Platform As A service
Saas
software as a service
Docker
Package software into standardized units for development, shipment and deployment
pros: run on most things physical or virtual machine, data center, cloud providers, you can scale up or tear down application as business dictates(based on demand)
cons:
Containerization
involved bundling an application together with the configuration files, libraries, and dependencies required (components to run)
when creating a container the allocation of resource is dynamic
uses as much resources need to run app
Virtualization
creation of a virtual machine that stimulates a real computer with an operating system: the virtual machine, the allocation of resource is static. will only use whats needed gb of ram
purpose of Docker
allows developers to work in standardized environments using containers
they can work with various development environment Java, .Net, Ruby etc with whatever OS; windows, Linux, Mac and still give app to everyone as long as they have a docker engine
perfect for CI/CD workflows and for scaling
Docker Images
standalone packages that include everything for the application to run (code itself, dependencies, configuration etc
immutable(cant change) file and represents an application and its virtual environment at a specific point in time
Docker container
image cant run on its own it needs a docker container to run the image