The beauty of Amazon RDS Multi-AZ

I’m working on a blog post that tracks advances in high availability from the 1950s until today.  It will be way too long for most to read, but I’ll eventually finish writing it since it amuses me.  In the mean time I came across references that triggered a desire to write about a more narrow topic.  And as a reminder, this is my personal blog and these are my views, not necessarily those of my current or previous employers.

If you have some time take a look at John Devito’s tutorial on creating a Windows Cluster.  John doesn’t even talk about obtaining and maintaining the requisite hardware, but it still takes to Part 4 to get Microsoft SQL Server failover clustering working.  Or take Brent Ozar’s article on setting up SQL Server 2016 AlwaysOn Basic Availability Groups.  Brent also recommends you download his checklist for setting up the SQL Server you will be using as your secondary, take some precautions so it will be compatible with the primary, and apply necessary Windows patches.  John and Brent make this easier by taking what seems like an infinite set of choices and turning them into a recipe.  But it’s still not a recipe you can simply whip up for dinner.  These are but two of many write-ups you can find that demonstrate the difficulty in creating a high-availability solution around the tools provided for Microsoft SQL Server.

Putting a high-availability solution in place for any database engine is difficult and complex.  Oracle is in a class of its own, on both capabilities and the complexity of implementation.  For open source databases there are many options and they all come with differing levels of trade-offs and complexity of implementation depending on the characteristics you are looking for.  Want to implement a highly-available PostgreSQL database?  Here’s a cookbook for you.  Or maybe a packaged consulting offering from EnterpriseDB would help you breakthrough the complexity. Their are a myriad of solutions for MySQL (a 2010 book listed 50 recipes).  There is a more recent book by members of Oracle’s MySQL team covering some of them.  MariaDB and Percona would both love to help you with consulting to set up your high-availability MySQL solution.

With all this complexity you can imagine the pleasant surprise when a couple of years ago I discovered the Amazon RDS Multi-AZ capability.  To setup this high-availability solution takes a single step at either database instance creation time or later via modifying the instance, select Yes (in this case for Amazon RDS for SQL Server) from a drop-down:

mirroring

Of course the implementation of Multi-AZ may be complex, but all of that is hidden from the DBA and other IT staff.  The real work is done by the infrastructure and software that Amazon has created.

When I think back over the years through all the application databases that should have been highly available, but weren’t because of the complexity and cost involved, is when I get the most excited about RDS Multi-AZ. When I tried to reserve a tee-time, and the system was down.  Or place an order on a small specialty store website and see the telltale error message indicating the website can’t talk to the database.  Or be rushing to change my company benefit elections before open enrollment ends, and realize the database is down and no one is around to do anything about it until Monday.  Or look up a book on my Library’s on-line card catalog and realize I was going to have to manually search the stacks instead.

Sure RDS Multi-AZ dramatically brings down the cost and complexity of keeping  obviously mission critical databases running.  But what excites me even more is that it enables all databases to easily be made highly available.

Stay tuned if you want to know why the transistor was the biggest improvement ever in computer system availability, how a number of attempts to improve availability turned out to be so complex they actually reduced availability, the big breakthrough of checkpoint restart, and how ACID saved the world. It will take me a while to wrap that up, but hopefully it will be worth the wait.

Posted in Amazon, Cloud, Computer and Internet, Database, SQL Server | Tagged , , | 3 Comments

Amazon RDS Customers: Update Your SSL Certificates by March 23, 2015

Amazon RDS customers who use SSL to connect to their databases should read this post on the AWS Security Blog.  X.509 certificate expiration may not be a topic database professionals typically worry about, but in this case you need to.

Posted in Computer and Internet

Android, the anti-productivity OS

After 7 months of torture I have abandoned Android and my LG G3 and returned to my Lumia 1020 Windows Phone.  The 1020 now feels thick, even clunky, and after the G3’s 5.5″ screen the 1020’s 4.5″ screen feels tiny.  But the “ahhhh” feeling when I started using Windows Phone 8.1 again, that is priceless.  And the first time I took a picture, well again some real satisfaction compared to Android.  I really want a new flagship Windows Phone, but apparently that will have to wait for a few months.  But the real story here is why I switched back.

Android just never worked for me.  Want me to say something good about it?  It has the apps.  If they actually work on your device.  I admit I’m sorry I went for the LG G3 over a Samsung Galaxy S5 for three reasons.  One is that the S5 has fewer app compatibility issues owing to its popularity (aka, the G3 suffers from Android’s fragmentation problem).  Another is that the G3 has been unreliable, requiring pulling the battery about every other week to deal with a system hang.  But mostly because if used with a non-LG charger the G3 will beep every minute once it is 100% charged.  This is not good for sleep.  There is no reliable way to eliminate this beeping, except perhaps by rooting the device.  That is BS.

My biggest issue with Android itself is how poorly it supports the Microsoft ecosystems, both the business (i.e., Exchange) and consumer (i.e., outlook.com) based ecosystems.  Want 1 of 100 examples: I get a text from someone and want to save their mobile number in my outlook.com contacts, which is where my personal contacts go, and I’m out of luck.  I ran into things like this repeatedly over the last 7 months.  If you are primarily, preferably exclusively, wed to the Google ecosystem then Android is fine.  Otherwise, caveat emptor.

It was clear from the beginning that Android was not designed for productivity use.  For example, you can’t get your next calendar appointment to display on your lock screen without using a 3rd party app.  When I tried such apps I ran into the fragmentation problem, with the most popular unable to install on my G3.  I gave up.  Even after I unlocked the phone, display of appointment alerts was somewhat flakey.  Sometimes the alert pop-up would display but it would be unpopulated so I couldn’t see my appointment.  Android Lollipop was supposed to address this, but….

The last straw was the Android 5.0 Lollipop update.  One day I get a pop-up on my G3 saying there is an update available, but no details about the update.  I’ve gotten these periodically and I accepted the update expecting it was no more than a bug fix.  Nothing happened that day.  Or the next.  But then I needed to check my calendar for my next meeting in the middle of the day and found the phone rebooting.  It was out of commission for several minutes and it turned out that Lollipop had been installed.  Perfect (NOT!) timing.  And then figuring out what had changed, how it interacts with my installed apps, etc. became an issue.

Ever since the update my phone has been less reliable, requiring me to pop out the battery every couple of days.  And the new features I was waiting for?  Not really usable.  Notifications can be displayed on the lock screen, for example, but unless you want them pretty much all to be readable they pretty much all display as private with the phone needing to be unlocked to see the actual notification.  So you know you have a text message, but you don’t know anything about it.  I’d at least like to be able to know who it is from.  You might as well turn them off completely.  And if you want it to display the text message?  Well, expect all manner of personal or corporate information from various apps to be displayed on your lock screen as well.  Basically Google decided to skip providing sufficient granularity for what is displayed on your lock screen.

The absolute killer for me though is that Android Lollipop has made the alarms on my phone unreliable.  Like many other people I now rely on my phone as my alarm clock.  That started while traveling, and eventually I just decided I didn’t need an alarm clock as the phone was easier to set up and did a better job of waking me.  This was true of my iPhone, my Windows Phones, and (after a bunch of tweaking) my G3.  But after the Lollipop update I can no longer use my G3 as an alarm clock.  Sometimes it plays a couple of notes then auto-snoozes.  Sometimes the alarm fails to break through Do Not Disturb mode (even though I set it to do so).  Sometimes it just doesn’t go off at all.  Indeed last week I missed an airplane flight when the alarm didn’t go off.  When I looked at the clock app indeed the alarm was set properly, so I can’t tell you what happened there.  All I can say is that when I got home again I moved the SIM card to my Lumia 1020 and won’t look back.

Even finding settings on Android is a productivity killer of the highest order.  I am sure I could solve 90% of my complaints with Android by putting in a man-week of effort playing with settings, researching and trying out numerous third-party apps, perhaps even rooting the device.  In fact I probably made errors in this blog entry simply because life is too short to waste trying to figure out how to get Android to work.

I’ve focused on a lot of things here that could be specific to the G3, or to my G3, and certainly to my lack of time for tweaking the heck out of Android.  But to be fair I need to say that I just don’t like the Android experience.  If I’d gotten Android to address my needs I would have tolerated the user experience, much as many Windows PC users have for decades loved what it does for them while disliking the actual user experience.  But I never got there.

When I went back to full-time employment what I needed was a productivity device, not a hacker toy.  Android is the best hacker toy, but both the iPhone and Windows Phone are an order of magnitude beyond it on providing the right experience out of the box as productivity tools.  Windows Phone has the edge here, but of course the iPhone has the edge on apps.  If you can’t live with the restricted app library on Windows Phone, get an iPhone.  Just don’t waste your time on Android.

Posted in Computer and Internet, Linux and Android, Mobile, Windows Phone | Tagged , , | 14 Comments

Where’s Windows?

Being busy with a full-time job (REMINDER: What I post here are my own views and are not in any way associated with my employer) I haven’t been able to post in a while.  A long weekend affords an opportunity to catch up a bit after 3 months.  I thought it would be useful to check-in on where the Windows world is at the end of 2014, though I could easily summarize the situation as “Where’s Windows?”

Regular readers may recall that I’ve long lamented the lack of LTE options in Windows Tablets.  Sure enough 2014 is coming to an end with only one Windows Tablet with built-in LTE, the new HP Stream 8.  The Stream 8 (http://www.amazon.com/HP-Windows-4G-Enabled-Includes-Personal/dp/B00NSHLUFQ/ref=sr_1_1?ie=UTF8&qid=1417190343&sr=8-1&keywords=stream+8+lte) was listed as unavailable earlier this week but is available now.  So far I haven’t found any reviews.  On the good side the Stream 8 with LTE is available for only $179 at Amazon.com.  On the other, it’s hard to say bad, side it only seems to come with T-Mobile LTE support.  And its specs are decidedly low-end (as in no better than more than year-old mainstream 8″ tablets like the original Dell Venue 8 Pro).  At $179 I’m sorely tempted to add one to my collection, but in many ways I’ve moved on from Windows Tablets.  At least for now.

One I started carrying a company-issued Ultrabook around with me my tablet needs diverged somewhat and I made Entertainment more of an overriding priority.  That is, being able to run Windows desktop apps was definitely not a priority.  And that made a number of non-Windows tablets more interesting.  Because I’m an Amazon Prime customer and have made (both Prime and non-Prime) Instant Video a major source of content I decided to go for an Amazon Fire 8.9 HDX.  Light, high-end specs, a fantastic experience around Amazon content, and it has LTE.  It’s also more than twice the price of the Stream 8.  But that says more about Microsoft’s current focus on low-end tablets than anything else.  Microsoft and its OEMs just don’t have a device in the class of the Fire 8.9 HDX (or Apple iPad Air).

That’s not to say Microsoft doesn’t have anything in the high-end tablet space as we head toward the end of 2014.  The Surface Pro 3 is a bona-fide hit, though targeted clearly in 2-in-1 space rather than being primarily a tablet.  I’d really like to have one, and if I could get away with carrying a single device around with me the SP3 would be it.  At this point I’m probably going to wait for a next-generation, hopefully fanless, follow-on running Windows 10.  Indeed my entire commitment to Windows is probably tied up in Windows 10, something I’ll get to shortly.

Another interesting development since I stopped my regular writing about the Microsoft world is the emergence of a class of true cloud-centric Chromebook competitors running Windows.  HP is at the front of the line here again with the Stream 11 and Stream 13 notebooks.  The Stream 11 was introduced at $199 and the Stream 13 at $229, but you can get either at $199 right now.  Stream 13 LTE and Touchscreen options also appear to be available, as is a Stream 14.   I’m having trouble with an old notebook I use occasionally at a second home, and one of these inexpensive devices might be in the cards as its replacement.

Strategically it is interesting to see HP as the thought-leader OEM this year, whereas a year ago I was calling out Dell for staking out this territory.  Dell’s 2014 upgrade to the Dell Venue 8 Pro, the Dell Venue 8 Pro 5000, offers nothing significant over its predecessor.  And the Dell Venue 8 Pro 3000 is very similar at a reduced price, but the HP Stream 7 and 8 are far more innovative on both the pricing and capabilities front.  The only thing the DV8P 5000 has going for it is its active digitizer, and I didn’t find the one on the original DV8P very useful.

The truth is that the second half of 2014 has been rather boring on the Windows front.  While Windows 10 was revealed, what we’ve seen so far is just the tip of the iceberg.  Yes there is a new Windows on the horizon that will be a worthy (and probably not so controversial) successor to Windows 7 on the desktop.  That will be good for business.  But so far Microsoft has revealed very little that demonstrates Windows 10’s ability to establish momentum in the mobile (phone, tablet, or 2-in-1) environment.

For Windows in mobile environments the situation remains just short of bleak.  The library of modern apps remains empty of what is needed to capture either the tablet or phone space.  Microsoft has gone so far as to talk about the combined store having 500K apps, although that is not the number available for any given device.  What you want may be for tablets, or phones, and if it is for both then Microsoft probably double counted it.  But fundamentally, despite some improvement, on either a Windows Tablet or Phone you are going to find desirable (perhaps necessary) apps missing in action.  If apps are important, look to iOS or Android devices.

So what will 2015 bring?  Windows 10 of course.  One can’t underestimate the importance of Windows 10 to Microsoft’s prospects in the client OS realm.  It is realistically their last chance at avoiding a slow slide towards irrelevance in this particular space.  I’m not just talking about phones and tablets, where Microsoft has yet to establish relevance, I’m talking about desktops as well.  When I’m in a room with executives from just about any industry there is a mix of PCs and Mac’s.  If it is a room of technology professionals, Mac’s are equal to and sometimes a majority versus Windows PCs.  Throw in college environments and the handwriting is on the wall.  Leading indicator audiences are adopting the Mac.

If your senior executives have Macs it means your Helpdesk and the rest of your organization’s IT department are learning to support Macs in the environment.  Your organization’s apps, third-party and bespoke, are being called on to treat the Mac as a first-class client.  Even the projection equipment in your conference rooms are now equipped with Mini-Displayport adapters for Macs.  (For an almost humorous example, I was recently in a hotel conference room where the projection equipment was only set up for Mini-Displayport and the presenter couldn’t use their PC to display the presentation.)

I’m in no way claiming the death of Windows, just pointing out a shift that is not healthy for Microsoft.  It is bad enough for Windows that enterprises are letting employees self-select on phones and tablets they use to access corporate resources.  But when employees show up for their first day at a new job and are asked “PC or Mac” it means shrinking market share for Windows.  And it means that Microsoft must now fight for every sale, something that wasn’t the case just a few years ago.  Windows 10 will heavily influence what percentage of those sales Microsoft wins versus loses.

The next indicator of what Windows 10 will bring is expected in late January, when Microsoft is set to unveil a number of consumer-oriented advances.  It will likely also make available a consumer preview of Windows 10.  But the real excitement including, I hope, significant advances on the hardware front from both Microsoft and the OEMs, won’t come until next fall.  And if either Windows 10 or new hardware fall short?  Maybe I’ll start writing about the Mac.

Posted in Computer and Internet, Microsoft, Windows | Tagged , , , | 12 Comments

Amazon RDS for PostgreSQL

Take a look at Amazon RDS for PostgreSQL Update – Read Replicas, 9.3.5 Support, Migration, Three New Extensions  for some news.

Posted in Computer and Internet

Landed. Hiring.

I’ve landed at Amazon Web Services as Vice President of Relational Database Services (RDS).  And I’m hiring!

Please keep in mind that this is my personal blog and the content does not necessarily represent the view of Amazon!

 

Posted in Amazon, Cloud, Computer and Internet, Database | Tagged , , , | 10 Comments

On the Threshold with Windows Phone (amongst other things)

Microsoft is working on its next Windows release (isn’t it always) and most rumors point to it being a release code-named Threshold.  The rumors also suggest developers may see Threshold before the end of this year, but general availability is sometime in 2015.  I don’t know about the name or dates, but I do believe that whatever Microsoft does next is absolutely critical for its success or failure in the client OS business.  That particularly holds true for Windows Phone.  So I’m going to call the next release Threshold and discuss it, particularly in the context of Windows Phone but also a more generally.

The most recent bit of Threshold rumor is that Microsoft may make it available for free to Windows XP, Vista, 7, and 8.1 customers.  This is neither surprising nor particularly significant financially.  Recall that the vast majority of Windows revenue comes from two sources, new copies of Windows licensed through OEMs for new devices and volume licensing agreements with enterprises.  The Enterprise version of Threshold is unlikely to be free, unless of course you essentially already paid for it by having Software Assurance.  And the OEM version is only free for small form factor devices that currently are not a material part of the business.  So free upgrades is a nice way to encourage adoption, but its financial impact should be negligent in the short-term (and positive in the long-term if it does encourage adoption).

Throughout the rest of this post I’m going to merge rumors and my opinions of what Microsoft must do, and in many cases what I believe they are doing.  Don’t get confused into thinking I have any contacts feeding me facts.  It’s all speculation as far as I’m concerned.  But I wouldn’t bet against what I’m about to say.

Threshold is clearly a release designed to (a) clean up the Windows mistakes of the past few years, (b) reposition Windows as a single platform across a wide variety of devices with experiences tuned for device classes, and (c) establish Windows as the platform for running apps of all types.  A lot has been written about (a) and (b) already so I’ll spend most of my effort here on (c).

The main mistake to be fixed is Windows 8’s de-prioritization of the desktop user, but there are plenty of others.  Even within the Modern user experience there are things that just don’t make sense.  For example, even heavy Windows 8.x users struggle with having Print buried inside the Devices charm.  Tweaks in 8.1, 8.1 Update 1, and in the apps design guidance (e.g., most print-oriented apps now expose their own Print menu item) have worked towards addressing these smaller items.  In Threshold those shortcomings should become mostly a memory.

One of the mistakes for Windows 8 was the incomplete state of the Windows Runtime.  Because the initial version was targeted at specific categories of apps, many developers wrote it off as a dead-end and stuck with their focus on desktop Win32 applications.  Even Microsoft’s most critical application for succeeding in tablets, Office “Gemini”, is held up because the Windows Runtime doesn’t yet support everything it needs.  Threshold will fix this problem, rounding out the Windows Runtime so that it is capable of supporting the vast majority of applications that developers would care to write.  From the lightweight front-end kinds of apps generally found on phones and tablets to the heavyweight productivity and enterprise applications that currently call the Desktop home.

If you combine a fleshed out Windows Runtime with the recently introduced concept of Universal Apps you get a very powerful environment for addressing the app gap.  The app gap is a problem both on tablets and phones for Microsoft, and the initial divergence in development platforms has only made it worse.  Fitbit did an app for Windows early on, but only just released a Windows Phone (universal) app.  On the other hand Yelp has an app for Windows Phone but not Windows.  Add on directional changes in the app platform between Windows Phone 7 and 8 and Microsoft certainly wasn’t making it easy on developers.  That’s already changing, and with Threshold developers should have a clear, complete, and more stable platform to target.

Unfortunately Windows Universal Apps and a stable complete Windows Runtime based development platform isn’t enough to save Windows Phone.  As much as I’ve been a supporter and booster of Windows Phone since it came out, I recently left the fold.  And I have one foot in the “Microsoft should just abandon Windows Phone” camp, because on current course, speed, and publicly visible strategy it will never break out of single digit percentage market share on a world-wide basis.  And if that is the case then it isn’t clear what strategic value it has, nor is there any way it can yield a positive financial return.  So is there a viable strategy for Windows Phone and how does Threshold play into it?

First let me restate the problem.  On a world-wide basis Android has now achieved 85% market share, and its share is growing.  It has achieved roughly the same virtuous cycle as Windows achieved in the 1990s.  Most of the remaining market share accrues to Apple’s iOS, which increasingly looks like it has carved out the same high-end niche that it owns with the Mac in the PC business.  In affluent countries the iPhone has a much stronger position than the world-wide numbers indicate, but the world-wide trends mirror what happened in PCs.  There is, in essence, no room for a third player.

Being that third player means it is hard to gain and keep the attention of the channel (carriers, retailers) or garner the top-tier of OEM support.  And most importantly, it means that Developers see your platform as having the worst return on investment of any they do, or might consider, supporting.  That means they either never bring their apps to your platform, or treat them as second class citizens that are updated less frequently and receive mediocre support, or abandon the platform when they see it makes no financial sense to continue supporting an app on it.  Windows Phone is having all three problems, and unless it gains share rapidly I think abandonments will accelerate.

So how can Microsoft work around developers’ barriers to supporting Windows Phone, and thus close the app gap?  One that we’ve already discussed is making the overall market bigger by having the same apps target all Windows variants.  But in the short run that strategy does more to attract enterprise, as well as more productivity-oriented, apps than the broader consumer app category that makes up the app gap.  So Microsoft has been embarked on a mission of supporting multiple efforts around cross-platform app development.

Microsoft has gotten very close to Xamarin, who offers a way to do cross-platform development using Microsoft technologies.  So close in fact that speculation surfaces periodically that Microsoft will acquire Xamarin.  Microsoft has also thrown its support behind Apache Cordoba,  A platform focused on using JavaScript and HTML to create cross-platform native mobile apps.  In many ways this is a natural move.  With Windows 8 Microsoft sought to capture the attention of the largest development community there is, web developers, by making JavaScript/HTML5 a native Windows app development platform.  It has since made WinJS, the library behind Windows’ support for JavaScript/HTML5 apps, open source and added support for WinJS-based apps to Windows Phone 8.1.  But these moves, while helpful in the long-term, still will not address the app gap in the short or medium terms.

Microsoft has only one play to really close the app gap in the next 12-18 months, and that is something they have to do that if they want Windows Phone to have a future.  That play is make it easy for developers to port Android apps to Windows Phone, a capability I think is likely to be part of Threshold.  It’s possible that Microsoft would simply choose to allow Android apps to run on Threshold, perhaps just on phones but tablets are also a possibility.  There are a number of existing sources for technology to do this, but I suspect Microsoft is working with OpenMobile World Wide.  Want a clue on this?  Open the data sheet for the upcoming OpenMobile ACL for Windows and look at the picture on the upper right.

While being able to run existing Android apps on Windows Phone would close the app gap extremely quickly, it would leave a problem with the quality of the app experience.  I suspect Microsoft is looking to take this another step, and use the opportunity to easily run Android apps on Threshold to convince developers to adapt them to the Microsoft environment.  For example, first use it to encourage developers to support Microsoft services (when running on both Windows and Android).  Then use it to convince developers to turn their Android apps into multi-platform apps, with customizations (to the user experience) when running on Windows.  How far they will go is a big question mark, but I believe they will go beyond just wanting to run existing apps unchanged.

There are lots of risks around supporting Android apps on Threshold.  The first one everyone brings up is that it would seem to discourage developers from creating “native” apps for Windows.  In some cases this will be true, but as (and if) the Windows Phone platform grows in market share than user demand for a higher quality application experience will solve this problem.  But I think a bigger issue is that the strategy doesn’t have a great history of success, at least on a cross-vendor basis.  The analogy most people use is that the ability to run Android apps on the Blackberry hasn’t helped it, but I don’t think that the app gap has been their biggest problem.

I like the OS/2 example better than the Blackberry example.  IBM kept OS/2 going after Microsoft abandoned the effort because (IMHO) they wanted a platform they could control even if its prospects for success on the desktop were virtually nil.  To solve the app gap problem they included the ability to run Windows applications on OS/2, and even had a deal with Microsoft to run Office on it.  It may have helped sell some copies of OS/2, but didn’t help OS/2 achieve anything other than a marginal market share followed by a trip to oblivion.

So the strategy of running Android apps on Windows Phone is risky, but when you have 3% market share how much risk is it really?  And to be clear, closing the app gap is not all that it will take to grow Windows Phone’s market share.  But failure to close the app gap certainly dooms the platform.

While press and pundits will focus on running Android apps on Windows Phone, assuming it is true that Threshold will support this, I think it misses the bigger point.  With Threshold Microsoft may be completing the move away from the our way or the highway application platform to broad acceptance of multiple development technologies and runtimes.  If you follow Azure you’ve already seen Microsoft do this in a big way.  They’ll continue to offer their own application platform, and open source much of it to encourage broader adoption.  But we are clearly in the waning days of Microsoft focusing intensely on a proprietary Windows application platform.

And speaking of thresholds, this is going to be my last blog post on Microsoft or any kind of IT industry analysis/commentary.  There is a time to blog and there is a time to build, and I’ve decided it’s time once again for me to build.  I’ll reveal my plans at an appropriate point in the future.

Posted in Computer and Internet, Microsoft, Mobile, Windows, Windows Phone | Tagged , , | 18 Comments