DevOps is Software Development and IT Operations
- Dev-Team:
- Delivery features quickly
- Goal is speed
- Ops-Team:
- Maintain stability
- DevOps Team:
- Delivery features quickly
- Maintain stability
- Goal: Speed
- Shared Goals
- Time to Market
DevOps Culture
- Automated Build
- Automated Integration
- Automated Testing
- Automated Deployment
- Parallel Processing
- Highly Efficient Teams
- Robust Automation Process
- Automation Leads to Consistency
Build Automation
- Is automating the process of preparing core of deployment to alive environment
- Depending on what programming language are used or what framework are used to create the code
- Tools:
Continuous Integration
- Frequently merging the code.
- Build then run unit test. Upon failure notification is sent to the Team
- Benefit:
- Ensure every one's changes are integrated.
- Catch bugs
- Reduce merge conflict
- Tools:
Continuous Deployment
- Is the practice of frequently deploying small code changes
Continuous Delivery
Infrastructure as Code (IaC)
- Managing and provisioning infrastructure using code
- Use code to deploy infrastructure of any size
- Provisioning new resources / modify existing resource using code
- Consistent deployment
- Self documenting
- Replicate environments to Test, QA and Prod
Continuous Management
- Doing the changes in maintainable way
- Minimizing the configuration drift
- Controlling the configuration / deployment
- Configuration management keep all servers as consistent state
- Identity the state of infrastructure
Monitoring
- Quickly response to problems
- Collect system metrics
- Represent data in a presentable maner
- Reel time monitoring and notifications
- Assist in troubleshooting
Microservices
- Concept of a software architecture
- Will break an application into a collection of small but loosely coupled services
- Interact with each other and with the application overall using a stable and well defined API's, and that means that way are dependent an another
- Is all about breaking up large application into individual functional components
Build Automation and Continuous Integration Tools
- Build Automation is automated process of building the code for deployment. Example tools:
- Continuous Integration is practice of continuously merging the code into a single branch or the main line. These tools usually consist of a server that does continuous integration and integrates with the source code. Every time code changed in the source control, the continuous integration server will respond by existing an automated build. Continuous tools example:
Configuration Management Tools
- Configuration management means managing and changing the state of pieces of infrastructure is a consist and maintainable way, usually using automation
- Most popular configuration tools:
Virtualization and Containerization Tools
- Virtualization means managing resources by creating a virtual layer on top a physical machine
- Containerization is the packages beyond virtualization. Containers are light weight, isolated packages that these contain everything that is made needed to run a pieces of software. They require very few resources as compared to a virtual machine
- Example tools is a docker
Monitoring Tools
- Infrastructure monitoring, focus on data related to the health of infrastructure, things like CPU usage, memory usage, networking statistics. Example tools:
- Application Performance Monitoring (APM)
- Focus on the performance and stability of application, that are running on infrastructure. Take a look at things like response time for web application and also the application logs. Example tools:
Orchestrating DevOps
- Orchestration means automation that supports process and workflow, particularly that provisioning of resources. Orchestration lets us do things like scale up, scale down an application base request and that means assigning more resources to them or taking away resources when they are no longer needed
- Autoscale application based on usage
- Create self healing systems.
- Orchestration tools:
DevOps and The Cloud
- DevOps is a culture of collaboration between Dev and Ops teams
- DevOps can happen inside or outside the cloud
- Practices of DevOps are very useful in the world of cloud
- Cloud Services are built upon DevOps practices.
- Some cloud architecture
- IAAS (Infrastructure As A Service)
- PAAS (Platform As A Service)
- SAAS (Software As A Service)
- Gmail
- FAAS (Function As A Service)
Komentar
Posting Komentar