SlideShare a Scribd company logo
©2016 IKERLAN. All rights reserved©2016 IKERLAN. All rights reserved
Ikerlan – Modern Software
Development
Ángel Conde– [DevOps & Data Engineer]
2016/4/4
©2016 IKERLAN. All rights reserved 2
Outline
1. Environment – Software tools
2. Architecture – Cloud based software
3. Ops – Coded Infrastructure
4. Deployment – Into the Continuous I/D wheel
©2016 IKERLAN. All rights reserved 3
Git
Why another Version Control System?
1. Fast
2. Decentralized
3. Branch management made easy.
4. Everyone is using it!
©2016 IKERLAN. All rights reserved 4
Git – Branch flow
A branch for each different feature.
Use tags for identification.
Merge / Rebase concepts.
©2016 IKERLAN. All rights reserved 5
Git – Basic Example
git clone git@github.com:foo/bar.git
cd bar
touch something
git add something
git commit -a -m "foo"
git push
User A:
User B:
git pull
echo “blah blah” | tee --append something
git commit –a –m “added something”
git push
©2016 IKERLAN. All rights reserved 6
GitHub – Social VCS
Issues / Releases / Milestones.
Promotes collaboration between developers.
Pull request concept for Open Source projects.
Open Source alternative, .
©2016 IKERLAN. All rights reserved 7
Slack – Team communication
Write less emails.
Integration with 3rd party tools (GitHub, Trello).
Useful search functions.
Snippets, share your code.
Works everywhere.
Private channels.
©2016 IKERLAN. All rights reserved 8
Slack – Team communication
©2016 IKERLAN. All rights reserved 9
Trello – Project Management
Kanban system from Toyota.
Three main elements:
1. Boards: used to house a project.
2. Lists: organize your tasks into lists.
3. Cards: to-do items.
Cards can be moved between lists.
©2016 IKERLAN. All rights reserved 10
Trello – Project Management
©2016 IKERLAN. All rights reserved 11
Jenkins – CI Server
Automate your tests on each Push.
Hundreds of plugins.
Provides Continuous Delivery support.
Multiple languages support.
Distributed model  Master / Slaves.
©2016 IKERLAN. All rights reserved 12
Jenkins – Example
©2016 IKERLAN. All rights reserved 13
Jenkins – GitHub Integration
©2016 IKERLAN. All rights reserved 14
IDEs
©2016 IKERLAN. All rights reserved 15
Debugging and Profiling
©2016 IKERLAN. All rights reserved 16
Outline
1. Environment – Software tools
2. Architecture – Cloud based software
3. Ops – Coded Infrastructure
4. Deployment – Into the Continuous I/D wheel
©2016 IKERLAN. All rights reserved 17
Cloud based software
On Premise
On Cloud
Hybrid
PROVIDERS TYPES
IaaS
PaaS
SaaS
SERVICES
©2016 IKERLAN. All rights reserved 18
Cloud based software
Reduce infrastructure costs.
SaaS for further cost reduction.
Scalability  Elasticity.
High Availability.
Blue-Green deployments.
Microservices
©2016 IKERLAN. All rights reserved 19
Microservices
Very simple, focus on doing one thing well.
Each service can be built using the best tool.
Systems inherently loosely coupled.
Multiple teams can deliver independently.
©2016 IKERLAN. All rights reserved 20
Microservices
©2016 IKERLAN. All rights reserved 21
Microservices
©2016 IKERLAN. All rights reserved 22
Microservices
©2016 IKERLAN. All rights reserved 23
Microservices – Scaling
©2016 IKERLAN. All rights reserved 24
Microservices – High Availability
Design “stateless” apps.
Use different availability zones.
Load balancers serve to healthy instances.
Store sessions outside the apps (Redis).
©2016 IKERLAN. All rights reserved 25
Microservices – High Availability
©2016 IKERLAN. All rights reserved 26
Microservices – Service Discovery
Dynamically distributed architecture.
Is there at least one DB instance running?
At which IP?
On which port?
©2016 IKERLAN. All rights reserved 27
Microservices – Service Discovery
©2016 IKERLAN. All rights reserved 28
Microservices – Message Brokers
Kafka: LinkedIn’s message Broker
Influenced by transaction logs from the DB world.
High-throughput, low-latency.
Used by: Cisco, Netflix, Uber, PayPal, Spotify..
Topics & Partitions.
©2016 IKERLAN. All rights reserved 29
Microservices – Message Brokers
LOGS EVERYWHERE
1. DB storage engines.
2. DB replication
3. Distributed consensus, aka Zookeeper .
4. Kafka.
©2016 IKERLAN. All rights reserved 30
Microservices – Message Brokers
Byte Stream
In-memory
Blocking/backpressure
One-to-one (tee)
KAFKA UNIX PIPES
Messages
Durable
Buffering
Multi-subscriber
©2016 IKERLAN. All rights reserved 31
Microservices – Message Brokers
©2016 IKERLAN. All rights reserved 32
Microservices – Message Brokers
©2016 IKERLAN. All rights reserved 33
Microservices – Message Brokers
©2016 IKERLAN. All rights reserved 34
Beyond the VM´s – Docker
•Multiple isolated user space instances.
•On par with bare metal performance of servers.
• Solves  “Works on my machine” syndrome.
Docker: a container based virtualization system
App A App B
Libs
Guest OS
Libs
Guest OS
Hypervisor
Host OS
Server
App B
Docker Engine
Host OS
Server
App A
Libs LibsVMs Docker
©2016 IKERLAN. All rights reserved 35
Orchestration
Kubernetes: Google´s approach to container
orchestration.
Apache Mesos: Mesosphere approach´s,
promoted to Apache top level project.
Docker Swarm: Docker native clustering
orchestration system.
©2016 IKERLAN. All rights reserved 36
Outline
1. Environment – Software tools
2. Architecture – Cloud based software
3. Ops – Coded Infrastructure
4. Deployment – Into the Continuous I/D wheel
©2016 IKERLAN. All rights reserved 37
Infrastructure as a Code (IaC)
Automatize your infrastructure.
Keep your developers happy.
Launch VMs, configure OS and configure applications.
Software Defined Networks -- Microsoft platform.
©2016 IKERLAN. All rights reserved
Consul: service discovery and configuration.
Vagrant: portable work environments.
Terraform: build, change and version infrastructure.
Vault: centralized secret management.
38
Hashicorp Stack
©2016 IKERLAN. All rights reserved 39
Hashicorp Stack – Vagrant
©2016 IKERLAN. All rights reserved 40
Hashicorp Stack – Consul
©2016 IKERLAN. All rights reserved 41
Provisioning
Automatize your applications environment.
Install/configure platforms/software.
©2016 IKERLAN. All rights reserved 42
Ansible – Example
©2016 IKERLAN. All rights reserved 43
Outline
1. Environment – Software tools
2. Architecture – Cloud based software
3. Ops – Coded Infrastructure
4. Deployment – Into the Continuous I/D wheel
©2016 IKERLAN. All rights reserved 44
The Continuous wheel
©2016 IKERLAN. All rights reserved 45
Continuous Integration
Adopted first on Extreme Programming.
Remove the problem of finding later issues in the build
lifecycle.
Enforces disciple of frequent automated testing.
Immediate feedback on system-wide impact of local
changes.
Metrics reports focus developers on improve the code.
©2016 IKERLAN. All rights reserved 46
Continuous Delivery
Ensure that the software can be reliable released any
time.
Build, test and release software faster and frequently.
Accelerated time to market.
Building the right product (user feedback).
Productivity and efficiency.
©2016 IKERLAN. All rights reserved 47
Continuous Delivery
©2016 IKERLAN. All rights reserved 48
References
https://git-scm.com/book/es/v1
http://codeinthehole.com/writing/pull-requests-and-other-good-practices-for-
teams-using-github/
http://wpcurve.com/trello-for-project-management/
http://techblog.netflix.com/2016/03/how-we-build-code-at-netflix.html
http://developers.redhat.com/blog/2014/08/14/find-fix-memory-leaks-java-
application/
https://www.youtube.com/watch?v=YCC-CpTE2LU
http://www.tutorialspoint.com/jenkins/index.htm
©2016 IKERLAN. All rights reserved 49
References (II)
http://progrium.com/blog/2014/07/29/understanding-modern-service-
discovery-with-docker/
http://progrium.com/blog/2014/08/20/consul-service-discovery-with-docker/
https://github.com/ansible/ansible-examples
https://martin.kleppmann.com/2015/01/24/stream-processing-at-dev-
winter.html
https://www.digitalocean.com/community/tutorials/how-to-configure-consul-
in-a-production-environment-on-ubuntu-14-04
©2016 IKERLAN. All rights reserved
IKERLAN Polo Garaia
C/ Goiru , 9
20500 Arrasate-Mondragón
Tel.: 943 71 02 12
Fax: 943 79 69 44
IKERLAN Unidad de energía
Parque Tecnológico de Álava,
C/ Juan de la Cierva, 1
01510 Miñano
Tel.: 945 29 70 32
Fax: 943 79 69 44
www.ikerlan.es
ORONA IDeO - Innovation city
Pol. Industrial Galarreta,
Parcela 10.5, Edificio A3
20120 Hernani
Tel.: 945 29 70 32
Fax: 943 79 69 44
IKERLAN
Pº. J. Mª. Arizmendiarrieta, 2
20500 Arrasate-Mondragón
Tel.: 943 71 24 00
Fax: 943 79 69 44
Questions?
Email: aconde@ikerlan.es
Thanks for your attention:

