A week in the cloud… (Just to clarify)

AWSA comment on yesterday’s post by Andy C makes me think I should clarify a couple of things I mentioned in yesterday’s post.

“Infrastructure as a Service (IaaS), not really what I consider the cloud.”

For *me* the definition of cloud must include some value-add in relation to ease of use. I’ve used IaaS on Azure, AWS and Oracle Cloud. In all cases I’m left to do the same administration stuff I had to when I was on a physical box or a VM on a local virtual machine. For *me* it only becomes cloud when I have Platform as a Service (PaaS) or Software as a Service (SaaS), where the administration is simplified greatly through tooling. IaaS is just another hosting provider. It’s not really cloud in *my* book. That’s not to say it’s not cool or useful. It’s just not cloud to *me*.

Notice the heavy use of *me* and *my*. This is not the law or even some text book definition. It’s just the way I feel about it, having used a number of hosting companies for business and personal use prior to “the cloud”. You are allowed to think differently, and certainly cloud providers do. 🙂

Note. I’m not discounting the easy of use afforded during provisioning and disposing of resources, but if you’ve worked with a proper virtual infrastructure you’ve had that for a long time. Once again, I’m not saying it’s not cool. I’m saying the day-to-day job as a system administrator or DBA is unchanged by IaaS.

“It’s a much lower spec box (memory, CPU, disk capacity), so really it’s more expensive.”

One of the things we notice when moving people from physical to virtual is they want a complete replica of their server, even if that server is mostly idle, using no memory and a fraction of the disk space it is allocated. One of the good points of virtual infrastructure is consolidation, which is not going to happen well if everyone insists on over-allocating resource they don’t use. OK, you’ll probably jump in with comments about memory ballooning, and thin provisioning, but you get where I’m coming from here.

The cloud providers keep their costs down and can make their money because of this consolidation, so it’s obvious you are not getting a “full server” unless you are willing to pay for dedicated resource.

When I got my dedicated server I significantly over-specced it, because I didn’t really known how much resource I needed, having only run the website on shared resource up to that point. In moving to AWS I now have 1/4 of the cores, 1/2 the memory and 1/10 of the disk space, but it costs approximately the same money. I’ve moved from bargain bucket dedicated hosting provider to world dominating cloud provider, so it’s not the fairest comparison, but the cloud is not cheaper for me. If my resource needs grow to the point where I would have maxed out the old dedicated server, the AWS costs would be significantly higher.

As I said yesterday, there are ways I can make the service cheaper once I confirm what resources I need, so maybe the final solution will actually be cheaper, but I don’t know that yet. The point is, there is the automatic assumption that the cloud is always cheaper and it’s just not true all the time. It comes with other benefits of course, but if cost is your prime metric, the cloud is not always the winner.

Conclusion

As I said in yesterday’s post, I’m really happy with the move so far. I like the additional flexibility, potential HA improvements in the case of hardware failure and the architectural options it has opened up. Having said that, I’m not blind to the fact the system administration is no simpler than it was with a dedicated server and it is a similar cost for less resource.

This is not meant to be provocative to either the cloud or anti-cloud zealots. It’s just an opinion. 🙂

Cheers

Tim…

Google as a Cloud Provider?

cloudI saw a tweet this morning that pointed me to this article.

Google To Challenge Amazon, Microsoft In Cloud Computing War

 

This comes hot on the heels of this article.

Google dumps ISP email support. Virgin Media takes ball, stomps home

I use a lot of Google services and I like them. Having said that, I just can’t bring myself to take their Google Cloud Platform seriously. It’s not that I don’t believe they have the capability to do cloud. The are Google after all. 🙂 It’s more about trusting their services will exist in the future. If they are happy to dump 4.6 million email customers in one shot, why should I believe they give a crap about my IaaS stuff?

This kind of behaviour is not new from Google. They have taken an axe to many services before, but this seems so much more dramatic and significant from a company that is pushing their public cloud agenda.

Now it all comes down to money, and I guess Google couldn’t make enough off the this ISP email customer, but it is still a worrying signal. People should always have an exit strategy for every cloud project, but with Google it seems like it should be a bigger priority.

