Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Using Service Oriented Operation and Provisioning at Financial Times


Published on

  • Be the first to comment

  • Be the first to like this

Using Service Oriented Operation and Provisioning at Financial Times

  1. 1. Using Service Oriented Operation and Provisioning at Financial Times Emeka Mosanya @EmekaMosanya
  2. 2. In case you didnt know...“The Financial Times (FT) is one of the world’sleading business news and information organisations,recognised internationally for its authority, integrityand accuracy." … it is also one of the few newspapers making money with online subscription!
  3. 3. Our goal: Reduce Cycle Time Up to 6 weeks for a releaseBusiness CustomersIdea We need to make this shorter! We want to release several time a day without stress...
  4. 4. Problem: Long Feedback LoopWorkstation CI QA INT STAGING PROD $ $$$ ●No environment like PROD ●Manual Configuration ●Not enough environments Each deployment to PROD is an adventure...
  5. 5. Problem: Organizational Frictions Release Management Network Create Machine ●Dilution of Responsibility Too Many ●Misalignment of Priority Gates!
  6. 6. Our Vision Release Network Create VM Replace gatesLocally / VMWare / AWS / ... with automation
  7. 7. Deploy Services into Domains Definition = Puppet DomainModules and More
  8. 8. Service Definition = Puppet Modulesaccess-service-2.3.5 RPM access httpd nagios Nodes Config tomcat splunk Application Versioned Module library Each service exists in its own Puppet environmentEverything you need to install a service is encapsulated in asingle versioned artifact excepted global configuration.
  9. 9. Puppet Master is part of a Service controller-service-1.0.0 Puppet DNS1 Nagios Master DNS2 ●One Puppet Mater per Domain ●Contains “Mandatory” serversNo Sacred Cow!… but we need a bootstrap
  10. 10. Bootstrap We start with vanilla VM including a Base RPMftppm101-lvpr-uk-t ftcloud init standalone controller-service-1.0.0 access-service-2.3.5 Base RPM gateway-1.2.3ftaps104-lvpr-uk-t ftcloud init client ftppm101-lvpr-uk-t Base RPM From vanilla VM to a running environment in a few shell commands...
  11. 11. Thin Integration with Infrastructurecontroller-service-1.0.0 Automatic during build Vagrantfileaccess-service-2.3.5 OVFgateway-service-1.2.3 AWS Cloud Formation
  12. 12. Module Path● /etc/puppet/services modulepath: RPM ● controller/ /etc/puppet/service/ – controller $environment – httpd – tomcat – … RPM ● access/ – access – Tomcat – ...
  13. 13. Deploy Services into Domains (2) Puppet Masteraccess-service-2.3.5gateway-service-1.2.3
  14. 14. Service Definition (2)access-service-2.3.5 RPM access httpd nagios Nodes Config tomcat splunk Application Versioned Module library What about Nodes and Config?
  15. 15. We dont use ENCService Definitions should contain everything weneed to deploy a service... so node definitioncannot be external! ftaps123-lvpr-uk-p ENC Meaningful name in DNS ●class A access-app-01 ●class B Node files defined at service level
  16. 16. Configuration with HieraSlight customization of the YAML backend touse multiple configuration directories. Facters: Certname Domain Datacenter Country Environment (Dev, Test, Prod) Domain Level Service Level Global Config
  17. 17. Global Configuration Install RPM Puppet MasterGlobal Config: Company WideService Config: per serviceLocal Config: for override Domain
  18. 18. Thats all Folks● Reducing bottlenecks: ● Everything is a service ● Team fully control service deployment ● No sacred cow: Puppet Master is a service● Reducing Risk ● Everything is versioned ● Automatic deployment is the same everywhere ● Responsibilities well defined
  19. 19. FT is recruiting The Team @FTcareers"Jussi Heinonen" <>"Peter Hehn" <>"Pete Houghton" <>"Chris Malins" <>"Nick Haddock" <>"Ashley de Souza" <>"David Reay" <>"Richard Moran" <>"Santanu Das" <>"Barry Ridout" <>"Sujith Santhan" <>
  20. 20. Questions ?