More Related Content

PDF
VOID19 The Power Of Community
PPTX
CDK - The next big thing - Quang Phuong
PDF
Red Hat OpenShift V3 Overview and Deep Dive
PDF
What are DevOps Application Patterns on AWS…and why do I need them?
PPTX
OpenShift: Devops Made Easy
PDF
Welcome at OPEN'22
PDF
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PDF
OpenStack Summit Tokyo 2015: Scale or Fail: Containers on OpenStack with Open...
VOID19 The Power Of Community
CDK - The next big thing - Quang Phuong
Red Hat OpenShift V3 Overview and Deep Dive
What are DevOps Application Patterns on AWS…and why do I need them?
OpenShift: Devops Made Easy
Welcome at OPEN'22
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
OpenStack Summit Tokyo 2015: Scale or Fail: Containers on OpenStack with Open...

What's hot (20)

PPTX
Top 5 benefits of docker
PDF
OpenShift In a Nutshell - Episode 02 - Architecture
PDF
Introduction to the DevNet Sandbox and IVT
PDF
Meetup Openshift Geneva 03/10
PDF
OpenShift pour le developpement cloud native - 20171214
PPT
Docker benefits v0.1
PDF
Kangaroot open shift best practices - straight from the battlefield
PDF
A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...
PDF
A Summary about Hykes' Keynote on Dockercon 2015
PDF
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
PPTX
DEVNET-1117 Open Source DevCenter Launched within DevNet
PPTX
Neutron upgrades strategy
PPTX
DEVNET-1112 The DevNet Hackathon Awards
PDF
LatinoWare 2013 An OpenSource Blueprint for Cloud presented by Diane Mueller,...
PPTX
Chandigarh MuleSoft Meetup #3
ODP
Deploying & Scaling OpenShift on OpenStack using Heat - OpenStack Seattle Mee...
PPTX
OpenShift Introduction
PDF
Cloud Native Engineering with SRE and GitOps
ODP
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller
PPTX
Managing Microservices at Scale
Top 5 benefits of docker
OpenShift In a Nutshell - Episode 02 - Architecture
Introduction to the DevNet Sandbox and IVT
Meetup Openshift Geneva 03/10
OpenShift pour le developpement cloud native - 20171214
Docker benefits v0.1
Kangaroot open shift best practices - straight from the battlefield
A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...
A Summary about Hykes' Keynote on Dockercon 2015
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
DEVNET-1117 Open Source DevCenter Launched within DevNet
Neutron upgrades strategy
DEVNET-1112 The DevNet Hackathon Awards
LatinoWare 2013 An OpenSource Blueprint for Cloud presented by Diane Mueller,...
Chandigarh MuleSoft Meetup #3
Deploying & Scaling OpenShift on OpenStack using Heat - OpenStack Seattle Mee...
OpenShift Introduction
Cloud Native Engineering with SRE and GitOps
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller
Managing Microservices at Scale
Ad

