9. Cloud software development - relational databases-in-cloud-environment
-
Upload
telerik-software-academy -
Category
Technology
-
view
109 -
download
1
description
Transcript of 9. Cloud software development - relational databases-in-cloud-environment
![Page 1: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/1.jpg)
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
![Page 2: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/2.jpg)
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
![Page 3: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/3.jpg)
Agenda Architecture overview Features and limitations Pricing Scaling Development for cloud based database
Demo Some other considerations
3
![Page 4: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/4.jpg)
Why Should We Care?
To add another tool in your toolbox
To be prepared for the future 4
![Page 5: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/5.jpg)
Relational Databasesin the Cloud: Solutions
Amazon RDS SQL Server new
MySQL
Oracle
Microsoft SQL Azure
Google Cloud SQL MySQL
5
![Page 6: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/6.jpg)
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
![Page 7: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/7.jpg)
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
![Page 8: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/8.jpg)
Amazon RDS Architecture
Dedicated virtual machine Built on top of MySQL / Oracle / SQL Server instances
8
![Page 9: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/9.jpg)
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
![Page 10: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/10.jpg)
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
![Page 11: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/11.jpg)
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
![Page 12: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/12.jpg)
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
![Page 13: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/13.jpg)
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
![Page 14: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/14.jpg)
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
![Page 15: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/15.jpg)
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
![Page 16: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/16.jpg)
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
![Page 17: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/17.jpg)
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
![Page 18: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/18.jpg)
SQL Azure DemoWorking with Federationsusing Entity Framework
![Page 19: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/19.jpg)
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
![Page 20: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/20.jpg)
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
![Page 21: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/21.jpg)
DemoMigrate a simple Web Application’s
data layer to various cloud environments
![Page 22: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/22.jpg)
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
![Page 23: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/23.jpg)
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
![Page 24: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/24.jpg)
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
![Page 25: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/25.jpg)
Possible Use Cases Software as a service product Hosted trials on Telerik
25
![Page 26: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/26.jpg)
Thank you!
Twitter: @anthares
Blog: www.etabakov.com
Email: emil.tabakov at telerik dot com
Thanks for attending!26
![Page 27: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/27.jpg)
форум програмиране, форум уеб дизайнкурсове и уроци по програмиране, уеб дизайн – безплатно
програмиране за деца – безплатни курсове и уроцибезплатен 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
![Page 28: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/28.jpg)
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
![Page 29: 9. Cloud software development - relational databases-in-cloud-environment](https://reader036.fdocuments.in/reader036/viewer/2022062617/54c5e3104a7959d93e8b45ae/html5/thumbnails/29.jpg)
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