Maybe I’m just being paranoid. Maybe I’m not. I just feel unnerved.

Cheers

Tim…

Video: Amazon Web Services (AWS) : Relational Database Services (RDS) for SQL Server

Here’s another video on my YouTube channel. This one is a quick run through of RDS for SQL Server, a DBaaS offering from Amazon Web Services.

The video was based on this article.

The cameo for this video is Garth Harbach, a former colleague of mine. 🙂

I’ve been ill recently and my voice is pretty shot. The last three videos have all be on AWS RDS, which has very similar setup regardless of which database engine you use. This has been really handy, as I could pretty much reuse one vocal track for all three videos. Not sure if anyone would have noticed, but I felt guilty, so I thought I would confess up front. 🙂

I’m hoping I’ll get my voice back in the next few days so I’ll be able to do something different. 🙂

Cheers

Tim…

Video: Amazon Web Services (AWS) : Relational Database Services (RDS) for Oracle

Here’s the latest video on my YouTube channel. This one is a quick run through of RDS for Oracle, a DBaaS offering from Amazon Web Services.

If you are not into the video thing, you can see the article this video was based on here.

Galo Balda has now joined the illustrious list of people who have said “.com” on one of my videos. 🙂

Don’t worry, I’ve not sold my soul to the cloud. I’m doing some talks at work and I’m doing these videos more as reference for my colleagues. Once this batch of videos is done, I’ll return to some less cloudy stuff. 🙂

Cheers

Tim…

[Cloud | On-Premise | Outsourcing | In-Sourcing] and why you will fail!

error-24842_640I was reading this article about UK government in-sourcing all the work they previously outsourced.

This could be a story about any one of a number of failed outsourcing or cloud migration projects I’ve read about over the years. They all follow the same pattern.

  • The company is having an internal problem, that they don’t know how to solve. It could be related to costs, productivity, a paradigm shift in business practices or just an existing internal project that is failing.
  • They decide launch down a path of outsourcing or cloud migration with unrealistic expectations of what they can achieve and no real ideas about what benefits they will get, other than what Gartner told them.
  • When it doesn’t go to plan, they blame the outsourcing company, the cloud provider, the business analysts, Gartner, terrorists etc. Notably, the only thing that doesn’t get linked to the failure is themselves.

You might have heard this saying,

“You can’t outsource a problem!”

Just hoping to push your problems on to someone else is a guaranteed fail. If you can’t clearly articulate what you want and understand the consequences of your choices, how will you ever get a result you are happy with?

Over the years we’ve seen a number of high profile consultancies get kicked off government projects. The replacement consultancy comes in, hires all the same staff that failed last time, then continue on the failure train. I’m not going to mention names, but if you have paid any attention to UK government IT projects over the last decade you will know who and what I mean.

Every time you hear someone complaining about failing projects or problems with a specific model (cloud, on-premise, outsourcing, in-sourcing), it’s worth taking a step back and asking yourself where the problem really is. It’s much easier to blame other people than admit you’re part of the problem! These sayings spring to mind.

“Garbage in, garbage out!”

“A bad workman blames his tools!”

Cheers

Tim…

PS. I’ve never done anything wrong. It’s the rest of the world that is to blame… 🙂

Update: I wasn’t suggesting this is only an issue in public sector projects. It just so happens this rant was sparked by a story about public sector stuff. 🙂

Video: Oracle Linux Virtual Machine (VM) on Amazon Web Services (AWS)

Continuing the cloud theme, here is a quick run through of the process of creating an Oracle Linux virtual machine on Amazon Web Services (AWS).

A few months ago I wrote an article about installing an Oracle database on AWS.

I updated the images in that article last night to bring them in line with this video.

The cameo today is by Joel Pérez, who was a bit of a perfectionist when recording “.com”. I’ve included about half of his out-takes at the end of the video. Don’t ever hire him for a film or you will run over budget! 🙂

Cheers

Tim…

Video: SQL Server Databases on Microsoft Azure