Similar to Modern Software Development (20)

PDF
Dipping Your Toes Into Cloud Native Application Development
PDF
Continuous Delivery: 5 years later (Incontro DevOps 2018)
PDF
Promise of DevOps
PPTX
Continous Delivery and Continous Integration at IKERLAN
PDF
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
PDF
Building and Deploying a Static Application using Jenkins and Docker in AWS
PPSX
CI-CD Jenkins, GitHub Actions, Tekton
PDF
Kubernetes + Jenkins X: a Cloud Native Approach
PPTX
Continous delivvery devops Tools Technologies.pptx
PPTX
Devops architecture
PPTX
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
PPTX
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
PDF
Software Delivery in 2016 - A Continuous Delivery Approach
PDF
Application Deployment at UC Riverside
PDF
Yale Jenkins Show and Tell
PPTX
Devops phase-1
PDF
Pelegri Desarrollando en una nueva era de software
PDF
Crash Course on Open Source Cloud Computing
PPTX
How to Operate Kubernetes CI/CD Pipelines at Scale
PPTX
Build a Cloud Day SF - Crash Course on Open Source Cloud Computing
Dipping Your Toes Into Cloud Native Application Development
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Promise of DevOps
Continous Delivery and Continous Integration at IKERLAN
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
Building and Deploying a Static Application using Jenkins and Docker in AWS
CI-CD Jenkins, GitHub Actions, Tekton
Kubernetes + Jenkins X: a Cloud Native Approach
Continous delivvery devops Tools Technologies.pptx
Devops architecture
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Software Delivery in 2016 - A Continuous Delivery Approach
Application Deployment at UC Riverside
Yale Jenkins Show and Tell
Devops phase-1
Pelegri Desarrollando en una nueva era de software
Crash Course on Open Source Cloud Computing
How to Operate Kubernetes CI/CD Pipelines at Scale
Build a Cloud Day SF - Crash Course on Open Source Cloud Computing
Ad

