Upload
romexsoft
View
486
Download
1
Embed Size (px)
Citation preview
DevOps Services
PREPARED BY:Mykola Zolotarov DevOps Engineer
30 July 2015
Case: Automated tests with CI server
● Run tests based on scheduler● Single point of reports and analyzing ● Notifications
2
CI JenkinsTerminology
3
SlaveExecutes tasks (jobs)
Generates reports
MasterProvides WEB and API interfaces
Stores tasks (jobs)
Analyses reports, generates notifications
CI JenkinsArchitecture
4
Master
Slave Slave Slave
● Run multiple tasks in parallel● Run tasks in different geographical locations● High available in case of slave node failure
CI JenkinsArchitecture
Master
● Master uses minimum resources, no licence needed● Utilize maximum resources of windows machine with
multiple slaves
Slave
RDP
Slave
RDP
Slave
RDP
5
CI JenkinsArchitecture
6
Master ● Utilize all possible hosting platforms
Case: Infrastructure improvementsClient: 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
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
Infrastructure after improvements
9
app1 sg
app2 sg
app3 sg
frontend sg
load balancers
clients
mgmt
db1 db1r
db2 db2r
ACS monitoring
CI
bastion
DMZ
High Availability (HA)Automatic fault tolerance
Goals:● No single point of failure● Two small are always better than one large
10
Automatic scalingCost saving and effectivenessGoals:
● 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
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
ConfigurationServer
node 'www1.example.com' {package{‘nginx’: ensure => installed }file {‘nginx.conf’: content => template(“nginx/nginx.conf.erb”) }}
12
Continuous development & deployment
BuildTestDeploy
Commitcode to VCS
PullChanges
CI Server
Checkout
Developers
Send notification
Deploy to repo
13
Run automate
d tests
Real-time system health monitoring
14
● Realtime stats● Hardware monitoring● Software monitoring● Notifications & Alerts
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
?