How We Manage SaaS Infrastructure Knowledge Track Gadi Yedwab VP, Product Development Service-now.com Aaron Burruss Sr. Infrastructure Developer Service-now.com
Agenda SaaS Infrastructure Design Goals Product Architecture Integration Automation How we manage SaaS Infrastructure Demo Agenda
Infrastructure Design Goals Keep it simple! Scale to any number of customers Easy deployment hosted or on-premise Great flexibility for the customer Dev, Test, and Prod Decide when to upgrade Rich integration options
Infrastructure Design Goals Easy to manage and support Manage the infrastructure using our product So you can manage yours with our product too Manage each instance entirely through the Web UI Great maintenance and diagnostic tools Performance monitoring and capacity graphs Measure response time and get breakdown View transactions log and slow queries Status and key metrics of the application and its components Debugging tools
Very High-Level Product Architecture UI Java Web Application Server MID Server Database
Very High-Level Product Architecture UI Java Web Application Server MID Server Database
Product Architecture Everything in the database Customizations, full-text index Email queue, logs, message queue, you name it! Nothing in the file system Easy to backup, restore, clone, and relocate Cross-platform portability Storage independence Clustered nodes (synchronize via the database) Replication queue in the database
Product Architecture Java Web Application Server Scalable JVM – cross platform Robust execution environment Portable and self contained Transaction concurrency controlled by semaphores JavaScript scripting (Rhino) Scalable Add clustered nodes as needed Add MID servers as needed
Product Architecture Standard Web 2.0 Interfaces HTML, JavaScript, AJAX, cookies No browser plug-ins Web Services interfaces (SOAP) E-mail (inbound and outbound) Mobile interface
Product Architecture MID Server Monitoring, Integration, and Discovery Connects to the application We don’t connect to you gets instructions and sends data Applications CMDB Integration: SCCM, LANDesk, etc. Discovery: probes and sensors Runbook: automation
Integration Web Services (SOAP) Email MID Server Security (LDAP, SSO) Any data – inbound and outbound Synchronous and Asynchronous (message queuing) Email Inbound and Outbound – fully scriptable MID Server Security (LDAP, SSO) Import using file, FTP
Automation Scripting and scheduled jobs Runbook We use it to check for upgrades, phone home, update text index, table cleaner, etc. Runbook We use it to manage the data center Graphical Workflow Standard operation procedures – implement a process that involves people, tasks, automation and approvals
Automation In Practice Data Center Migration as an example Different servers, storage (SAN), and versions of the OS and JVM – no problem Move one or more instances at a time Move coordinated with each customer Use Runbook automation and replication Minimize downtime for the move Standardized process for each migration Process is refined with each migration Replication allows uptime during the migration
How We Manage SaaS Unit of service provisioning – the instance Java application server + database Provision, move, promote, clone, configure, manage, de-provision, start, stop, upgrade We manage thousands of instances Automation using the Service-now.com platform, of course! Instances can be hosted, on-premise, and in various data centers (London, Geneva, etc.)
How We Manage SaaS No need for specialized hardware Easy to scale – just add servers Failures are isolated and recovery is quick Storage is “partitioned” each customer’s data is separate Cost is contained and savings are passed to you!
Roadmap Data centers in London and Geneva Self-service request of a clone Ability to schedule a clone Runbook automation Automate your standard procedures Automate diagnosis and response Empower your service desk
Demo