Presentation is loading. Please wait.

Presentation is loading. Please wait.

Navigation software platform: Automating the server configuration Igor Jovic, Whitecity Soft Case Study.

Similar presentations


Presentation on theme: "Navigation software platform: Automating the server configuration Igor Jovic, Whitecity Soft Case Study."— Presentation transcript:

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


Download ppt "Navigation software platform: Automating the server configuration Igor Jovic, Whitecity Soft Case Study."

Similar presentations


Ads by Google