I mentioned in a previous post, the whole look and feel of Microsoft Azure has been rejigged. As a result, I had to do a run through of the SQL Server DBaaS stuff to update the screen shots in and old article on the subject.

Azure : SQL Server Databases on Azure

Since I was doing that, I figured I might as well do a video for my YouTube channel.

Cheers

Tim…

The Cloud : They took our jobs!

The title is of course inspired by “They took our jobs!” from South Park.

I’ve been doing some cloud-related talks recently and a pretty regular question is, “How is this going to affect my job as a [DBA | Sysadmin]?”

My answers usually include some of the following points.

  • Back in the old days, we used to spend hours obsessing about redo and rollback/undo and sizing of the individual parts that make up the SGA and PGA. Keeping on top of some of this stuff was a full time job, even for a small number of databases. Over time Oracle have added loads of automated features that mean we don’t have to worry about this stuff for “most” of our databases. So that means less DBAs right? Not really. We are just expected to cope with a lot more stuff now. Rather than looking after 3 databases, we look after hundreds or thousands.
  • For Infrastructure as a Service (IaaS), the cloud is just a basic hosting company. You are still responsible for all system administration and database administration. A move to IaaS doesn’t affect jobs at all. If anything, it probably adds to the demand.
  • For Platform as a Service (PaaS) offerings, like Database as a Service (DBaaS), things may be different. Your level of interaction with the OS and database varies depending on the vendor, but in some cases, you will have zero access to the OS, so there is no system administration, and the level of control over the database is limited. Surely that affects jobs? Well, once again, this has just made life easier, so your company can do more stuff and you will probably be expected to do more.
  • As far as Software as a Service (SaaS) is concerned, as a customer there is no access to the infrastructure, so there is no DBA or sysadmin work. If you want to look after the guts of Fusion Apps what’s wrong with you get a job with Oracle. 🙂 Even if you don’t have access to the guts of the SaaS system, you are still going to spend a lot of time designing systems to interact with it!
  • The cloud means I no longer have to install operating systems and databases! Well, sometimes I really enjoy doing donkey work, but if you’ve not automated most of this stuff, you are really living in the dark ages. If you have automated it already, then the cloud isn’t really any different to what you are doing now.
  • What the cloud will not do is understand your custom applications and provide the skills needed to diagnose problems and advise on solutions. All the interactions with your developers and support folks will still be necessary. I can’t see a cloud service helping with this sort of stuff ever. The role of a development DBA and the crossover between functional and technical knowledge is actually far more valuable than being able to install a bit of software.

There is no doubt the cloud will affect what we as DBAs and system administrators do, but our jobs have been constantly evolving over the last couple of decades I’ve been involved in IT. As Francisco said recently, “These days, DBA stands for Database Architect”, which I think is kind-of true. A decade ago I just did Oracle databases. Now I do Oracle, SQL Server and MySQL databases. I look after WebLogic, Tomcat, IIS and Apache App/Web servers. I’m helping to set up load balancers. I get involved in infrastructure projects for applications and middleware. It’s not that I’m awesome at any of this stuff, but as a DBA and/or system administrator you get exposed to so much, which makes you an ideal resource to help with this architectural stuff.

If you think a DBA just installs Oracle, creates databases and checks backups, your job will be gone soon. If you are a system administrator that just installs operating systems and does patches, your job will be gone soon. These are trivial tasks that anyone can learn in a few weeks, so you should hardly be surprised they can be automated out of existence. If instead you concentrate on the skills where you add true value to your company, you will be in demand for a long time!

I know it’s a bit of a random post, but I hope you can see where I’m coming from! 🙂

Cheers

Tim…

Oracle Cloud : First Impressions

cloudFollowers of the blog will know I’ve been waiting to get access to the Oracle Cloud for a while. Well, I’ve finally got access to a bit of it. Specifically, the “Oracle Database Cloud Service” (DBaaS) part. 🙂

The Schema Service has been around for a few years and I had already tried that out, but IMHO it’s not really part of Oracle Cloud proper*, so I was reserving my judgement until I got the real stuff. 🙂

