tungsten use case: modernizing medicine, a saas solution running on amazon aws
DESCRIPTION
Learn how Modernizing Medicine, an electronic medical records company, serves thousands of customers and leverages Continuent Tungsten to manage databases on Amazon AWS. Modernizing Medicine is a fast-growing SaaS company, offering electronic medical records management solution for thousands of small and medium-sizes dermatology, ophthalmology, optometry, plastic surgery, cosmetic and orthopedics practices. Continuent Tungsten is a leading database-as-a-service solution for MySQL and Oracle. Continuent Tungsten allows enterprises running business-critical MySQL applications to affordably achieve business and revenue continuity through Tungsten's commercial-grade high availability (HA) and globally redundant disaster recovery (DR) capabilities. Continuent Tungsten makes it simple to create new data services (database-as-a-service) in the cloud or in your private datacenter, and to manage them all from a single point.TRANSCRIPT
©Continuent 2013
Modernizing Medicine a SaaS Solution running on
Amazon Web Services Matt Lang, Senior Site Reliability Engineer,
Modernizing Medicine
Edward Archibald, CTO, Continuent
©Continuent 2013 2
©Continuent 2013 3
©Continuent 2013
©Continuent 2013 5
With AWS, a complete, affordable LAMP stack, on demand, in minutes - but some assembly is required...
apache/php
haproxy
MyApp Your mobile destination...
MySQL
AWS is a catalyst for Innovation
What happens when your app becomes business critical for your customers?
©Continuent 2013
Taking a Closer look at Amazon RDS, Amazon’s DBaaS Offering
©Continuent 2013
What does ‘managed’ mean? • DBMS instance is up and running in minutes,
fully integrated with service policies, and bound to a public IP address
• Automated backups plus point-in-time recovery
• Provision read slaves with a few clicks of a mouse
• High-availability options are available
• Instances can be easily resized
• Software updates can be automated
©Continuent 2013
How do I use it?
• Add hosts to security group
• Configure your application to use the ‘endpoint’ provided
• Applications that already make a distinction between database connections used for writes versus those used for reads can make easy use of read slaves
• Automation of backups, failover, slave provisioning etc. happen behind the scenes
©Continuent 2013 9
apache/php
haproxy
MyApp Your mobile destination... Service encapsulation,
RDS Style
MySQL
©Continuent 2013 10
apache/php
haproxy
MyApp Your mobile destination...
Multi-AZ Instance Active
Multi-AZ Instance Standby
Synchronous Block-level Replication
Read Slave
Service encapsulation RDS Style • Applications reference ‘service’ via ‘endpoint’ • Single endpoint for writes • Zero or more endpoints for reads
©Continuent 2013
How well does it work? RDS Multi-AZ failover
• Failure is detected - can test via reboot
• Actual failover appears to be completed within about 20 seconds - depends on size of databases etc.
• Some applications may not ‘see’DNS interruption and may not re-connect
• DNS Changes need to propagate - can take minutes. In my example, it took about 7 minutes and I needed to restart the app for it to ‘see’ the DNS change
©Continuent 2013
How well does it work? RDS Multi-AZ failover
©Continuent 2013
How well does it work? RDS Multi-AZ failover
©Continuent 2013
App is able to connect at 22:11:45 - about 7 minutes
later
How well does it work? RDS Multi-AZ failover
©Continuent 2013
Other RDS Limitations • No cross-region replication
• Only runs in AWS
• No cross-cloud/multi-data-center operation
• Black-box - difficult or impossible to diagnose and correct problems with replication
©Continuent 2013
Introducing Continuent Tungsten Cloud-scale DBaaS • Runs wherever you need your data to be
• Fast failover - typically 5-15 seconds - does not rely on DNS
• Built-in load balancing - applications connect to a single IP address to access all data resources
• Compute/DB resources are ‘open’ - no black boxes here
• Full resource utilization - no ‘standby’
©Continuent 2013 17
apache/php
haproxy
MyApp Your mobile destination...
MySQL
Service encapsulation, Tungsten Style
©Continuent 2013 18
Tungsten Data Service
apache/php
haproxy
MyApp Your mobile destination...
Service encapsulation, Tungsten Style
• Single endpoint for both writes and reads • Read-only resources visible and load balanced as they appear • Service-oriented connectivity can span sites
©Continuent 2013
west east usa
Service encapsulation, Tungsten Style
©Continuent 2013
apache/php
haproxy
MySocialSite
apache/php
haproxy
MySocialSite
usa
Service encapsulation, Tungsten Style
©Continuent 2013
Continuent’s SaaS Customers
©Continuent 2013
Introducing Matt Lang and Modernizing Medicine
©Continuent 2013
Modernizing Medicine Mission Modernizing Medicine® is transforming how healthcare information is
created, consumed and utilized in order to increase efficiency and improve outcomes. Its product, Electronic Medical Assistant® (EMA™), is a cloud-based, specialty-specific electronic medical record (EMR) system with a massive library of built-in medical content, designed to save physicians time.
Available as a native iPad application or from any web-enabled Mac or PC, EMA adapts to each provider’s unique style of practice and is designed to interface with hundreds of different practice management systems.
Today, Modernizing Medicine provides specialty-specific offerings for the dermatology, ophthalmology, optometry, orthopedics and plastic and cosmetic surgery markets, and to more than 1,100 physician practices across the country.
In 2013 Modernizing Medicine was listed on Forbes’ annual ranking of America’s Most Promising Companies.
©Continuent 2013
Electronic Medical Assistant (EMA™) • Saves doctors' time by eliminating the need to
transcribe notes, allowing the Doctor to focus on the patient.
• EMA learns preferences and adapts to the doctor which reduces time spent on coding, all with a touchscreen interface on the iPad
• EMA grand rounds provides statistical results of treatments across millions of patient encounters
©Continuent 2013
Database technology pain points • setting up/maintaining replication
• need for high-availability
• protecting patient data (encryption, data at rest, data in transit)
• massive and unpredictable growth
• Big data -- we have the data to revolutionize medicine, but how do we do it?
©Continuent 2013
How we are addressing the issues • Tungsten takes care of replication and high-
availability
• leveraging AWS, pod design, automatons to deploy new pods
• file system encryption, S3 encryption, SSL, Continuent Tungsten for all db traffic
• taking small steps. maybe we will replicate data from all pods into central DB, using Tungsten. Then transform data, create datamarts.
©Continuent 2013
VPC (subnet 10.0.0.0/16)
Deployment Topology
©Continuent 2013
Quick Demo: Creating and administering a Continuent Tungsten Data Service
©Continuent 2013
Continuent Tungsten failover
©Continuent 2013
Continuent Tungsten failover
©Continuent 2013
Continuent Tungsten failover
Failure detected and failover
completed within 15 seconds
©Continuent 2013
Continuent Tungsten failover
Failed db instance is isolated from the
service
©Continuent 2013
What else can Tungsten do? • Cross-region fail over with a single command
• Multi-site, multi-master architectures supported
• Run services cross-cloud i.e. AWS to Rackspace Cloud etc.
• Applications can specify ‘read affinity’ in order to read from local resources
©Continuent 2013
Questions?
©Continuent 2013 36
www.continuent.com www.facebook.com/continuent
www.continuent.com/news/blogs
560 S. Winchester Blvd., Suite 500 San Jose, CA 95128
Tel +1 (866) 998-3642 Fax +1 (408) 668-1009
e-mail: [email protected]