As part of the Real World Windows Azure series, Microsoft connected with Ron Robbins, Product Manager, Migration Solutions, at Quest Software to learn more about how Quest uses Windows Azure to deliver its OnDemand Migration for Email solution.
We have just got the initial details of the Windows Server 2012 technical launch event that is due to happen here in the UK. Get into your diaries and save the date! 25th September 2012!!! Trust me you NEED to be there! I’m still twisting arms to get the details of where this event will be but for now get the date in your diary.
To go along with this event we are running a couple of competitions. The first is a bit of a geeky design competition and I think it’s right up your alley! Here’s why…
We have 29 HP ProLiant MicroServer’s to give away in association with Servers Plus at the Windows Server 2012 Launch event in association with Servers Plus for attendees at the launch event on 25th September 2012 (Terms & Conditions available here). But that’s not all!!! There’s a second competition!!!
It’s summer time and everything should be bright and fun -that includes the MicroServer! That’s where the design competition comes in!!! You will need all your design skills to the ready as you will need to personalise, pimp or otherwise customize the server! Be as wicked and wild with your designs as you like!
Here are the judging criteria for the design:
To help you with creating your design we have a template that provides you with the dimensions that you are designing for. Here’s the template (PDF). The design here was one used by Servers Plus from a competition they ran last year and submitting it does not count as an entry!
To enter the competition:
You can also share your amazing designs with one another on our Facebook Page or on Twitter.
You can use the MicroServer for your own testing and personal use. Why not install Windows Server 2012 either standard or the bare metal version. Try setting up a virtual server host and guest, create a storage pool or simply familiarize yourself with the new management console. If you are feeling a little daring try your hand at some PowerShell with the new PowerShell console and one of the many new commandlets.
So get designing now! And remember to sign up for the technical launch event to claim your prize in person and see who wins machines with your design on them!
Windows Server 2012 Design Competition Terms & Conditions
1. ELIGIBILITY. This promotion is open to any person resident in the United Kingdom who is eighteen (18) years of age or older at the time of entry. Employees of Microsoft or its affiliates, subsidiaries, advertising or promotion agencies are not eligible, nor are members of these employees’ families (defined as parents, children, siblings, spouse and life partners).
2. ENTRY. Visit http://blogs.technet.com/b/uktechnet/archive/2012/08/01/announcing-the-windows-server-2012-uk-technical-launch-event-amp-competition.aspx and submit a link to your design, name and email address.
To the extent that entry requires the submission of user-generated content such as photos, videos, music, artwork, essays, etc., entrants warrant that their entry is their original work, has not been copied from others, and does not violate the privacy, intellectual property rights or other rights of any other person or entity.
Entries will be ineligible for the prize draw if they:
· are incomplete;
· exceed the maximum number of entries allowed per person;
· violate the rights of any other person or entity; or
· are received outside of the Promotion Period set out below.
Only one (1) entry per person will be accepted. No purchase necessary to enter the promotion. Entry constitutes full and unconditional acceptance of these Terms and Conditions. Microsoft is not responsible for lost, corrupted or delayed entries. Microsoft reserves the right to disqualify anyone who violates these Terms and Conditions.
3. TIMING. This promotion runs from 12.01:00 am GMT on Start date, 1st August 2012 until 11.59:59 p.m. GMT on End date, 26th August 2012 (inclusive) (the “Promotion Period”).
4. USE OF YOUR ENTRY. Personal data which you provide when you enter may be used for future Microsoft marketing activity if you indicate your consent on the entry form (if applicable). Otherwise your personal data will be used by Microsoft and agents acting on Microsoft’s behalf only for the operation of this promotion.
5. SELECTION OF WINNERS. All valid entries will be judged as a finalist.
Winning entries will be determined by a panel of judges with at least one independent judge on 27th August 2012. Judging will be based on:
· Originality & Uniqueness of entry
· Inspirational, amusement and entertainment of entry
· Cleverness of incorporating aspects of Windows Server 2012 into the design
A maximum of one prize per eligible entry is allowed. Winners will be notified by email to the address provided by the potential winner by 25th September 2012. If a potential winner has not confirmed receipt of the notification within TEN (10) days after the first attempt, an alternative winner will be selected on the same basis as described above (either at random for prize draws or according to the same judging criteria for competitions). Winners may be asked to provide identification proving their eligibility before they are entitled to receive the prize. Winners may be required to participate in further publicity or advertising.
6. PRIZE(S). There will be one prize in total. The prize will be as follows:
· One HP ProLiant MicroServer with winners design printed on decal (£230 approximate value)
Prizes are as stated and are not transferable. No cash alternatives available. Microsoft reserves the right to substitute the prizes with prizes of equal or greater value. All prizes will be sent by Microsoft or its agent no later than 28 days after the prize draw has been made by Microsoft. Unless otherwise stated, all prizes are subject to their manufacturer's warranty and/or terms and conditions.
Prizes may be considered as a taxable benefit to the winners. Winners will be directly responsible for accounting for and paying to HMRC, or other relevant tax authority, any tax liability arising on their prize. Please contact ukstat@microsoft.com for any query related to the taxable amount for reporting to HMRC, or other relevant tax authority.
7. WINNERS LIST. Each winner consents to his/her surname being made publicly available upon request. Winners names will be available for a period of 28 days after the selection of winners by written request to a-slamb@microsoft.com.
8. OTHER. No correspondence will be entered into regarding either this promotion or these Terms and Conditions. In the unlikely event of a dispute, Microsoft’s decision shall be final. Microsoft reserves the right to amend, modify, cancel or withdraw this promotion at any time but only before the delivery of prizes, without notice.
Participants in this promotion agree that Microsoft will have no liability whatsoever for any injuries, costs, damage, disappointment or losses of any kind resulting in whole or in part, directly or indirectly from acceptance, misuse or use of a prize, or from participation in this promotion. Nothing in this clause shall limit Microsoft’s liability in respect of death or personal injury arising out of its own negligence or liability arising out of Microsoft’s fraud.
Microsoft cannot guarantee the performance of any third party and shall not be liable for any act or default by a third party.
9. SPIRIT OF THE COMPETITION. If an entrant attempts to compromise the integrity or the legitimate operation of this promotion by hacking or by cheating or committing fraud in ANY way, we may seek damages from that entrant to the fullest extent permitted by law. Further, we will disqualify that entrant’s entry to this promotion and may ban the entrant from participating in any of our future promotions, so please play fairly.
Promoter: Microsoft Limited (“Microsoft”), Microsoft Campus, Thames Valley Park, Reading, RG6 1WG, England
I have been asked to do a post on Windows Azure SQL Databases (formerly known as SQL Azure), but I think it might be more useful to discuss some of the wider issues so I put together a few FAQs that I often get asked.
Why use a public cloud service like Azure to store data?
Probably not to save money as you may have already invested in on premises data centres to store your data. Accountants love moving costs from capital to running costs, but most of us like to own things be it cars, houses or server so having someone else own your data seems a lot like losing control. Also there are often good reason to keep the data near the users particularly if you are doing BI.
There are good use cases or else there would be no market for this. The obvious one is that you have an application running on a cloud service that needs data to service it, perhaps nothing more complex than your online store backed by a database with orders, promotion details products prices and so on. This data might not even persist there – you’ll pull it down every night to load into your warehouse to get a holistic view of your business performance.
Some business don’t have all their users in place or their data. Uses might be working at home on customer site and rather then being limited by your outbound connectivity as a point of failure you could put your data and applications into a cloud service accessible form anywhere there is internet.
Sometimes it is the aggregation and collection of data that’s the problem as in shipping, manufacturing and geographic surveys where lots or remote sensors collect data which needs to be aggregated.
There are also startups chancing their arm on a new idea by running everything in the cloud on a laptop in a bedsit in docklands(I have actually met an outfit doing exactly this).
Other business models are built on sharing sets of data with others, like the ratings agencies.
Then there’s the new big thing in data management Big Data. This is simply data that is too big for your data centre to handle unless you are a government or an oil company, either because its to big, coming at you at more than your network can handle, or of a type that you can’t really process even if you have got it. Social media is an obvious example and the trick here is to take the processing to the data and reduce it down to a digestible form e.g. sentiment analysis.
What about Privacy?
As a Microsoft employee I am probably not the right person to convince you that your data will be kept private but here’s a couple of things,
You can of course encrypt your data with your own certificates, setup private networks, use ADFS to setup trust between what is on Azure and your own infrastructure.
Microsoft’s official Windows Azure Privacy Statement can be found here
What about compliance?
The most common problem in this error is data protection and the laws in the UK and Europe that limit what can be done with personal data. Microsoft policy on this is here in the section on the EU Data Protection Directive. The other common ask is around compliance for Payment Card Industry (PCI). Azure itself isn’t PCI compliance because its the application itself that will pass this tests. For example Zoura a Microsoft partner have developed a solution on Azure which is PCI compliant.
How should I store my data?
The NoSQL debate is actually older than relational databases, so I am not going to cover it here, except to say that if you are using Azure you absolutely don’t have to use a SQL database as part of your solution. For example you can just use the cheaper Azure Tables and Blob Storage to provide a NoSQL solution, depending on what you want to store. As with any application you might develop to run in a datacentre you simply use the right tools for the job.
Big data as I mentioned before has its own special problems and Apache Hadoop is a set of technologies which addresses these by federating the data and the computation performed on it. HortonWorks and Microsoft are working developing Hadoop for Azure and I have a post on this here.
How do I backup my data
In the case of there is no backup a SQL database there is no backup per se. When you create a SQL database you are actually creating 2 extra copies of it on other servers and any changes be that data changes or design changes are automatically replicated to the other copies. However that doesn’t cover user error so you’ll either want to use replication services to copy the database locally to you own servers or another SQL Database at periodic intervals.
What the difference SQL Databases and running SQL Server in a virtual machine on Azure
SQL databases, are Platform as a Service (PaaS), which means Microsoft controls the SQL Server environment, the underlying OS etc. and all you worry about is creating database and managing the data inside them. However that loss of control also means you loose some features notably the other bits of SQL Server you may want use such as analysis services. note you can run Reporting Services in Azure as PaaS with the restriction that the only source of data for the reports are SQL databases.
If you run SQL Server in a virtual machine then its exactly the same as running it inside your datacentre, you have to configure it, manage it, patch it, etc. so more control but more work for you. There is a gallery of virtual machines for you to use as templates e.g. SQL Server 2008 R2 running on Windows Server 2008 R2 or you can create your own.
Every 90 days or so Azure gets revised and new features appear so this post has a pretty limited shelf life so come back and check for updates!
Gareth Hewitt is the Product Director for WhiteSky Studio, a configurable Platform as a Service that allows business users to rapidly and easily create their own applications. Gareth founded WhiteSky Studio in June 2011 and is now focused on growing the product through allowing partners to create, market and sell their own applications using this revolutionary platform. Gareth can be contacted on ghewitt@whiteskystudio.com and @whiteskystudio.
Scalability
The key to the future of web based services, and applications, is scalability. You need the comfort of knowing as your system grows in users, processing requirements, data size, etc. that you have a platform that supports this scalability. Re-engineering your system for each new scalable requirement is simply not an option. Windows Azure provides the technical infrastructure to support this, but as always you have to design with this in mind from the beginning – you can’t just copy your existing SQL database over to the Cloud and expect the database and services to be instantly scalable.
WhiteSky Studio is a revolutionary Cloud-based RAD tool that can be used by business analysts to build flexible and scalable systems without technical knowledge – you just need the business knowledge to design the functionality. We provide a cost and time effective alternative to traditional RAD based tools, industry specific packages, and online Cloud solutions. We have successfully configured applications for HR, Timesheets & Expenses, Retail Customer Records & Stock Control, CRM, Portfolio and Property Management, Financial Analysis, and many more. Such a diverse range of users, data sizes, processing requirements, peak demand times and performance requirements, means we needed a solid, proven technology that could scale to meet these challenges. Windows Azure not only provided the infrastructure but enabled us to provide value for money competitive offerings to our Clients demanding performance, scalability, resilience, and security.
Windows Azure
Windows Azure provides services to support your system in a scalable fashion; there are many options to consider, including:
WhiteSky initially implemented Web and Worker Roles, caching, a mixture of SQL Azure and Storage Blobs and automatic scaling of the servers depending on work load and demand. We have now implemented federated databases (sharding) which has provided both security and performance benefits and look forward to improved features in the next release.
SQL Azure – Federations
Within four months of starting the Company we had Clients in 7 different sectors, ranging from 5 to 100 users and accessing applications from 4 countries. Windows Azure successfully provided the entire infrastructure we needed, and our next task was to ensure continuing scalability by implementing federated databases. Our first decision was whether to create an in-house implementation or to wait and use SQL Azure Federations. As with any architectural decision there is no single right answer that works for everyone, but with all the pros and cons, there were two features of SQL Azure that made our decision easy to choose SQL Azure Federations:
The biggest concern in using a custom solution was that no matter what implementation we created it was going to be technically difficult, if not impossible, to provide the ability to split a live database into two smaller ones without significant downtime. This was a major requirement for us, and we couldn’t see an easy way of providing it and meeting our performance and up-time SLA’s. SQL Azure Federations comes with such a guarantee, functionality we felt was at the core of any scalable model. The development roadmap for SQL Azure includes the ability to add database merging which will enable us to auto-scale the merging/splitting of the databases according to performance or demand requirements – much like the auto-scaling of the web and worker roles that we already have in place.
The SQL Server gateway service is a service Microsoft added to ensure you can still use the advantage of connection pooling within your existing code. This provides an incredible performance boost over a custom implementation which would require us to hold connections across several different databases. Whenever we make a call to a federated database the gateway service routes the call to the correct federated database without the need to create a new connection.
Any one of these features was enough to choose SQL Azure Federations over a custom approach, but both made it a no-brainer.
SQL Azure Federations – Implementation
To migrate our existing database to SQL Azure Federations a few structural changes were required. The first, and most likely issues developers come across, is that you cannot use the following table column types:
Both of these restrictions arise from the simple fact that SQL Federations has no way of guaranteeing a unique auto-increment field or timestamp without getting all of the federated databases communicating with each other – something that presumably would come with a large performance overhead. The first thing we had to do was add globally unique identifiers in place of auto-increment fields, and to replace our timestamp columns.
The auto-increment columns we were replacing were our primary keys and would be forming part of our new primary key in the federated table. We chose to implement the uniqueidentifiers in SQL with a default value of “CAST(CAST(NEWID() AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER)” as described in “The Cost of GUIDs as Primary Keys” article, avoiding much of the fragmentation and performance issues we would get if we adopted a completely new GUID. Versioning wasn’t such an issue for us as we didn’t require the uniqueness that a timestamp guaranteed, so a simple conversion to a date was sufficient.
We had to write our own custom migration application to update all our relationships, but that was an easy process to automate. We then created all the new tables and migrated our data into our new tables without the incompatible column types. This way we had a backup we could refer to in case any of our relationship updates were incorrect.
After updating our server and client code to reflect the database changes, all that remained was the migration of the data into a Federated Database structure. We used the excellent SQL Azure Migration Wizard (Federation Version) to upload the data into five pre-prepared shards in our new database. When this process was complete we were live on a platform that now meets all of our scalability needs.
SQL Azure Scalability
It would have been impossible for us to offer the revolutionary capabilities of WhiteSky Studio without the scalable infrastructure of Azure. The up-front costs in both time and resources would have been too great. The platform-as-a-service offering of Azure allowed us to only pay for what we used as we grew our offering and started scaling the system. The advantage of automatically scaling our servers meant we weren’t paying to maintain the system’s performance during periods of low demands. It is this service based approach that is giving us a competitive and technological edge over competing products. We can offer a fully customizable and scalable enterprise wide business solution based on the custom requirements of any Client at the fraction of a cost for a similar hosted, packaged or bespoke solution.
As with most new technologies it is agile start-up companies that take the innovative steps and create a step change in the way services are delivered. WhiteSky takes advantage of Azure’s ground breaking technical ability to provide a value for money business orientated RAD tool with a global reach and scalable performance.
Useful Links