More from Angel Conde Manjon (6)

PPTX
Software Realibility on the Big Data Era
PPTX
Evolución hacia las plataformas de datos modernas, el Edge-to-cloud continuum
PPTX
Towards an Unified API for Spark and the IIoT
PPTX
Solving the Industry 4.0. challenges on the logistics domain using Apache Mesos
PPTX
Modern Java Development
PPTX
Ph.D. Defense
Software Realibility on the Big Data Era
Evolución hacia las plataformas de datos modernas, el Edge-to-cloud continuum
Towards an Unified API for Spark and the IIoT
Solving the Industry 4.0. challenges on the logistics domain using Apache Mesos
Modern Java Development
Ph.D. Defense

Recently uploaded (20)

PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PPTX
history of c programming in notes for students .pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
L1 - Introduction to python Backend.pptx
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Nekopoi APK 2025 free lastest update
PDF
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
medical staffing services at VALiNTRY
PDF
Cost to Outsource Software Development in 2025
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
Adobe Illustrator 28.6 Crack My Vision of Vector Design
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
17 Powerful Integrations Your Next-Gen MLM Software Needs
iTop VPN Free 5.6.0.5262 Crack latest version 2025
history of c programming in notes for students .pptx
Design an Analysis of Algorithms II-SECS-1021-03
Reimagine Home Health with the Power of Agentic AI​
L1 - Introduction to python Backend.pptx
Navsoft: AI-Powered Business Solutions & Custom Software Development
Nekopoi APK 2025 free lastest update
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Digital Systems & Binary Numbers (comprehensive )
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
medical staffing services at VALiNTRY
Cost to Outsource Software Development in 2025
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
How to Choose the Right IT Partner for Your Business in Malaysia

