Updates from February, 2013 Toggle Comment Threads | Keyboard Shortcuts

  • Richard 9:34 pm on February 15, 2013 Permalink |  

    Welcome to Muon 

    Untitled

    There has been a gap in the market for a while now for a simple, open source wiki based on Windows Azure Storage (I think).

    I decided to create a Wiki using Azure Websites, and Blob Storage. My aim was to build something that gives you good scalability and maximum value for money on the Azure platform (i.e. you can run it for next to no cost).

    Compute is usually the more expensive part of a cloud bill, so Muon is designed to work using the minimum amount of website resource. Instead of serving pages from the web server, content is delivered directly out of blob storage. The website is only used to authenticate the user, and create a shared access signature, giving the user permission to read and write data to storage. The server-side code is node.js, so a free website should handle quite a few users.

    2Untitled

    You can allow public read/write access to Muon if you want, or choose to restrict access down to individuals. Twitter is used for authentication.

    Untitled

    Muon uses Markdown as the text syntax, and the Ace editor. It’s nice and quick to use, without too much complexity.

    1Untitled

    All revisions are kept (as blob snapshots) so you get a complete version history.

    You can install Muon in an Azure Website using git:

    https://github.com/richorama/muon

    You can try out a read only wiki here:

    http://muon.azurewebsites.net

     
    • Marcel 9:41 pm on February 15, 2013 Permalink | Log in to Reply

      Nice job Richard ! For documentation purposes we are looking for a wiki and because screwturn wiki stopped developing and has some annoying issues, I’ll throw this one into the group.

      • Richard 9:43 pm on February 15, 2013 Permalink | Log in to Reply

        Cool! Let me know what you think. This is a very early version, so I have plenty of features planned i.e. (offline access, image upload etc…)

    • Mark 4:34 pm on February 26, 2013 Permalink | Log in to Reply

      Why is the title of this article on the Azure website, “Welcom to Muon: The wiki build on Windows Azure” when that isn’t the title of the article on this page? Welcome is misspelled and build is substituted for built. Not a big deal but I do QA so stuff like that bothers me. 😉

      • Richard 5:11 pm on February 26, 2013 Permalink | Log in to Reply

        Good question. Unfortunately I don’t control the content of the Windows Azure website!

    • Types of auto insurance companies 10:34 pm on May 27, 2013 Permalink | Log in to Reply

      Hi there, its fastidious paragraph on the topic of media print, we
      all be aware of media is a great source of information.

    • http://occupedia.nl/index.php/Gebruiker:CodyAguir 3:31 am on May 28, 2013 Permalink | Log in to Reply

      Please let me know if you’re looking for a article author for your site. You have some really great posts and I think I would be a good asset. If you ever want to take some of the load off, I’d
      really like to write some material for your blog in exchange for a link back to mine.
      Please send me an email if interested. Kudos!

  • Richard 11:25 am on January 30, 2013 Permalink |  

    Running node.js tests when deploying to Azure Websites 

    By default, Windows Azure Websites does not run your unit tests when you push a new deployment. However, it’s quite straight forward to set this up.

    If you haven’t already done so, install Azure Command-Line tools for Mac and Linux (they work just fine on Windows too).

    > npm install -g azure-cli

    Now navigate to your node app, and run a command which will create a custom deployment script for you:

    > azure site deploymentscript --node

    This will add the following files to your directory:

    deploy.cmd
    iisnode.yml
    web.config

    The deploy.cmd file is executed every time you push your repository up to Azure. You can customise this to include some testing, here is a snippet with NPM TEST added (in bold).

    ...
    IF NOT DEFINED KUDU_SYNC_COMMAND (
     :: Install kudu sync
     echo Installing Kudu Sync
     call npm install kudusync -g --silent
     IF !ERRORLEVEL! NEQ 0 goto error
    :: Locally just running "kuduSync" would also work
     SET KUDU_SYNC_COMMAND=node "%appdata%\npm\node_modules\kuduSync\bin\kuduSync"
    )
    npm test :: THIS LINE HAS BEEN ADDED TO RUN THE TESTS
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    :: Deployment
    :: ----------
    ...

    You’ll need to add these files to your repository (assuming you’re using git) and push the changes up.

    > git add .
    > git commit -am "adding custom deployment script"
    > git push azure master

    Your tests will now run, and the deployment will fail if the tests fail! The error message can be viewed by expanding the detail of the deployment.

    Untitled

     
  • Richard 12:42 pm on May 21, 2012 Permalink |  

    Introducing the Azure Plugin Library 

    tl;dr

    An open source library of plugins installed with a command line tool (a package manager). Once a plugin is installed, it can be easily packaged with an Azure deployment to install application dependencies on a Web or Worker role.

    http://richorama.github.com/AzurePluginLibrary/

    Watch a screen cast demonstration

    Background

    One of the key strengths of Windows Azure, is the Platform as a Service offering. Why would you want to patch an operating system, manage the deployment of your application, and check the health of your infrastructure? It’s better left to someone else (Microsoft) so you can focus on your application. However, the pitfall is when your application depends on something extra being installed or configured on the machine.

    There are a few ways for installing 3rd party components on an Azure instance. This blog post has a good summary of the options.

    In summary, start-up tasks are the best mechanism available for installing dependencies, which is fine for something straight forward, but for more complicated components (like MongoDB for example) there is quite a bit of work involved in scripting out the installation. Projects like AzureRunMe help with this, but ideally you want something that just works, without you having to write a lot of script.

    Azure Plugin Library

    The Azure Plugin Library exploits an undocumented feature of the Azure SDK, whereby modules referenced in the Service Definition file are bundled with your application in a package, which is uploaded and deployed to the Azure instances. The SDK uses this mechanism to set up Remote Desktop, Connect, WebDeploy and Diagnostics, however, additional plugins can be added by copying the files to the “Windows Azure SDK\v1.6\bin\plugins” folder.

    The Azure Plugin Library offers a range of additional plugins which you can download, and include with your Azure deployment. The library is hosted on GitHub, and is open source (accepting contributions).

    http://richorama.github.com/AzurePluginLibrary/

    Installing a plugin using APM

    The AzurePluginManager (APM) is a command line utility to discover, install, update and remove plugins:

    apm list                   (displays a list of plugins available in the library)
    apm installed              (displays a list of installed plugins)
    apm install [PluginName]   (installs the specified plugin)
    apm remove [PluginName]    (removes the specified plugin)
    apm update [PluginName]    (updated the specified plugin)
    apm update                 (updates all plugins)

    Download options for APM.

    What plugins are available?

    At launch only a few plugins are available but this list is set to grow. Community contributions will be accepted, so please fork the repository and issue a pull request with your own ideas.

    How do I include a plugin in my Azure package?

    Installed plugins will be included in your Azure package if you add them as an Import in your ServiceDefinition.csdef file:

    <ServiceDefinition>
      <WorkerRole>
        <Imports>
          <Import moduleName="[PluginName]" />
        </Imports>
      </WorkerRole>
    </ServiceDefinition>

    How do I add my own plugin to the library?

    The library has some instructions on how to do this.

     
    • vbmagic 1:09 pm on May 24, 2012 Permalink | Log in to Reply

      Reblogged this on VB Magic and commented:
      A great open source library of plug-in’s that should hopefully make life easier in Azure to make use of third party software or currently unsupported components like Classic ASP.

    • jmayrbaeurl 9:33 am on May 27, 2012 Permalink | Log in to Reply

      Really cool stuff and I’ll try to develop my first own plugin asap.

c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel