I toyed around with Azure in January this year and though it looked great in theory, I wasn't even able to deploy a simple dummy application due to various bugs I encountered.
I'd like to have another look, however I don't want to spend another two days in vain. If you have recently tried Azure, I would be interested to hear about your experiences.
Thanks,
Adrian
Yes, Xbox Live, Microsoft's BPOS suite, Live Messenger, and more all run on Azure.
If it can run Xbox Live, it can run your production app.
I'm using Azure for production stuff, and I've found it reliable, but pretty hard work. Hard work because:
The reference documentation is minimalist. Many functions are covered by a one sentence explanation and no examples.
While being much better than nothing, not everything that works on the development fabric will work on production.
When things go wrong (especially when a role keeps recycling) it can be hard to work out what the problem is, although remote desktop can help a lot.
Windows Azure works for us and allows to deploy rather complex business solutions with rather impressive auto-scaling capabilities.
We have already migrated all of the major projects towards Azure so far.
If still in doubt, take a look at 50+ case studies here.
Visual Studio 2010 added a BUNCH of functionality towards Azure development. I think it is enough to move Azure up to snuff for production apps.
However, if you don't have Studio 2010, I would wait till you can get it.
Another example that I like (I was personally involved a teeny weeny bit so I'm biased :) ). All Twitter/Facebook results on Bing.com are piped through an engine that runs on Windows Azure. It consumes multiple realtime feeds and surfaces them on Bing. You can do the math on the scale since it is crunching on all of Twitter's data and has been doing so for months
Related
First of all, I'm not really sure if this question goes here in stackoverflow or if I should ask it on another place. Please if that's the case, indicate me in the right way :)
So, for context, this is an app that I was asked to develop for my job. At first I thought in doing a webapp and host it inside the company servers and domain (intranet), but it isn't possible due to external issues that I can't control.
Is there another way to achieve this? The app must have a database and should be accessible for a bunch of users at the same time.
Of course we want to spend the least amount of money possible to make this happen. Also, using a workstation of our own to host everything is not possible either.
Edit: I didn't finish developing, but for now I'm developing it in Python Flask.
The number of users is small really, just up to five people.
OK - I guess a lot of what you'll get in response to this is your definition is too vague. Things such as scale, number of users, programming languages used to create the web app etc are important when talking about hosting.
However, for me, there are three very good options out there for free hosting, up to a certain amount of traffic.
1.) Heroku - Heroku.com
A world known web hosting platform. You can publish code through GitHub, and it has some extensive coverage for different types of web apps. Definitely worth a look.
2.) Netlify - netlify.com
Similar to Heroku, but used by some major companies. Allows you to host for free to a point, and is relatively simple to get started with.
3.) Vercel - vercel.com
A bit more technical in my opinion - but again, very similar to the above two and has a free tier.
All three are great options, and I'd recommend looking into them in more detail to see what option is best for you. Can't go wrong with any of them.
I had a similar problem: A Python-Flask-SQLite app for me and my office pals to use together.
The solution was creating one .exe file with pyinstaller, hosting this and the database files in a network drive (one that everyone that will use the app has access). As everybody (~10 people) sees the same db, things works fine!
I'm a single developer working on an idea I'd like to deploy to windows azure, however my main issue is I couldn't find any good learning resources for individual developers working alone. Does anyone have any recommendations? I've got the azure platform training kit, but from what I can tell, it's intended more for teams of developers learning at the same time.
As the prior owner, I can tell you that the platform training kit was targeting to anyone looking to learn about the platform - not just teams. If I was trying to get up to speed, I would sit down and start on the hands on labs, but I am biased towards the kit.
Cory keeps an updated list of 'Essential Windows Azure Resources' I would take a look at as well, there are some good items in it.
Take a look at the book "Azure in Action"
I found the Cloud cover show at channel 9 very helpful in my learning. Try it
Let me introduce myself a bit.
I have 7 years of C++ (most MFC) experience, 1 year C#.NET and 2 years Java experience.
I know little about web application, what I did and am doing is Windows desktop applications.
I start to do some (minor) (freelance) side projects in the past half year and uses C# mostly as it's more "rapid" than MFC. But seems there's more web projects in this market than desktop projects. And I do not feel good as long as I do not know web development.
So, should I touch the new web filed for me or just stay focus in desktop application but learn more e.g Python, or Frameworks/Libraries such as Qt or Boost?
My gut feeling is that more and more people/companies are moving their projects to the web. My company, for example, has added numerous web applications since I have been there. Another prime example of this is Microsoft (yes, even them) providing a web-based version of Office, their flagship product.
There will always be a need for desktop applications, but I see more web-based projects in the future. It's always good to learn something new, anyway.
EDIT: Oh, and you don't lose anything by being aware of "desktop-based" processes. You may be doing more server-side programming, even if it is web-based. So, in other words, it doesn't hurt to continue expanding your knowledge in that arena, as well.
There will most likely still be a market for desktop applications for many years to come. However, web development seems to have taken over a large share of the development market from what I can see. I would recommend definitely getting familiar with web development as it definitely can't hurt to increase the number of skills you have even if you never stop writing desktop apps.
Since you have experience with C# you might want to consider doing some ASP.NET work. Or if you feel the need to learn a new technology then maybe consider a framework like Ruby on Rails.
I'd really suggest looking into web development - like you said, there are many more web application projects - and you already know C#.NET and Java, and both of those languages have really good API's / frameworks for web development. ASP.NET for C# and Java Servlets/JSPs.
I'd first suggest learning some really basic HTML to learn how pages are rendered, then try to make dynamic versions using the language of your choice. Then I'd learn some other web technologies like CSS/Javascript/some Javascript libraries - then I'd start looking at frameworks that build on top of the basics in the language of your choice.
Oh, and some further suggestions - there are web frameworks that are component-based rather than request-based - you may be tempted to learn these as a shortcut to web development since most claim that developing in them is similar to desktop development. I really wouldn't suggest this - as in practice you really do need to know how the web works at a lower level to develop custom components, include things that the framework doesn't do, or to debug them when things go wrong even when using these frameworks. If you jump right in you can get lost/confused pretty quickly.
Microsoft Office 2010 will have an online version. To me this is a watershed moment for Web applications. Office apps are an important litmus test as once you can do Office on the Web (which has been the case with Google Documents for some time but Office has important symbolic meaning) you can do most things that most users care about.
Desktop apps won't die but I definitely think they're going to take more and more of a backseat.
I'd highly suggest you read How Microsoft Lost the API War if you haven't already. One of the things that's particularly amazing about this post is that it was written in 2004.
I honestly believe that with maybe the exception of OSs and browsers, everything will be a web app within the next 10 years. Having said that, let me clarify that by everything I mean everything that a) involves a UI of some kind and b) can be guaranteed secure.
User-interfaced apps will always at some point need a backend, which will at some level require code that is not being interfaced by humans and not being executed via HTTP. I am always reminding myself that things like 'cat' in Unix are actually programs that the OS is calling, not just a function built into the OS. MySQL won't be a web app (as far as I know), but app that powers web apps. We may get to a point where these apps are fully developed via a web interface, written, audited, uploaded and called all via a browser, but at some level its still running behind the scenes.
On that second point, about guaranteed security, I can very easily imagine a large corporation or government office running 95 percent of their daily routines via web apps, but mandating that certain high-security operations be done on a machine directly interfaced with some sort of mainframe, after passing through the cool doors with the retinal scans and what not. Or simply because they can't risk moving certain mission-critical apps over to the web, from fear of it breaking our losing data in the process.
But with those two things aside, I honestly believe everything will be web-based. With the advancement of Web Services and XML in general, it will be possible to not only access and interact with our data, but to plug our custom apps into another app and extend that interaction further and in any environment we want.
It's like that Apple ad "There's an app for that." Except once people get the real picture, it won't be an app written for your iPhone, but a URL. "There's a site for that."
I recommend learning the Lift framework. It's as easy to use as Rails, and it's based on a statically-typed language for the JVM, Scala. From the perspective of your background, Scala should be middling to easy to learn, and you'll be more likely to be comfortable with it than with a dynamic language.
In my opinion, you have a good chance of picking it up quickly, learn a lot about good practices in web development, and even expanding your programming horizons a bit.
In my organisation, we have some very inefficient processes around managing requirements, tracking what was actually delivered on what versions, etc, do subsequent releases break previous functionality, etc - its currently all managed manually. The requirements are spread over several documents and issue trackers, and the implementation details is in code in subversion, Jira, TestLink. I'm trying to put together a system that consolidates the requirements info, so that it is sourced from a single, authoritative source, is accessible via standard interfaces - web services, browsers, etc, and can be automatically validated against. The actual domain knowledge is not that complicated but is highly proprietary and non-standard (i.e., not just customers with addresses, emails, etc), and is relational: customers have certain functionalities, features switched on/off, specific datasources hooked up - all on specific versions. So modelling this should be straightforward.
Can anyone advise the best approach for this - I a certain that I can develop a system from scratch that matches exactly the requirements, in say ruby on rails, grails, or some RAD framework. But I'm having difficulty getting management buy-in, they would feel safer with an off the shelf solution.
Can anyone recommend such a system? Or am I better off building it from scratch, as I feel I am? I'm afraid a bought system would take just as long to deploy, and would not meet our requirements.
Thanks for any advice.
I believe that you are describing two different problems. The first is getting everyone to standardize and the second is selecting a good tool for requirements management. I wouldn't worry so much about the tool as I would the process and the people. Having the best tool in the world won't help if your various project managers don't want to share.
So, my suggestion is to start simple. Grab Redmine or Trac and take on the challenge of getting everyone to standardize. Once you have everyone in the right mindset then you can improve the tools you use for storage.
{disclaimer - mentioning my employer's product}
The brief experiments I made with a commercial tool RequisitePro seemed pretty good me. Allowed one to annotate existing Word docs and create a real-time linked database of the identified requisistes then perform lots of analysis and tracking of them.
Sometimes when I see a commercial product I think "Oh, well nice glossy bits but the fundamentals I could knock up in Perl in a weekend." That's not the case with this stuff. I would certainly look at commercial products in this space and exeperiment with a couple (ReqPro has a free trial, I guess the competition will too) before spending time on my own development.
Thanks a mill for the reply. I will take a look at RequisitePro, at least I'll be following the "Nobody ever got fired for buying IBM" strategy ;) youre right, and I kinda knew it, in these situations, buy is better. It is tempting when I can visualise throwing it together quickly, but theres other tradeoffs and risks with that approach.
Thanks,
Justin
While Requisite Pro enforces a standard and that can certainly help you in your task, I'd certainly second Mark on trying to standardize the input by agreement with personnel and using a more flexible tool like Trac, Redmine (which both have incredibly fast deploy and setup times, especially if you host them from a VM) or even a custom one if you can get the management to endorse your project.
I am looking for a simple system to manage inbound emails from a support mailbox for a group with about 3 support people. I've looked at OTRS which seems to have the features that we need. Unfortunately, so far the UI still looks like a confusing mess.
Are there any good FOSS tools that would meet this need? I've heard murmurings that something called fooogzeeebugzo might have similar features, but it seems quite expensive for such simple needs.
Did you try IssueBurner? It was designed for this purpose. You can forward your mailbox (e.g. support#yourcompany.com) to a IssueBurner group and you can track the inbound mails until they are closed.
Here is a link to their video: http://issueburner.com/a/video
I have to agree, Fogbugz is probably the best out there. I have used both the hosted version and the purchased version which I hosted. It is top-notch.
BugTracker.NET is free, open source, and widely used. It has integration with incoming email. In other words, it will accept an incoming email and turn it into a support ticket.
My company recently started using Mojo Helpdesk: www.mojohelpdesk.com. It's a hosted service, not FOSS, but it's pretty cheap and the interface is slick.
TicketDesk- C# issue tracking system and support system
http://www.codeplex.com/TicketDesk
TicketDesk is efficient and designed to do only one thing, facilitate communications between help desk staff and end users. The overriding design goal is to be as simple and frictionless for both users and help desk staff as is possible.
TicketDesk is an asp.net web application written in C# targeting the .net 3.5 framework. It includes a simple database with support for SQL 2005 Express or SQL Server 2005. It can leverage SQL server for membership and role based security or integrate with windows authentication and Active Directory groups.
RT - Request Tracker handles inbound mail. I'm working to add inbound mail support to TicketDesk, but that might be a little while before that makes it into a release.
FogBugz is great as others have mentioned. I use it for my bug/feature tracking system, but I like to separate out my support ticketing system for my support staff to use. Another tool that has great email integration also is called HelpSpot, they have hosted and non-hosted versions for purchase, depending on your budget. It has a lot of great features, that make the prices worth it. Take the tour and see for yourself.
Scope out SmarterTrack, Help Desk Software from SmarterTools:
We use FogBugz...er, "fooogzeeebugzo"...and while it may be a bit expensive for your needs, it works very well.
bugzilla is more of an issue tracker than a request tracker, but it can be configured to handle email-based status tracking. That said, I think Steven has it- RT is the standard recommendation for this that I've seen.
The on-demand version of Fogbugz is a pretty cheap option for just a few people, and works really well. We did that for a while before moving it inhouse.
I've used fogbugz for over 12 months now and more and more I'm finding one of the most valuable features is the in built email support. I've got an on demand account and I'm finding more and more that I don't even check my email in the morning as all my business correspondence is put straight into fogbugz.
I realize that FOSS is your primary desire and I definitely agree with this. If I were to limit myself to FOSS, I would go with RT 3.8, http://blog.bestpractical.com/2008/07/today-were-rele.html#screenshots
However, if you are willing to entertain commercial solutions and are looking for a Helpdesk-"ish" application. I just deployed WebHelpDesk with great success at my current employment, where I am the primary sysadmin and Corporate IT person. They just released a new version, 9.1.1 and it is very well done. The email integration is superb and beyond what I have seen with most other FOSS and commercial issue/bug trackers, given that it is built to run a Helpdesk and not be a software or source code issue tracker. It runs on Windows and *nix, they have a great demo and you can obtain a 30 day trial installer. I have become a big fan of this software and think it has a reasonable price of $250/year/technician (support person).
If you want more info on how we deployed it, please email me and I'd be happy to discuss it at length. I have no more connection with them than I am a very happy customer.
Thanks for all the tips. For the moment, I am looking heavily at eTicket as it was trivial to setup and seems to be developing nicely at the moment. I may look at RT as well, though.
I'll second the suggestion for RT. See my post here for more thoughts and details on our setup.
From my personal experience I can recommend using Bridgetrak.
It works pretty smooth in our environment and includes rich helpdesk functionality for powerful tickets tracking.
I have a lot of experience using this tools - feel free to ask any questions!
As most of the answers are a little bit outdated, I would definitely recommend OsTicket (http://osticket.com/), a great open source project that offers lots of customization and a user friendly interface.
I have been using it for the last two years and I would rather choose OsTicket than OTRS or RT.