back to article Devs don't care about cloud-specific coding, right? Er, not so

Software developers don’t care about the guts of the backend systems that feed their apps, right? No, wrong. Programmers are aware of the data centre and the servers that power it, and probably refer to it all as the cloud. Even Microsoft is trying to shift people to Visual Studio Online to get developers using cloud-based …

  1. Nate Amsden

    I've been saying for nearly 7 years

    Greater than 90% of the devs I have worked with (all of which were working on pretty leading edge new application code bases, not talking about legacy code here!) don't understand cloud, and don't write to it.

    Having worked at two orgs that launched their apps from day one in a major public cloud both had the same issues because the code wasn't built to handle that environment and chaos ensued(no surprise to me of course). First one is defunct, second one moved out of the public cloud within a few months and I manage their infrastructure today with very high levels of availability, performance, predictability and the cost is a fraction of what we would be paying a public cloud provider.

    Seeing public cloud bills in the half a million/month(or more) is NOT uncommon (as absurd as that may sound to many).

    I know it's possible to write for this kind of thing, but maintain that every org I've worked for the past 12 years, the business decides to prioritize customer features far above and beyond anything resembling high levels of fault tolerance which is required for true cloud environments. That continues to right now. Again this decision process makes sense to me(cost/benefit etc), at some point some orgs will get to a scale where that level of design is important, most(I'd wger excess of 85%) will never get there though. You can't (or shouldn't) try to design from day one the world's most scalable application because well you're VERY likely to get it wrong, and it will take longer to build(cost more etc). Just like I freely admit the way I manage technology wouldn't work at a google/amazon scale (and their stuff doesn't work for us, or any company I've worked for).

    You can fit a square peg in a round hole if you whack it hard enough, but I don't like the stress or headaches associated with that.

  2. Jimmy2Cows Silver badge
    Meh

    Sweeping statements

    "Who doesn’t now consider themselves to be a cloud developer and a mobile (served from the cloud) developer?"

    Me. And everyone who works with me.

    I find all this cloud buzz rather pretentious. Some things have a place in the cloud. Many, many things should be as far from the cloud as possible.

    1. Anonymous Coward
      Anonymous Coward

      Re: Sweeping statements

      I agree, of course where needed I'll write client-server applications that communicate over the Internet, the same as everyone was doing before the great unwashed started calling this "the cloud".

      What annoys me the most is the belief (by the public) we've actually created something amazing call "the cloud" when how "the cloud" works hasn't changed since applications that make it work were called client-server applications.

    2. joeldillon

      Re: Sweeping statements

      Exactly. Amazingly and no doubt to the shock of the article's author, many programmers still do stuff that isn't websites.

    3. BearishTendencies

      Re: Sweeping statements

      Any chance you could tell that to GDS?

  3. Kevin McMurtrie Silver badge

    I did some checks on current cloud computing offerings and they seem to be better now. The original cloud model of many virtual machines is always a nightmare when it comes to tracking online resources, maintaining uptime, and implementing secure host-to-host communications. That overhead guarantees that every application is bloated, complicated, and dangerously buggy. Newer cloud services offer virtual data centers, which is what you really want for some clusters of related services.

    1. Nate Amsden

      Just FYI there have been cloud operators that have offered virtual data centers for many years now, I remember talking to Terremark about one such offering just over 5 years ago. The cost was fairly high, my cost for building a new set of gear was around $800k(all tier 1 hardware/software with 4 hour on site support etc), their cost to us was between $300k/month with no up front installation charges, or ~$140k/mo with a $3M installation charge(yes you read that right). But it was possible, in their case it was VMware, and on the $3M install fee that was for Cisco UCS-based equipment.

      I'm sure it's a bit cheaper now ..

  4. breakfast Silver badge
    Meh

    Who is it for?

    I've been working on some cloud stuff recently and been around a lot of other people working in various associated areas and the point that I have reached is that I just don't know who it is better for.

    It is hard to develop for the cloud- way harder than regular client-server or application development - and debugging any code running in the cloud is a massive pain in the ass. You have so little control on your application's environment that you need constant fault-tolerance.

    It is hard to maintain applications in the cloud- most of the things that matter in terms of system maintenance are outside your hands so if something isn't working you are stuck with raising support tickets for your friendly local provider to ignore and then in a few weeks time tell you it was fine anyway. When the service goes down ( and it inevitably does ) then your product is unavailable.

    As a consequence of these, applications developed and hosted in the cloud are often fragile and inconsistent. This makes the end-user's experience less pleasant and it is easy for hard-to-reproduce situational bugs to arise.

    So it is hard to develop for, hard to maintain and tends to create unreliable user experiences.

    I'm not saying that there is no benefit to a cloud-style approach for some applications, but in most cases I can't tell who the cloud is supposed to be for.

  5. thedarke

    "...cloud is made for vertical scale-out flexibility" < Nails on a chalkboard. It's made for HORIZONTAL scale-out- there is no magic making apps on cloud platforms scale better on the same hardware as they would on a local server- the 'magic' is well designed software can be made to scale out horizontally.

    A lot of the 'cloud ready' tech I've interacted with has some very curious, naive ideas about vertical scale- including injecting single-thread bottlenecks, that don't pass the kind of scale design scenarios circulating in the dark Web 1.0 days. But, done right- you can just spread it out horizontally if you don't mind being taking the additional cost...

  6. Anonymous Coward
    Anonymous Coward

    Costs come down?

    "Follow the logic onwards i.e. when application service costs come down, the cost of application development comes down and the cost of applications themselves (may even) come down."

    That's what cloud providers' marketing departments want to make you believe anyway.

    My experience is that most companies are quick to hop on the lower costs bandwagon and are then surprised that nobody told them that most applications need to be drastically redesigned to be stateless, able to scale, respond to incidents that are mostly alien to traditional data centre environments and so forth.

    Otherwise all you get is a "lift and shift", but then you don't utilise the benefits of clouds (flexibility, "on demand" resources etc) and are in many cases worse off than before in terms of resilience.

    There's still a very common perception that all you got to do to save costs is move your stuff over. The truth couldn't be further from it. But of course, the marketing bods won't exactly point that out.

    I've seen this over and over again, and there's inevitably going to be an "oh shit" moment happening in all departments involved at some point, when the migration turns out to be longer and more costly than anticipated, and the cost savings may not quite be as great as the power point presentation / marketing pitch promised.

    That's not to say cloud is bad (it really depends on what you want and need to do; as always: find the right tool for what you want to achieve); but it is neither going to be cheap or easy to get there for most applications. And it requires a very different approach to many things, for both devs and sysadmins, but also stakeholders and management, if "devops" (the next big hype after cloud) is the goal.

    EDIT:

    For those who are going to move applications, write down these terms: dynamic, volatile, ephemeral. They will haunt you, if you are not prepared. :)

  7. biandewei

    "dynamic, volatile, ephemeral"

    Sounds like the opposite of DETERMINISM, that thing prized by developers since bits were invented, yet which is found in shorter and shorter supply the farther one gets from actual hardware, regardless of what the Marketing Department says.

    My feeling (as a developer for over 30 years) is that while there are definitely *some* applications that would merit the cloud approach, few businesses can justify—in the end—either the unconstrained expense of running a cloud app or the serious design chops/time/expense needed to do such apps right. The race to the bottom on cloud service prices is reflecting this reality. Just not sure whether it can go low enough, soon enough, for all (but one) of these providers to survive.

    Then there's still that pesky bugbear of DETERMINISM that needs sorting.

    At least it spells JOB SECURITY for developers, no matter what happens.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like