4. CI Jenkins
Architecture
4
Master
Slave Slave Slave
● Run multiple tasks in parallel
● Run tasks in different geographical locations
● High available in case of slave node failure
5. CI Jenkins
Architecture
Master
● Master uses minimum resources, no licence needed
● Utilize maximum resources of windows machine with
multiple slaves
Slave
RDP
Slave
RDP
Slave
RDP
5
7. Case: Infrastructure improvements
Client: SavvyMoney (CA, USA) company providing financial management services. There are
several different web applications and environments.
Problem statement:
● Increasing total cost of ownership (TCO)
● Low SLA because of environmental problems
● Manually configured machines and services
● Poor hardware/software monitoring
Approach:
● Automatic fault tolerance
● Automatic application scaling
● Automatic configuration and server provisioning
● Automatic application deployments
● Security
● Continuous monitoring and notifications
● Backup and restore strategies
7
8. Infrastructure before improvements
8
db1 db2
clients
app1 app2 app3
● Numerous points of failure
● Cost ineffective
● Unreliable
● Manually configured
● Only vertical scaling is possible
● Security issues
frontend server
mgmt
10. High Availability (HA)
Automatic fault tolerance
Goals:
● No single point of failure
● Two small are always better than one large
10
11. Automatic scaling
Cost saving and effectiveness
Goals:
● Increase number of running machines on high load to get more capacity
● Reduce number of machines when load decreases to save money
11
Without autoscaling With autoscaling
12. Automatic server configuration
● Automatically deploy and track services
● Define desired state of infrastructure,
not the way how to configure it
● Manage infrastructure from single point
● Keep infrastructure as code:
DevOps Engineer
Configuration
Server
node 'www1.example.com' {
package{‘nginx’:
ensure => installed
}
file {‘nginx.conf’:
content =>
template(“nginx/nginx.conf.erb”)
}
}
12
13. Continuous development & deployment
Build
Test
Deploy
Commit
code to VCS
Pull
Changes
CI Server
Checkout
Developers
Send notification
Deploy to
repo
13
Run
automated
tests
14. Real-time system health monitoring
14
● Realtime stats
● Hardware monitoring
● Software monitoring
● Notifications & Alerts
15. Advantages of DevOps services
● SLA > 99.95%
● Up to 30% of TCO savings
● Flow automation
● Cost effective environments
● Reliable infrastructure
● Automatically configured instances
● Horizontal auto scaling
● Advanced Security
15