I’ve written a couple of articles already. Just basic stuff to document setting stuff up and connecting etc.

So here are some first impressions…

Oracle Cloud : Look and Feel

Overall the cloud offering looks clean and modern. Tastes vary of course, but I like the look of it.

The navigation is a bit inconsistent between the different cloud services. It feels like the console for each section (Compute, Java, DBaaS etc.) has been written by a different team, each doing what they think works, rather than working to a single design standard. Here’s a couple of examples:

  • In the “Oracle Database Cloud Service” section there is a “Consoles” button on the top-right of the screen that triggers a popup menu allowing you to switch to the Dashboard, Java Cloud and Compute Cloud console. In the “Oracle Compute Cloud” section, the “Consoles” button is not present. Instead there is a hamburger on the top-left of the screen that causes a navigation panel to slide out on the left of the screen, pushing the rest of the page contents to the right. On the top-level services page, the same hamburger produces a popup menu, kind-of like the “Consoles” button, but with the colouring of the navigation panel. I don’t find any method better or worse than the others. It would just be nice if they picked one and stuck with it, otherwise you are looking round the screen trying to decide how to make your next move. 🙂 (See Update)
  • Some consoles use tabs. Some use navigation tiles. Some use both.

Don’t get me wrong, it’s not hard to navigate. It’s just inconsistent, which kind-of ruins the overall effect. If they can bring it all into line I think it will be really cool.

I think Oracle Cloud looks neater than Amazon Web Services, but the navigation is not as consistent as AWS or Azure. Having used AWS, Azure and Oracle Cloud, I feel Azure has the neatest and most consistent interface. Like I said before, tastes vary. 🙂

Probably my biggest issue with the Oracle Cloud interface is the speed, or lack of. It’s really slow and unresponsive at times. On a few occasions I thought it had died, then after about 30 seconds the screen just popped back into life. Some of the actions give no feedback until they are complete, so you don’t know if you’ve pressed the button or not.

Oracle Cloud : Ease of Use

I found DBaaS pretty simple to use. I’ve already spent some time using AWS and Azure, so there is probably some carry-over there. I pretty much completed my first pass through creation, connections and patching before I even considered looking for documentation. 🙂

The documentation is OK, but contains very few screen shots, which leads me to believe the look and feel is all in a state of flux.

I think the general Oracle Compute Cloud Service network/firewall setup is really quite clear, but you can’t edit existing rules. Once a rule is created you can only enable, disable or delete it. I found myself having to delete and create rules a number of times when it felt more obvious to let me edit an existing rule. I’ll mention a DBaaS issue related to this later.

One slight concern is I’m not sure how I will feel about the firewall screens once I have lots of rules, because each rule takes up a lot of screen room. There is a search, so I guess it pays to be very disciplined with the names of rules.

DBaaS Specifically