Modern Software Development

  • 1. ©2016 IKERLAN. All rights reserved©2016 IKERLAN. All rights reserved Ikerlan – Modern Software Development Ángel Conde– [DevOps & Data Engineer] 2016/4/4
  • 2. ©2016 IKERLAN. All rights reserved 2 Outline 1. Environment – Software tools 2. Architecture – Cloud based software 3. Ops – Coded Infrastructure 4. Deployment – Into the Continuous I/D wheel
  • 3. ©2016 IKERLAN. All rights reserved 3 Git Why another Version Control System? 1. Fast 2. Decentralized 3. Branch management made easy. 4. Everyone is using it!
  • 4. ©2016 IKERLAN. All rights reserved 4 Git – Branch flow A branch for each different feature. Use tags for identification. Merge / Rebase concepts.
  • 5. ©2016 IKERLAN. All rights reserved 5 Git – Basic Example git clone [email protected]:foo/bar.git cd bar touch something git add something git commit -a -m "foo" git push User A: User B: git pull echo “blah blah” | tee --append something git commit –a –m “added something” git push
  • 6. ©2016 IKERLAN. All rights reserved 6 GitHub – Social VCS Issues / Releases / Milestones. Promotes collaboration between developers. Pull request concept for Open Source projects. Open Source alternative, .
  • 7. ©2016 IKERLAN. All rights reserved 7 Slack – Team communication Write less emails. Integration with 3rd party tools (GitHub, Trello). Useful search functions. Snippets, share your code. Works everywhere. Private channels.
  • 8. ©2016 IKERLAN. All rights reserved 8 Slack – Team communication
  • 9. ©2016 IKERLAN. All rights reserved 9 Trello – Project Management Kanban system from Toyota. Three main elements: 1. Boards: used to house a project. 2. Lists: organize your tasks into lists. 3. Cards: to-do items. Cards can be moved between lists.
  • 10. ©2016 IKERLAN. All rights reserved 10 Trello – Project Management
  • 11. ©2016 IKERLAN. All rights reserved 11 Jenkins – CI Server Automate your tests on each Push. Hundreds of plugins. Provides Continuous Delivery support. Multiple languages support. Distributed model  Master / Slaves.
  • 12. ©2016 IKERLAN. All rights reserved 12 Jenkins – Example
  • 13. ©2016 IKERLAN. All rights reserved 13 Jenkins – GitHub Integration
  • 14. ©2016 IKERLAN. All rights reserved 14 IDEs
  • 15. ©2016 IKERLAN. All rights reserved 15 Debugging and Profiling
  • 16. ©2016 IKERLAN. All rights reserved 16 Outline 1. Environment – Software tools 2. Architecture – Cloud based software 3. Ops – Coded Infrastructure 4. Deployment – Into the Continuous I/D wheel
  • 17. ©2016 IKERLAN. All rights reserved 17 Cloud based software On Premise On Cloud Hybrid PROVIDERS TYPES IaaS PaaS SaaS SERVICES
  • 18. ©2016 IKERLAN. All rights reserved 18 Cloud based software Reduce infrastructure costs. SaaS for further cost reduction. Scalability  Elasticity. High Availability. Blue-Green deployments. Microservices
  • 19. ©2016 IKERLAN. All rights reserved 19 Microservices Very simple, focus on doing one thing well. Each service can be built using the best tool. Systems inherently loosely coupled. Multiple teams can deliver independently.
  • 20. ©2016 IKERLAN. All rights reserved 20 Microservices
  • 21. ©2016 IKERLAN. All rights reserved 21 Microservices
  • 22. ©2016 IKERLAN. All rights reserved 22 Microservices
  • 23. ©2016 IKERLAN. All rights reserved 23 Microservices – Scaling
  • 24. ©2016 IKERLAN. All rights reserved 24 Microservices – High Availability Design “stateless” apps. Use different availability zones. Load balancers serve to healthy instances. Store sessions outside the apps (Redis).
  • 25. ©2016 IKERLAN. All rights reserved 25 Microservices – High Availability
  • 26. ©2016 IKERLAN. All rights reserved 26 Microservices – Service Discovery Dynamically distributed architecture. Is there at least one DB instance running? At which IP? On which port?
  • 27. ©2016 IKERLAN. All rights reserved 27 Microservices – Service Discovery
  • 28. ©2016 IKERLAN. All rights reserved 28 Microservices – Message Brokers Kafka: LinkedIn’s message Broker Influenced by transaction logs from the DB world. High-throughput, low-latency. Used by: Cisco, Netflix, Uber, PayPal, Spotify.. Topics & Partitions.
  • 29. ©2016 IKERLAN. All rights reserved 29 Microservices – Message Brokers LOGS EVERYWHERE 1. DB storage engines. 2. DB replication 3. Distributed consensus, aka Zookeeper . 4. Kafka.
  • 30. ©2016 IKERLAN. All rights reserved 30 Microservices – Message Brokers Byte Stream In-memory Blocking/backpressure One-to-one (tee) KAFKA UNIX PIPES Messages Durable Buffering Multi-subscriber
  • 31. ©2016 IKERLAN. All rights reserved 31 Microservices – Message Brokers
  • 32. ©2016 IKERLAN. All rights reserved 32 Microservices – Message Brokers
  • 33. ©2016 IKERLAN. All rights reserved 33 Microservices – Message Brokers
  • 34. ©2016 IKERLAN. All rights reserved 34 Beyond the VM´s – Docker •Multiple isolated user space instances. •On par with bare metal performance of servers. • Solves  “Works on my machine” syndrome. Docker: a container based virtualization system App A App B Libs Guest OS Libs Guest OS Hypervisor Host OS Server App B Docker Engine Host OS Server App A Libs LibsVMs Docker
  • 35. ©2016 IKERLAN. All rights reserved 35 Orchestration Kubernetes: Google´s approach to container orchestration. Apache Mesos: Mesosphere approach´s, promoted to Apache top level project. Docker Swarm: Docker native clustering orchestration system.
  • 36. ©2016 IKERLAN. All rights reserved 36 Outline 1. Environment – Software tools 2. Architecture – Cloud based software 3. Ops – Coded Infrastructure 4. Deployment – Into the Continuous I/D wheel
  • 37. ©2016 IKERLAN. All rights reserved 37 Infrastructure as a Code (IaC) Automatize your infrastructure. Keep your developers happy. Launch VMs, configure OS and configure applications. Software Defined Networks -- Microsoft platform.
  • 38. ©2016 IKERLAN. All rights reserved Consul: service discovery and configuration. Vagrant: portable work environments. Terraform: build, change and version infrastructure. Vault: centralized secret management. 38 Hashicorp Stack
  • 39. ©2016 IKERLAN. All rights reserved 39 Hashicorp Stack – Vagrant
  • 40. ©2016 IKERLAN. All rights reserved 40 Hashicorp Stack – Consul
  • 41. ©2016 IKERLAN. All rights reserved 41 Provisioning Automatize your applications environment. Install/configure platforms/software.
  • 42. ©2016 IKERLAN. All rights reserved 42 Ansible – Example
  • 43. ©2016 IKERLAN. All rights reserved 43 Outline 1. Environment – Software tools 2. Architecture – Cloud based software 3. Ops – Coded Infrastructure 4. Deployment – Into the Continuous I/D wheel
  • 44. ©2016 IKERLAN. All rights reserved 44 The Continuous wheel
  • 45. ©2016 IKERLAN. All rights reserved 45 Continuous Integration Adopted first on Extreme Programming. Remove the problem of finding later issues in the build lifecycle. Enforces disciple of frequent automated testing. Immediate feedback on system-wide impact of local changes. Metrics reports focus developers on improve the code.
  • 46. ©2016 IKERLAN. All rights reserved 46 Continuous Delivery Ensure that the software can be reliable released any time. Build, test and release software faster and frequently. Accelerated time to market. Building the right product (user feedback). Productivity and efficiency.
  • 47. ©2016 IKERLAN. All rights reserved 47 Continuous Delivery
  • 48. ©2016 IKERLAN. All rights reserved 48 References https://git-scm.com/book/es/v1 http://codeinthehole.com/writing/pull-requests-and-other-good-practices-for- teams-using-github/ http://wpcurve.com/trello-for-project-management/ http://techblog.netflix.com/2016/03/how-we-build-code-at-netflix.html http://developers.redhat.com/blog/2014/08/14/find-fix-memory-leaks-java- application/ https://www.youtube.com/watch?v=YCC-CpTE2LU http://www.tutorialspoint.com/jenkins/index.htm
  • 49. ©2016 IKERLAN. All rights reserved 49 References (II) http://progrium.com/blog/2014/07/29/understanding-modern-service- discovery-with-docker/ http://progrium.com/blog/2014/08/20/consul-service-discovery-with-docker/ https://github.com/ansible/ansible-examples https://martin.kleppmann.com/2015/01/24/stream-processing-at-dev- winter.html https://www.digitalocean.com/community/tutorials/how-to-configure-consul- in-a-production-environment-on-ubuntu-14-04
  • 50. ©2016 IKERLAN. All rights reserved IKERLAN Polo Garaia C/ Goiru , 9 20500 Arrasate-Mondragón Tel.: 943 71 02 12 Fax: 943 79 69 44 IKERLAN Unidad de energía Parque Tecnológico de Álava, C/ Juan de la Cierva, 1 01510 Miñano Tel.: 945 29 70 32 Fax: 943 79 69 44 www.ikerlan.es ORONA IDeO - Innovation city Pol. Industrial Galarreta, Parcela 10.5, Edificio A3 20120 Hernani Tel.: 945 29 70 32 Fax: 943 79 69 44 IKERLAN Pº. J. Mª. Arizmendiarrieta, 2 20500 Arrasate-Mondragón Tel.: 943 71 24 00 Fax: 943 79 69 44 Questions? Email: [email protected] Thanks for your attention:

Editor's Notes

  • #3: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #4: Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling
  • #5: Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling
  • #6: Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling
  • #7: Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling
  • #8: Meíntn-ens
  • #9: Meíntn-ens
  • #10: Meíntn-ens
  • #11: Meíntn-ens
  • #12: Meíntn-ens
  • #13: Meíntn-ens
  • #14: Meíntn-ens
  • #15: Meíntn-ens
  • #16: Meíntn-ens
  • #17: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #18: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #19: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #20: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #21: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #22: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #23: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #24: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #25: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #26: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #27: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #28: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #29: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #30: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #31: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #32: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #33: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #34: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #35: Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #36: Modern Software Development (1 Hora (8:00) Lunes --> Angel Conde) Environment     github/gitlab     slack     jenkings     ci/cd     ides     debugging/profiling Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #37: Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #38: Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #39: Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #40: Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #41: Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #42: Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #43: Ops     Architecture (soft dev on Netflix)         Cloud         Microservices         ServiceDiscovery     Elasticity         Mesos         Elastic Autoscaling         HA         * as code  Monitoring         Provisioning     Deployment         CI/CD Netflix           Security (for the next talk)
  • #44:     Deployment         CI/CD Netflix           Security (for the next talk)
  • #45:     Deployment         CI/CD Netflix           Security (for the next talk)
  • #46:     Deployment         CI/CD Netflix           Security (for the next talk)
  • #47:     Deployment         CI/CD Netflix           Security (for the next talk)
  • #48:     Deployment         CI/CD Netflix           Security (for the next talk)
  • #49:     Deployment         CI/CD Netflix           Security (for the next talk)
  • #50:     Deployment         CI/CD Netflix           Security (for the next talk)