SlideShare une entreprise Scribd logo
1  sur  29
CI/CD on Windows-based
Environments
Your Social Investment Network
eToro©2015 Presentation materials are confidential and should not be copied, distributed or
passed on, directly or indirectly, to any other person.
Noam Shochat, Sr. DevOps Engineer | noamsh@etoro.com
● The world’s largest social investment network
● Founded in 2007, raised $60M
● >200 employees (~half in Engineering)
● Offices in IL, UK, CY, RU and expending
Some Basic Facts...
eToro©2015 Presentation materials are confidential and should not be copied, distributed or passed on, directly or
indirectly, to any other person.
5M registered users. 140 Countries.
150M Trades.
9 different Apps!
eToro’s Legacy Technology
● HTML/ASP, Flash, iOS & Android clients
● 2 Geo-distributed data centers
● >130 Services
● > 500 Servers
● Hybrid MS tech stack & Open Source Server technologies
(Redis, RabbitMQ, HAProxy, etc…)
eToro©2015 Presentation materials are confidential and should not be copied, distributed or passed on, directly or
indirectly, to any other person.
CI / CD ingredient
CI / CD
Code commit
Deploy and tests in
Production Build,
Unit tests
Different OS’s
5 different
environments
Different development
languages
Manage all with Jenkins
CI / CD Pipeline
Check-In
GitHub
Mercurial
Build
MSBuild
Unit tests
NUnit
Integratio
n tests
UI Testing
Prod
Deployment
Managed by Jenkins
QA
Deployment
Jenkins Cross Platform Orchestration
Jenkins master
Build your flow with Jenkins
● Build Flow plugin
● WorkFlow plugin
Inside Jenkins Job
Script languages:
● Batch
● Powershell
● Shell
● Ruby
Auditing and reporting
● Graphite
● Splunk
● Slack
Provisioning servers and
Deploy with Puppet
Things we’re doing with puppet
define general::web_service(
$artifact_source,
$config_file_name='web.config',
$configerb_path,
$erb_config_file_name='web.config.erb',
$deploy_destination,
$zipfile_mount_name,
$port=80,
$enableanonymousauthentication=false,
$template_config={}
)
{
include general::7zip
include general::remotesign
include general::basicfoldersinstall
addwebsite {"${name}":
port => $port,
require => Class['enableiis']
}
addwebsite::enablewindowsauthentication{"${name}":
site_name => $name,
require => [Class['enableiis'],Addwebsite["${name}"]],
}
addwebsite::enableanonymousauthentication{"${name}":
site_name => $name,
enable => $enableanonymousauthentication,
require => [Class['enableiis'],Addwebsite["${name}"]],
}
● Enable features
● Install 3rd party apps
● Creating folders
● Installing / Configure win
services
● Installing / Configure
websites (IIS)
Orchestration with
mcollective
Mcollective architecture
Mcollective
Client
RabbitMQ
Server
Servers
Trigger Mcollective
Tools for Key Value
store
Hiera
● Developed by Puppet labs, there for fully integrated with
puppet
● Key value store
● Configuration file per environment on the same puppet
master
ETCD
acl to the office acl to the office
Azure North Europe
server 1 server 2
APP1
DLL
APP2
DLL
APP3
DLL
CCM 2
UI -
Admin
server 3 server 4
CCM 4
Azure West Europe
ILB LBS ILB LBS
CCM 3CCM 1
CI / CD on Azure
Cloud
PAAS in Azure
● Cloud service
● Slots
● Uploading Packages
● Integration with github
(Git Hook)
IAAS on Azure
● Jenkins agent
● Puppet master
● Mcollective client
● Mcollective server and puppet agent on all servers.
Summaries
● Jenkins - Main CI / CD tool
● Puppet - Provisioning and deployment
● Mcollective - Orchestrate
● PowerShell Azure SDK - For deploying Web/worker
roles
● This is all just tools - DevOps is a lot more
Wish List
● Automate the creation of new Jobs and Flows in
Jenkins.
● More self service
Noam Shochat, Sr. DevOps Engineer | noamsh@etoro.com

Contenu connexe

Tendances

The Australian-The Deal Magazine
The Australian-The Deal MagazineThe Australian-The Deal Magazine
The Australian-The Deal Magazine
drocallaghan
 
Google Cloud Challenge - PHP - DevFest GDG-Cairo
Google Cloud Challenge - PHP - DevFest GDG-Cairo Google Cloud Challenge - PHP - DevFest GDG-Cairo
Google Cloud Challenge - PHP - DevFest GDG-Cairo
Haitham Nabil
 
YAPC::Asia 2010 Twitter解析サービス
YAPC::Asia 2010 Twitter解析サービスYAPC::Asia 2010 Twitter解析サービス
YAPC::Asia 2010 Twitter解析サービス
Yusuke Wada
 
Web+GISという視点から見たGISの方向性
Web+GISという視点から見たGISの方向性Web+GISという視点から見たGISの方向性
Web+GISという視点から見たGISの方向性
Hidenori Fujimura
 

Tendances (20)

The Australian-The Deal Magazine
The Australian-The Deal MagazineThe Australian-The Deal Magazine
The Australian-The Deal Magazine
 
Blog Hacks 2011
Blog Hacks 2011Blog Hacks 2011
Blog Hacks 2011
 
Make WordPress realtime.
Make WordPress realtime.Make WordPress realtime.
Make WordPress realtime.
 
2018-06-06 @nuxtjs/auth with Django Rest Framework
2018-06-06 @nuxtjs/auth with Django Rest Framework2018-06-06 @nuxtjs/auth with Django Rest Framework
2018-06-06 @nuxtjs/auth with Django Rest Framework
 
Practica csv
Practica csvPractica csv
Practica csv
 
Creating beautiful puppet modules with puppet-lint
Creating beautiful puppet modules with puppet-lintCreating beautiful puppet modules with puppet-lint
Creating beautiful puppet modules with puppet-lint
 
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
 
Immutable infrastructure on AWS
Immutable infrastructure on AWSImmutable infrastructure on AWS
Immutable infrastructure on AWS
 
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
 
Google Cloud Challenge - PHP - DevFest GDG-Cairo
Google Cloud Challenge - PHP - DevFest GDG-Cairo Google Cloud Challenge - PHP - DevFest GDG-Cairo
Google Cloud Challenge - PHP - DevFest GDG-Cairo
 
wget.pl
wget.plwget.pl
wget.pl
 
dotCloud and go
dotCloud and godotCloud and go
dotCloud and go
 
A Brief Introduction to Writing and Understanding Puppet Modules
A Brief Introduction to Writing and Understanding Puppet ModulesA Brief Introduction to Writing and Understanding Puppet Modules
A Brief Introduction to Writing and Understanding Puppet Modules
 
MuseScore MusicHackDay Presentation
MuseScore MusicHackDay PresentationMuseScore MusicHackDay Presentation
MuseScore MusicHackDay Presentation
 
Mojolicious: what works and what doesn't
Mojolicious: what works and what doesn'tMojolicious: what works and what doesn't
Mojolicious: what works and what doesn't
 
YAPC::Asia 2010 Twitter解析サービス
YAPC::Asia 2010 Twitter解析サービスYAPC::Asia 2010 Twitter解析サービス
YAPC::Asia 2010 Twitter解析サービス
 
Database api
Database apiDatabase api
Database api
 
Web+GISという視点から見たGISの方向性
Web+GISという視点から見たGISの方向性Web+GISという視点から見たGISの方向性
Web+GISという視点から見たGISの方向性
 
Angular&node js upload file
Angular&node js upload fileAngular&node js upload file
Angular&node js upload file
 
Cpsh sh
Cpsh shCpsh sh
Cpsh sh
 

Similaire à CI/CD on Windows-Based Environments - Noam Shochat, eToro - DevOpsDays Tel Aviv 2015

Php Inside - confoo 2011 - Derick Rethans
Php Inside -  confoo 2011 - Derick RethansPhp Inside -  confoo 2011 - Derick Rethans
Php Inside - confoo 2011 - Derick Rethans
Bachkoutou Toutou
 
Intravert Server side processing for Cassandra
Intravert Server side processing for CassandraIntravert Server side processing for Cassandra
Intravert Server side processing for Cassandra
Edward Capriolo
 

Similaire à CI/CD on Windows-Based Environments - Noam Shochat, eToro - DevOpsDays Tel Aviv 2015 (20)

Simple callcenter platform with PHP
Simple callcenter platform with PHPSimple callcenter platform with PHP
Simple callcenter platform with PHP
 
Node.js Workshop
Node.js WorkshopNode.js Workshop
Node.js Workshop
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php Presentation
 
OWASP TOP 10 for PHP Programmers
OWASP TOP 10 for PHP ProgrammersOWASP TOP 10 for PHP Programmers
OWASP TOP 10 for PHP Programmers
 
Introducere in web
Introducere in webIntroducere in web
Introducere in web
 
How to build a High Performance PSGI/Plack Server
How to build a High Performance PSGI/Plack Server How to build a High Performance PSGI/Plack Server
How to build a High Performance PSGI/Plack Server
 
HP Helion European Webinar Series ,Webinar #3
HP Helion European Webinar Series ,Webinar #3 HP Helion European Webinar Series ,Webinar #3
HP Helion European Webinar Series ,Webinar #3
 
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten ZiegelerOSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Manager
 
Node azure
Node azureNode azure
Node azure
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Manager
 
Max Voloshin - "Organization of frontend development for products with micros...
Max Voloshin - "Organization of frontend development for products with micros...Max Voloshin - "Organization of frontend development for products with micros...
Max Voloshin - "Organization of frontend development for products with micros...
 
OpenStack API's and WSGI
OpenStack API's and WSGIOpenStack API's and WSGI
OpenStack API's and WSGI
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
 
Refresh Austin - Intro to Dexy
Refresh Austin - Intro to DexyRefresh Austin - Intro to Dexy
Refresh Austin - Intro to Dexy
 
Php Inside - confoo 2011 - Derick Rethans
Php Inside -  confoo 2011 - Derick RethansPhp Inside -  confoo 2011 - Derick Rethans
Php Inside - confoo 2011 - Derick Rethans
 
node.js - Eventful JavaScript on the Server
node.js - Eventful JavaScript on the Servernode.js - Eventful JavaScript on the Server
node.js - Eventful JavaScript on the Server
 
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"
 
Intravert Server side processing for Cassandra
Intravert Server side processing for CassandraIntravert Server side processing for Cassandra
Intravert Server side processing for Cassandra
 
Ran Mizrahi - Symfony2 meets Drupal8
Ran Mizrahi - Symfony2 meets Drupal8Ran Mizrahi - Symfony2 meets Drupal8
Ran Mizrahi - Symfony2 meets Drupal8
 

Plus de DevOpsDays Tel Aviv

THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider SecurityTHE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
DevOpsDays Tel Aviv
 
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearBHOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
DevOpsDays Tel Aviv
 
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, FireflyDON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DevOpsDays Tel Aviv
 

Plus de DevOpsDays Tel Aviv (20)

YOUR OPEN SOURCE PROJECT IS LIKE A STARTUP, TREAT IT LIKE ONE, EYAR ZILBERMAN...
YOUR OPEN SOURCE PROJECT IS LIKE A STARTUP, TREAT IT LIKE ONE, EYAR ZILBERMAN...YOUR OPEN SOURCE PROJECT IS LIKE A STARTUP, TREAT IT LIKE ONE, EYAR ZILBERMAN...
YOUR OPEN SOURCE PROJECT IS LIKE A STARTUP, TREAT IT LIKE ONE, EYAR ZILBERMAN...
 
GRAPHQL TO THE RES(T)CUE, ELLA SHARAKANSKI, Salto
GRAPHQL TO THE RES(T)CUE, ELLA SHARAKANSKI, SaltoGRAPHQL TO THE RES(T)CUE, ELLA SHARAKANSKI, Salto
GRAPHQL TO THE RES(T)CUE, ELLA SHARAKANSKI, Salto
 
MICROSERVICES ABOVE THE CLOUD - DESIGNING THE INTERNATIONAL SPACE STATION FOR...
MICROSERVICES ABOVE THE CLOUD - DESIGNING THE INTERNATIONAL SPACE STATION FOR...MICROSERVICES ABOVE THE CLOUD - DESIGNING THE INTERNATIONAL SPACE STATION FOR...
MICROSERVICES ABOVE THE CLOUD - DESIGNING THE INTERNATIONAL SPACE STATION FOR...
 
THE (IR)RATIONAL INCIDENT RESPONSE: HOW PSYCHOLOGICAL BIASES AFFECT INCIDENT ...
THE (IR)RATIONAL INCIDENT RESPONSE: HOW PSYCHOLOGICAL BIASES AFFECT INCIDENT ...THE (IR)RATIONAL INCIDENT RESPONSE: HOW PSYCHOLOGICAL BIASES AFFECT INCIDENT ...
THE (IR)RATIONAL INCIDENT RESPONSE: HOW PSYCHOLOGICAL BIASES AFFECT INCIDENT ...
 
PRINCIPLES OF OBSERVABILITY // DANIEL MAHER, DataDog
PRINCIPLES OF OBSERVABILITY // DANIEL MAHER, DataDogPRINCIPLES OF OBSERVABILITY // DANIEL MAHER, DataDog
PRINCIPLES OF OBSERVABILITY // DANIEL MAHER, DataDog
 
NUDGE AND SLUDGE: DRIVING SECURITY WITH DESIGN // J. WOLFGANG GOERLICH, Duo S...
NUDGE AND SLUDGE: DRIVING SECURITY WITH DESIGN // J. WOLFGANG GOERLICH, Duo S...NUDGE AND SLUDGE: DRIVING SECURITY WITH DESIGN // J. WOLFGANG GOERLICH, Duo S...
NUDGE AND SLUDGE: DRIVING SECURITY WITH DESIGN // J. WOLFGANG GOERLICH, Duo S...
 
(Ignite) TAKE A HIKE: PREVENTING BATTERY CORROSION - LEAH VOGEL, CHEGG
(Ignite) TAKE A HIKE: PREVENTING BATTERY CORROSION - LEAH VOGEL, CHEGG(Ignite) TAKE A HIKE: PREVENTING BATTERY CORROSION - LEAH VOGEL, CHEGG
(Ignite) TAKE A HIKE: PREVENTING BATTERY CORROSION - LEAH VOGEL, CHEGG
 
BUILDING A DR PLAN FOR YOUR CLOUD INFRASTRUCTURE FROM THE GROUND UP, MOSHE BE...
BUILDING A DR PLAN FOR YOUR CLOUD INFRASTRUCTURE FROM THE GROUND UP, MOSHE BE...BUILDING A DR PLAN FOR YOUR CLOUD INFRASTRUCTURE FROM THE GROUND UP, MOSHE BE...
BUILDING A DR PLAN FOR YOUR CLOUD INFRASTRUCTURE FROM THE GROUND UP, MOSHE BE...
 
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider SecurityTHE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
 
THE PLEASURES OF ON-PREM, TOMER GABEL
THE PLEASURES OF ON-PREM, TOMER GABELTHE PLEASURES OF ON-PREM, TOMER GABEL
THE PLEASURES OF ON-PREM, TOMER GABEL
 
CONFIGURATION MANAGEMENT IN THE CLOUD NATIVE ERA, SHAHAR MINTZ, EggPack
CONFIGURATION MANAGEMENT IN THE CLOUD NATIVE ERA, SHAHAR MINTZ, EggPackCONFIGURATION MANAGEMENT IN THE CLOUD NATIVE ERA, SHAHAR MINTZ, EggPack
CONFIGURATION MANAGEMENT IN THE CLOUD NATIVE ERA, SHAHAR MINTZ, EggPack
 
SOLVING THE DEVOPS CRISIS, ONE PERSON AT A TIME, CHRISTINA BABITSKI, Develeap
SOLVING THE DEVOPS CRISIS, ONE PERSON AT A TIME, CHRISTINA BABITSKI, DeveleapSOLVING THE DEVOPS CRISIS, ONE PERSON AT A TIME, CHRISTINA BABITSKI, Develeap
SOLVING THE DEVOPS CRISIS, ONE PERSON AT A TIME, CHRISTINA BABITSKI, Develeap
 
OPTIMIZING PERFORMANCE USING CONTINUOUS PRODUCTION PROFILING ,YONATAN GOLDSCH...
OPTIMIZING PERFORMANCE USING CONTINUOUS PRODUCTION PROFILING ,YONATAN GOLDSCH...OPTIMIZING PERFORMANCE USING CONTINUOUS PRODUCTION PROFILING ,YONATAN GOLDSCH...
OPTIMIZING PERFORMANCE USING CONTINUOUS PRODUCTION PROFILING ,YONATAN GOLDSCH...
 
HOW TO SCALE YOUR ONCALL OPERATION, AND SURVIVE TO TELL, ANTON DRUKH
HOW TO SCALE YOUR ONCALL OPERATION, AND SURVIVE TO TELL, ANTON DRUKHHOW TO SCALE YOUR ONCALL OPERATION, AND SURVIVE TO TELL, ANTON DRUKH
HOW TO SCALE YOUR ONCALL OPERATION, AND SURVIVE TO TELL, ANTON DRUKH
 
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearBHOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
 
FLYING BLIND - ACCESSIBILITY IN MONITORING, FEU MOUREK, Icinga
FLYING BLIND - ACCESSIBILITY IN MONITORING, FEU MOUREK, IcingaFLYING BLIND - ACCESSIBILITY IN MONITORING, FEU MOUREK, Icinga
FLYING BLIND - ACCESSIBILITY IN MONITORING, FEU MOUREK, Icinga
 
(Ignite) WHAT'S BURNING THROUGH YOUR CLOUD BILL - GIL BAHAT, CIDER SECURITY
(Ignite) WHAT'S BURNING THROUGH YOUR CLOUD BILL - GIL BAHAT, CIDER SECURITY(Ignite) WHAT'S BURNING THROUGH YOUR CLOUD BILL - GIL BAHAT, CIDER SECURITY
(Ignite) WHAT'S BURNING THROUGH YOUR CLOUD BILL - GIL BAHAT, CIDER SECURITY
 
SLO DRIVEN DEVELOPMENT, ALON NATIV, Tomorrow.io
SLO DRIVEN DEVELOPMENT, ALON NATIV, Tomorrow.ioSLO DRIVEN DEVELOPMENT, ALON NATIV, Tomorrow.io
SLO DRIVEN DEVELOPMENT, ALON NATIV, Tomorrow.io
 
ONBOARDING IN LOCKDOWN, HILA FOX, Augury
ONBOARDING IN LOCKDOWN, HILA FOX, AuguryONBOARDING IN LOCKDOWN, HILA FOX, Augury
ONBOARDING IN LOCKDOWN, HILA FOX, Augury
 
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, FireflyDON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

CI/CD on Windows-Based Environments - Noam Shochat, eToro - DevOpsDays Tel Aviv 2015

  • 1. CI/CD on Windows-based Environments Your Social Investment Network eToro©2015 Presentation materials are confidential and should not be copied, distributed or passed on, directly or indirectly, to any other person. Noam Shochat, Sr. DevOps Engineer | noamsh@etoro.com
  • 2. ● The world’s largest social investment network ● Founded in 2007, raised $60M ● >200 employees (~half in Engineering) ● Offices in IL, UK, CY, RU and expending Some Basic Facts... eToro©2015 Presentation materials are confidential and should not be copied, distributed or passed on, directly or indirectly, to any other person.
  • 3. 5M registered users. 140 Countries. 150M Trades.
  • 5. eToro’s Legacy Technology ● HTML/ASP, Flash, iOS & Android clients ● 2 Geo-distributed data centers ● >130 Services ● > 500 Servers ● Hybrid MS tech stack & Open Source Server technologies (Redis, RabbitMQ, HAProxy, etc…) eToro©2015 Presentation materials are confidential and should not be copied, distributed or passed on, directly or indirectly, to any other person.
  • 6. CI / CD ingredient CI / CD Code commit Deploy and tests in Production Build, Unit tests
  • 8.
  • 9. Manage all with Jenkins
  • 10. CI / CD Pipeline Check-In GitHub Mercurial Build MSBuild Unit tests NUnit Integratio n tests UI Testing Prod Deployment Managed by Jenkins QA Deployment
  • 11. Jenkins Cross Platform Orchestration Jenkins master
  • 12. Build your flow with Jenkins ● Build Flow plugin ● WorkFlow plugin
  • 13. Inside Jenkins Job Script languages: ● Batch ● Powershell ● Shell ● Ruby
  • 14. Auditing and reporting ● Graphite ● Splunk ● Slack
  • 16. Things we’re doing with puppet define general::web_service( $artifact_source, $config_file_name='web.config', $configerb_path, $erb_config_file_name='web.config.erb', $deploy_destination, $zipfile_mount_name, $port=80, $enableanonymousauthentication=false, $template_config={} ) { include general::7zip include general::remotesign include general::basicfoldersinstall addwebsite {"${name}": port => $port, require => Class['enableiis'] } addwebsite::enablewindowsauthentication{"${name}": site_name => $name, require => [Class['enableiis'],Addwebsite["${name}"]], } addwebsite::enableanonymousauthentication{"${name}": site_name => $name, enable => $enableanonymousauthentication, require => [Class['enableiis'],Addwebsite["${name}"]], } ● Enable features ● Install 3rd party apps ● Creating folders ● Installing / Configure win services ● Installing / Configure websites (IIS)
  • 20. Tools for Key Value store
  • 21. Hiera ● Developed by Puppet labs, there for fully integrated with puppet ● Key value store ● Configuration file per environment on the same puppet master
  • 22. ETCD acl to the office acl to the office Azure North Europe server 1 server 2 APP1 DLL APP2 DLL APP3 DLL CCM 2 UI - Admin server 3 server 4 CCM 4 Azure West Europe ILB LBS ILB LBS CCM 3CCM 1
  • 23. CI / CD on Azure Cloud
  • 24. PAAS in Azure ● Cloud service ● Slots ● Uploading Packages ● Integration with github (Git Hook)
  • 25. IAAS on Azure ● Jenkins agent ● Puppet master ● Mcollective client ● Mcollective server and puppet agent on all servers.
  • 26. Summaries ● Jenkins - Main CI / CD tool ● Puppet - Provisioning and deployment ● Mcollective - Orchestrate ● PowerShell Azure SDK - For deploying Web/worker roles ● This is all just tools - DevOps is a lot more
  • 27. Wish List ● Automate the creation of new Jobs and Flows in Jenkins. ● More self service
  • 28.
  • 29. Noam Shochat, Sr. DevOps Engineer | noamsh@etoro.com

Notes de l'éditeur

  1. So Now let’s talk about CI / CD and how it works on Microsoft based environment. CI / CD ingredient
  2. Now we know what is CI / CD but how do we implement it on our company? First, what are the challenges we are facing with?
  3. So, can we do it on our mostly microsoft based environment? Yes we can Despite most tools were designed first to work on unix based servers.
  4. The Jenkins agent connected to the Jenkins master in our local DC designated puppet master and Mcollective
  5. The Jenkins agent connected to the Jenkins master in our local DC designated puppet master and Mcollective
  6. The Jenkins agent connected to the Jenkins master in our local DC designated puppet master and Mcollective Mcollective server and puppet agent on each vm, same as on our on-premise.
  7. Our Mcollective client, the component which send the command to the servers, installed on a Ubuntu server. In that server we run a shell script that run the nco command that trigger puppet the run on the server we want to in accordance with the environment we want to deploy into.
  8. Developed by Puppet labs, there for fully integrated with puppet Key value store Configuration file per environment on the same puppet master
  9. We use etcd with inhouse development of admin UI for it. We call it CCM (Central Configuration Management). All applications are taking their configuration from it. It’s simplify when wanting to change configuration without logging to the server itself were the application is installed or when we use puppet for the deployment and hiera for the key-value it saves us the necessary to run full deployment.
  10. We can’t talk about microsoft / windows without talking on azure.
  11. Few key features in Azure makes it very easy. Cloud services Slots Uploading packages GitHook
  12. The Jenkins agent connected to the Jenkins master in our local DC designated puppet master and Mcollective Mcollective server and puppet agent on each vm, same as on our on-premise.
  13. The Jenkins agent connected to the Jenkins master in our local DC designated puppet master and Mcollective Mcollective server and puppet agent on each vm, same as on our on-premise.
  14. The Jenkins agent connected to the Jenkins master in our local DC designated puppet master and Mcollective Mcollective server and puppet agent on each vm, same as on our on-premise.