Just some general observations about the DBaaS offering.

  • The “Oracle Database Cloud Service” DBaaS offering looks OK , but I noticed they don’t have multiplexed redo logs. I never run without multiplexed redo logs, regardless of the redundancy on the storage layer. Even if they were all shoved in the same directory, it would still be better than running without multiplexed files. This is a bit of mandatory configuration the user is left to do after the fact.
  • The DBaaS virtual machine has Glassfish and ORDS installed on it, which is necessary because of the way they have organised the administration of the service, but it’s not something I would normally recommend. Databases and App Servers never go on the same box. Like I said, I understand why, but I don’t like it.
  • The management of the DBaaS offering feels fragmented. For some administration tasks you use the main cloud interface. For others you jump across to the DBaaS Monitor, which has a completely different look and feel. For others you to jump across to [DBConsole – 11g | DB Express -12c]. For a DBaaS offering, I think this is a mistake. It should all be incorporated into the central console and feel seamless. I understand that may be a pain and repetition of existing functionality, but it feels wrong without it.
  • I found the network/firewall setup done by the DBaaS service to be quite irritating. It creates a bunch of rules for each DBaaS service, which are all disabled by default (a good thing), but all the rules are “public”, which you would be pretty crazy to enable. Because you can’t edit them, they end up being pretty much useless. It really is one of those, “Do it properly or don’t bother!”, issues to me. If the DBaaS setup screens asked you to define a Security IP List, or pick an existing one, and decide which services you wanted to make available, it could build all these predefined rules properly in the first place. Alternatively, provide a DBaaS network setup wizard or just don’t bother. It feels so half-baked. 🙁
  • Dealing with the last two points collectively, the fragmentation of the management interface means some of the management functionality (DBaaS Monitor and [DBConsole – 11g | DB Express -12c]) is not available until you open the firewall for it. This kind-of highlights my point about the fragmentation. I’m logged into the DBaaS console where I can create and delete the whole service, but I can’t use some of the management features. It just feels wrong to me. It is totally down to the implementation choices. I would not have chosen this path.
  • Unlike the AWS RDS for Oracle, you get complete access to the OS and database. You even get sudo access to run root commands. At first I thought this was going to be a good thing and a nice differentiator compared to RDS, but having used the service I’m starting to think it is a bad move. The whole point of a DBaaS offering is it hides some of the nuts and bolts from you. I should not be worrying about the OS. I should not be worrying about the basic Oracle setup. Giving this level of access raises more questions/problems than it solves. I feel I should either do everything myself, or pick a DBaaS offering, accept the restrictions of it, and have it all done for me. The current offering feels like it has not decided what it wants to be yet.
  • When I patched the database through the service admin console it worked fine, but it took a “really” long time! I waited quite a while, went out to the gym and it was still going when I came back. Eventually I started an SSH session to try and find out what was happening. It turns out it took over 2 hours to “download” the PSU to the VM. Once the download was complete, the application of the patch was done quickly. Interesting.
  • The “Oracle Database Cloud Service – Virtual Image” option seems pretty pointless to me. On the website and console it says there is a software installation present, but this is not the case. Instead, there is a tarball containing the software (/scratch/db12102_bits.tar.gz). It also doesn’t come with the storage to do the actual installation on, or to hold the datafiles. To do the installation, you would need to “Up Scale” the service to add the storage, then do the installation manually. This process is actually more complicated than provisioning a compute node and doing everything yourself. I think Oracle need to ditch this option and just stick with DBaaS or Compute, like Amazon have done (RDS or EC2).

Conclusion

I like the Oracle Cloud more than I thought I would. I think it looks quite nice and if someone told me I had to use it as a general Infrastructure as a Service (IaaS) portal I would be fine with that.

I like the DBaaS offering less than I hoped I would. I feel quite bad about saying it, but it feels like a work in progress and not something I would want use at this point. If it were my decision, I would be pushing the DBaaS offering more in the direction of AWS RDS for Oracle. As I said before, the current DBaaS offering feels like it has not decided what it wants to be yet. It needs to be much more hands-off, with a more consistent, centralized interface.

I don’t have full access to the straight Compute Cloud yet, so I can’t try provisioning a VM and doing everything myself. If I get access I will try it, but I would expect it to be the same as what I’ve done for EC2 and Azure. A VM is a VM… 🙂

When I read this back it sounds kind-of negative, but I think all the things I’ve mentioned could be “fixed” relatively quickly. Also, this is only one person’s opinion on one specific service. The haters need to try this for themselves before they hate. 🙂

Cheers

Tim…

* Just to clarify, I am not saying the Schema Service isn’t “Cloud” and I’m not saying it doesn’t work. I’m just saying I don’t see this as part of Oracle’s grand cloud database vision. It always seemed like a cynical push to market to allow them to say, “we have a cloud DB”. If it had been branded “APEX Service” I might have a different opinion. It is after all a paid for version of apex.oracle.com. This is a very different proposition to promoting it as a “Cloud Database”.

Update: Since I wrote the post, the navigation for the “Oracle Database Cloud Service” section has been amended to match that of the “Java Cloud Service” and the top-level “Services” section, so only the “Compute Cloud Service” section has different navigation. Much better!