9. cloud software development - relational databases-in-cloud-environment
DESCRIPTION
Relational-Databases-in-Cloud-Environment Telerik Software Academy: http://clouddevcourse.telerik.com/ The website and all video materials are in Bulgarian Architecture overview; Features and limitations; Pricing; Scaling; Development for cloud based database; Demo; Some other considerationsTRANSCRIPT
Relational Databases in Cloud
EnvironmentAmazon RDS (MySQL and Oracle) and SQL Azure
Emil Tabakov
Telerik Software Academyacademy.telerik.com
http://clouddevcourse.telerik.com
www.etabakov.com
relational
Who Am I? Team lead at Telerik Professional experience
Web applications development
How to contact me Twitter: @anthares
Blog: www.etabakov.com
Email: emil.tabakov at telerik dot com
Disclaimer2
Agenda Architecture overview Features and limitations Pricing Scaling Development for cloud based database
Demo Some other considerations
3
Why Should We Care?
To add another tool in your toolbox
To be prepared for the future 4
Relational Databasesin the Cloud: Solutions
Amazon RDS SQL Server new
MySQL
Oracle
Microsoft SQL Azure
Google Cloud SQL MySQL
5
SQL Azure Architecture
6
Four layers of abstraction Client Layer
TDS protocol
Located on various environments
Developed with different technologies
Services Layer Provisioning
Billing and metering
Connection routing
SQL Azure Architecture
7
Four layers of abstraction Platform Layer
The physical database servers
SQL Azure fabric
Automatic failover, load balancing and automatic replication between all the physical servers
Infrastructure Layer
Amazon RDS Architecture
Dedicated virtual machine Built on top of MySQL / Oracle / SQL Server instances
8
SQL Azure – Key Features
SQL Azure is “native” cloud platform
Offers management tool as a Service Convenient even for non-SQL
developers
Disaster recovery solution Out of the box at no cost
Roadmap and community Lots of sessions, clear vision for
improvement
Generally, cheaper
9
SQL Azure – Limitations 150 GB database size limitation Only a subset of features compared toSQL Server, no support for: Analysis services
Replication
Service Broker
Manipulating physical resources
Setting server options, trace flags, SQL server profiler or database advisor, no CLR
10
Amazon RDS – Key Features
Full MySQL / Oracle / SQL Server instance
Database Backup / Restore functionality
Database size – up to 1 TB Available for developers all over the world today
Generally better performance than SQL Azure
11
Amazon RDS – Limitations
Up to 4 hours a week downtime for maintenance Usually no downtime
Not really cloud solution More like database hosting solution
Could cost a lot
12
Pricing in SQL Azure
Database size
Price per database per month
0 – 100 MB $4.995
100MB – 1GB $9.99
1GB – 10GB $9.99 for the first GB, $3.996 for each additional GB
10GB – 50GB $45.954 for first 10 GB, $1.998 for each additional GB
50GB – 150GB
$125.874 for first 50 GB, $0.999 for each additional GB
13
Estimated cost for 50GB database a month:
~ $125
Pricing in Amazon RDS Multi Availability Zone doubles the cost
Additional cost for data transfer Greater variety of hardware configurations
The billing depends on Usage
Provisioned storage
I/O requests
Harder to be predicted14
Scaling Scale-up (vertically)
Limited by the hardware
High administration costs (exponential)
Scale-out (horizontally) Cost effective
Commodity class hardware
Multiple approaches Sharding, horizontal partitioning
15
Sharding vs. Horizontal Partitioning
Horizontal partitioning Splitting database table in multiple
tables within a single database instance
Going further with sharding Splitting between multiple
instances
Advantages of sharding: Split the search load between
multiple instances (not only multiple indexes)
Easier replication, worldwide distribution
16
Scaling the Azure Cloud Limited Scale up opportunities Great Scale out options through federations Collection of database partitions
defined by federation scheme
No joins supported across multiple database instances because of the physical separation
17
SQL Azure DemoWorking with Federationsusing Entity Framework
Scaling with Amazon RDS
Good Scale-up opportunities 5 database sizes available (small,
large, extra large, double extra large, quadruple extra large)
Standard and High memory options
No out of the box scale-out solution But there are various home grown
solutions available
19
Development withCloud Databases
Your database server will fail sooner or later
Build stateless application Databases in cloud are different from those on the ground
Have in mind the pricing model of your cloud provider
Have in mind that the location of your DB can be changed any time
20
DemoMigrate a simple Web Application’s
data layer to various cloud environments
Legal Concerns Tracking and auditing data Privacy and data security
Physical and logical security requirements
EU Directive on data protection (95/46/EC)
Accessing the data by the vendor
Jurisdiction concerns – US Patriot Act
Limitations on Vendor Liability No warranty, limited responsibility
in case of accidents
22
Choosing the Cloud for You
New project or existing one Define your project’s requirements and restrictions Budget
High availability
High Scalability
Ease of use
Performance
23
Choosing the Cloud for You (2)
Have in mind your application hosting environment Increased latency
Possible security flaws
Be prepared for a change Free Azure subscription for BizSpark members
24
Possible Use Cases Software as a service product Hosted trials on Telerik
25
Thank you!
Twitter: @anthares
Blog: www.etabakov.com
Email: emil.tabakov at telerik dot com
Thanks for attending!26
форум програмиране, форум уеб дизайнкурсове и уроци по програмиране, уеб дизайн – безплатно
програмиране за деца – безплатни курсове и уроцибезплатен SEO курс - оптимизация за търсачки
уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop
уроци по програмиране и уеб дизайн за ученициASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC
безплатен курс "Разработка на софтуер в cloud среда"
BG Coder - онлайн състезателна система - online judge
курсове и уроци по програмиране, книги – безплатно от Наков
безплатен курс "Качествен програмен код"
алго академия – състезателно програмиране, състезания
ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NETкурсове и уроци по програмиране – Телерик академия
курс мобилни приложения с iPhone, Android, WP7, PhoneGap
free C# book, безплатна книга C#, книга Java, книга C#Дончо Минков - сайт за програмиранеНиколай Костов - блог за програмиранеC# курс, програмиране, безплатно
?
? ? ??
?? ?
?
?
?
??
?
?
? ?
Questions?
?
Relational Databases in Cloud Environment
http://academy.telerik.com
Homework Create a relational DB account in
some cloud Use Amazon RDS or SQL Azure or
Xeround Cloud MySQL or other cloud relational DB
Define a table "Bookmark" with columns "URL" and "Description" and table "Clicks" to store the click count for each bookmark entry
Create a console or Web based application Use C#, Java, PHP or other language
Your application should add few bookmarks, list all bookmarks and a click for the first bookmark
28
Free Trainings @ Telerik Academy
“Cloud Development" course @ Telerik Academy clouddevcourse.telerik.com
Telerik Software Academy academy.telerik.com
Telerik Academy @ Facebook facebook.com/TelerikAcademy
Telerik Software Academy Forums forums.academy.telerik.com