Download presentation
Presentation is loading. Please wait.
Published byEmma Carroll Modified over 9 years ago
1
Navigation software platform: Automating the server configuration Igor Jovic, Whitecity Soft Case Study
2
Who’s talking? Whitecity Soft – providing turn-key software solutions since 2006 Igor Jovic – I press keys for money since 2005
3
Navigation software What is needed to have smthg like this?
4
Basic infrastructure needed to run it Static WebAPI Server GeocodingRevgeo Routing Geo-grid CMS API Search Server CMS Web
5
Add some load-balancing…
6
And for additional environments?
7
stage-01stage-02preprod
8
-Setting up new environment would take days -10 distinct instances and 4 DBs per env -Load Balancing of some instances -Manual code deployment to those envs is a mess What can we do?
9
Automate ALL the servers!!!!!
10
With ansible went from this…. -"oh, you want to deploy and older version? I think we've been using elasticsearch 1.7 there. Or 1.8?“ -“I think Marc did the setup for that. I'll have to go through history to see what's on the server“ -“yeah, I wrote readme.md. A year ago, why?” -“we have some env. variable for that. I dunno which.”
11
…to this -code is always followed by an appropriate configuration needed to run it -need to change an environment variable for the new feature? Add it to the config -always have the complete instance configuration for the code -No manual access to the servers. -ansible: agentless tool for system configuration, software deployment and orchestrations
12
Steps for a new environment 1.aws api - create instances (mr. Nenov can say more :-) - you get a clean-slate environment 2.run ansible playbooks to install everything - you now have a complete environment ready for deployment 3.build and deploy via CI tools (bamboo) - pull the latest code from the "stage02" branch - run automated tests. If fails, notify - build app - deploy app
13
Results -total time needed for this: 2h (AMIs with 300GB databases) -everything automated, no manual entries: no deploying of wrong files because of some stupid typo -staging environments for some new features can be made as needed, no long-term planning -non-production environment completely managed by a DevOps team of two people and a few hours per week
14
What about monitoring? -All logs in cloud (logentries) -Instance monitoring via librato and pingdom -transparency in system behaviour: we always know what's going on
15
And Production? -More load-balancing -Two-phase deploys -Configuration still via ansible
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.