Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!
Software Development Blogs: Programming, Software Testing, Agile Project Management
Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!
This morning we released another nice set of enhancements to Windows Azure. Todayâs new capabilities include:
All of these improvements are now available to use immediately (note that some features are still in preview). Below are more details about them:Scheduler: New Windows Azure Scheduler Service
Iâm excited to announce the preview of our new Windows Azure Scheduler service. The Windows Azure Scheduler service allows you to schedule jobs that invoke HTTP/S endpoints or post messages to a storage queue on any schedule you define. Using the Scheduler, you can create jobs that reliably call services either inside or outside of Windows Azure and run those jobs immediately, on a regular schedule, or set them to run at a future date.
To get started with Scheduler, you first need to sign-up for the preview on the Windows Azure Preview page. Once you enroll in the preview, you can sign in to the Management Portal and start using it.
Creating a Schedule Job
Once you have the Schedule preview enabled on your subscription, you can easily create a new job following a few short steps:
Click New->App Services->Scheduler->Custom Create within the Windows Azure Management Portal:
Choose the Windows Azure Region where you want the jobs to run from, and then select an existing job collection or create a new one to add the job to:
You can then define you job action. In this case, we are going to create an HTTP action that will do a GET request against a web site (you can also use other HTTP verbs as well as HTTPS):
For processing longer requests or enabling a service to be invoked when offline, you may want to post a message to a storage queue rather than standing up and invoking a web service. To post a message to a storage queue just choose Storage Queue as your action then create or select the storage account and queue to send a request to:
Once youâve defined the job to perform, youâll now want to setup the recurrence schedule for it. The recurrence can be as simple as run immediately (useful for testing), at a specific time in the future, or on a recurring schedule:
Once the job is created, the job will be listed in the jobs view:
The jobs view shows a summary status of failures/faults with any job â you can then click the history tab to get even more detailed status (including the HTTP response headers + body for any HTTP based job).
I encourage you to try out the Scheduler â I think youâll find it a really useful way to automate jobs to happen in a reliable way. The following links provide more information on how to use it (as well as how to automate the creation of tasks from the command-line or your own applications):
Iâm excited to announce the preview release of our new Read-Access Geo Redundant Storage (RA-GRS) option. RA-GRS is a major improvement to our Windows Azure Storage Geo Replicated Storage offering. Prior to today, our Geo-Replicated Storage option provided built-in support for automatically replicating your storage data (blobs, queues, tables) from one primary region to another (for example: US East to US West), but access to the secondary location data wasnât provided except in a disaster scenario which necessitated a storage cluster failover.
With todayâs update you can now always have read-access to your secondary storage replica. This enables you to have immediate access to your data in the event of a temporary failure in your primary storage location (and to build-in support within your applications to handle the read fail-over automatically). Todayâs update also enables you to test and track the replication of your data so you can easily verify the replication (which happens asynchronously in the background).
Enabling Read Access
In order to enable RA-GRS support, you will need to sign up to the Read Access Geo Redundant Storage Preview on the Windows Azure Preview page. Once you enroll in the preview, you can sign in to the Management Portal and simply navigate to the Configure tab for your Storage Account to enable it on the Storage Account:
Once enabled you can access your secondary storage endpoint location as myaccountname-secondary.<service>.core.windows.net. You can use the same access keys for the the secondary storage location as the ones for your primary storage endpoint.
For additional details on RA-GRS and examples of how to use it, read the storage blog post entry at http://blogs.msdn.com/b/windowsazurestorage/archive/2013/12/04/introducing-read-access-geo-replicated-storage-ra-grs-for-windows-azure-storage.aspxMonitoring: Enhancements to Monitoring and Diagnostics for Azure services
Todayâs update includes several nice enhancements to our monitoring and diagnostics capabilities of Windows Azure:
Monitoring metrics for Premium SQL Databases
With todayâs update you can now monitor metrics for the CPU and IO activity of Premium SQL databases, and the storage activity of both Premium and Standard databases. You can find more details on MSDN.
Update to Web Site diagnostics
Previously, you could select an existing blob container when configuring the storage location for your web server HTTP logs.
With this release, you now can additionally create a new blob container to push your web server logs to in a single, consistent configuration experience within the Windows Azure Management Portal. You can do so by simply navigating to the configure tab for your web site, clicking on the manage storage button above, and selecting the option to create a new blob container.
Operation history support for Windows Azure Mobile Services
The Operation Logs feature of Windows Azure allows you to audit/log management operations performed on your Windows Azure Services. You can review them be clicking on the Operating Logs tab within the Management Services extension of the Management Portal:
With todayâs update we have added more than 20 new log actions for Windows Azure Mobile Services that will now show up in the operation logs list.Summary
Todayâs release includes a bunch of great features that enable you to build even better cloud solutions. If you donât already have a Windows Azure account, you can sign-up for a free trial and start using all of the above features today. Then visit the Windows Azure Developer Center to learn more about how to build apps with it.
Hope this helps,
P.S. In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at: twitter.com/scottgu
PayPal gives yet another glowing report of an app rewritten in node.js experiencing substantial performance improvements. PayPal rewrote their account overview page, one of the most trafficked apps on the website, which was previously written in King Java.
If any of these items interest you there's a full description of each sponsor below. Please click to read more...
As a tribute to Nelson Mandela, I put together a comprehensive collection of the best Nelson Mandela quotes:
Itâs a pretty extreme collection, organized by key themes like compassion, courage and conviction, and humility.
One of the things that surprised me is how much Mandela was about fulfillment and self-actualization. I knew the freedom and equality focus, as well as the leadership focus, but I hadnât realized how many great words of wisdom and pithy prose he had about making the most of what youâve got, as well as rising above your circumstances.
He really exemplified the idea of âfollow your growth.â
So whether youâre building your building your knowledge base for personal development or leadership insights, Nelson Mandelaâs quotes should be a great fit for your collection.
Here are a few of my favorite Nelson Mandela quotes:
Here is the my full set of Nelson Mandela quotes.
Please share them with anybody you think will benefit or needs a pick me up or some little lift for their day.
This is an article published last year, but as today is Grace Hopper's birthday I thought it would be a good time to share again an amazing talk from this amazing woman.
Computing pioneer Grace Hopper, inventor of the compiler, searched for a concrete way to create an intuitive understanding of just how fast is a nanosecond, a billionth of a second, which was the speed of their new computer circuits. As an illustration she settled on the length of wire that is as long as light can travel in one nanosecond. The length is a very portable 11.8 inches. A microseconds worth of wire is a still portable, but a much bulkier 984 feet. In one millisecond light travels 186 miles, which only Hercules could carry. In today's terms, at a 3.06 GHz clock speed, there's .33 nanoseconds between ticks, or 3.73 inches of light travel.
Understanding the profligate ways of programmers, she suggests that every programmer wear a necklace of a microseconds worth of wire so they know what they are wasting when they throw away microseconds. And if a General is busting your chops about satellite messages taking too long to send, you can bust out your piece of wire and explain there's a lot of nanoseconds between here and there.
Here's a short, witty, and wise video of her famous nanosecond demonstration. An amazing lady, great innovator, an engaging speaker, and an inspiring teacher.Related Articles
If you code in PHP have you ever wondered about moving to Facebook's HipHop JIT Virtual Machine for PHP? With HipHop Facebook achieved over a 9x increase in web request throughput and over a 5x reduction in memory consumption compared to Zend PHP 5.2 engine + APC.
But will HipHop really work for you? Is it really drop-in compatible? Is it really as fast as they say?
To answer questions like this nothing beats a good experience report and here's a great one: Adventures in Configuring and Running Facebook's HipHopVM (hhvm) JIT Compiler for PHP by Yermo Lamers.
Yermo selected PHP to implement a number of content web sites. He took an interesting approach, he created a forms, views, validation, and business logic description language to remove the drudgery of creating the same code over and over again for each page. Having done this in Perl I think it's a great a approach. The problem is it can be slow. PHP's slow string handling makes dynamically evaluating a description template for each page very slow. Up to 5 seconds.
Rather than rewrite in C++ Yermo tried HipHop. The results were impressive:
In Motley Fool Stock Advisor, David Gardner writes about a idea from 1970 that changed the business culture at large:
âIn 1970, Noble Prize-winning economist Milton Friedman wrote a famous article for The New York Times Magazine, decrying the idea that businesses should have any sense of social responsibility. Their responsibility, he said, is to increase shareholder wealth to the greatest extent possible â pure and simple. It was an incredibly influential idea that became common wisdom and is in large part responsible for much of the business culture we see today. The problem is it was completely and transparently wrong.â
David then follows up with words of wisdom from Jack Welch, Former General Electric CEO.
Hereâs what Jack said in an interview back in 2009:
âOn the face of it, shareholder value is the dumbest idea in the world. Shareholder value is a result, not a strategy âŠ Your main constituencies are your employees, your customers, and your products. Managers and investors should not set share price increase as their overarching goal.â
Itâs a great reminder to set overarching goals that matter.
Then great results are a by-product.
Hey, it's HighScalability time:
Test your sense of scale. Is this image of something microscopic or macroscopic? Find out.
Don't miss all that the Internet has to say on Scalability, click below and become eventually consistent with all scalability knowledge...
Jeremy Edberg gave a talk on Scaling Reddit from 1 Million to 1 Billion–Pitfalls and Lessons and one of the issues they had was that they:
Did not account for increased latency after moving to EC2. In the datacenter they had submillisecond access between machines so it was possible to make a 1000 calls to memache for one page load. Not so on EC2. Memcache access times increased 10x to a millisecond which made their old approach unusable. Fix was to batch calls to memcache so a large number of gets are in one request.
Dave Pacheco had an interesting question about batching requests and its impact on latency:
I was confused about the memcached problem after moving to the cloud. I understand why network latency may have gone from submillisecond to milliseconds, but how could you improve latency by batching requests? Shouldn't that improve efficiency, not latency, at the possible expense of latency (since some requests will wait on the client as they get batched)?
Jeremy cleared it up by saying:
The latency didn't get better, but what happened is that instead of having to make a lot of calls to memcache it was just one (well, just a few), so while that one took longer, the total time was much less.
But Dave Rosenthal created a great graphic showing how batching can in fact decrease total system latency:
Bazaarvoice is a company that people interact with on a regular basis but have probably never heard of. If you read customer reviews on sites like bestbuy.com, nike.com, or walmart.com, you are using Bazaarvoice services. These sites, along with thousands of others, rely on Bazaarvoice to supply the software and technology to collect and display user conversations about products and services. All of this means that Bazaarvoice processes a lot of sentiment data on most of the products we all use daily.Bazaarvoice helps our clients make better products by using a combination of machine learning and natural language processing to extract useful information and user sentiments from the millions of free-text reviews that go through our platform. This data gets boiled down into reports that clients can use to improve their products and services. We are also starting to look at how to show personalized sortings of reviews that speak to what we think customers care about the most. A mother browsing for cars, for example, may prefer to read reviews about safety features as compared to a 20-something male, who might want to know about the car’s performance. As more companies use Bazaarvoice technology, consumers become more informed and make better buying decisions.
Here's how it works...
I've been working with a number of teams recently, helping them to diagram their software systems using the C4 approach that is described in my Software Architecture for Developers book. To summarise, it's a way to visualise the static structure of a software system using a small number of simple diagrams as follows:
In the real-world, software systems never live in isolation and it's often useful to understand how all of the various software systems fit together within the bounds of an enterprise. To do this, I'll simply add another diagram that sits on top of the C4 diagrams, to show the enterprise context from an IT perspective. This usually includes:
Essentially this becomes a high-level map of the software systems at the enterprise level, with a C4 drill-down for each software system of interest. Caveat time. I do appreciate that enterprise architecture isn't simply about technology but, in my experience, many organisations don't have an enterprise architecture view of their IT landscape. In fact, it shocks me how often I come across organisations of all sizes that lack such a holistic view, especially considering IT is usually a key part of the way they implement business processes and service customers. Sketching out the enterprise context from a technology perspective at least provides a way to think outside of the typical silos that form around IT systems.
Iâve put together a comprehensive list of the best personal development gifts:
I wanted to put together a profound catalog of the best personal development programs that the world has ever known. At Microsoft, Iâve been lucky enough to have amazing mentors over the years, and they have always shared with me the programs that theyâve used to really transform their lives.
Success often seems like magic until you find out behind the scenes the price that people pay.
Iâve used many personal development programs over the years. So many of them ended up being heavy on hype, but light on insight. Iâve learned to seek out the programs that have profound knowledge that you can use to grow your capabilities and really change your game. Iâve written about 3 personal development programs that give you an edge in work and life before, so this time, I wanted to go above and beyond, and really share the full scope of the most powerful personal development programs on the planet.The Power of Programs Goes Well Beyond the Power of Books
While I was putting together The Greatest Personal Development Gifts Ever, I was a little sad to see that some of âthe great onesâ are no longer with us. Even sadder was when I looked for personal development programs by people that I thought would have created some, it turned out, they didnât actually create any. It reminded me of the value of information products that goes well beyond books. There is something to be said for a âprogramâ of sorts where you give somebody a self-paced package to work through, to practice skills and turn insight into action.
Itâs also a great reminder of how unique some people are, and how unique their gifts truly are.
And, itâs also a reminder how valuable âevergreenâ life wisdom is.Donât Take Ancient Wisdom for Granted. Weâre Not âEntitledâ To It.
The other thing I learned while trying to put together The Greatest Personal Development Gifts Ever is that itâs not always so easy to give somebody a boxed set of personal development multi-media gifts. In some cases, some things just werenât available anymore, unless somebody on eBay wants to part with their old cassette tapes Itâs a reminder that as our form factors change, itâs actually possible to âloseâ some ancient or timeless wisdom. I didnât realize how easy this is, until I was trying to put my hands on some old classics that I knew would help some people.Have a System for Personal Transformation that Matches Your âStyleâ
The other big thing I reflected on while putting together The Greatest Personal Development Gifts Ever is how important it is to have a system for personal transformation. And, while itâs true that all roads lead to the same town, some paths are way better than others. But, the real key, as always, is that you have to find the system that works for you. For me, I prefer hard-core or extreme insight and action. If Iâm going to invest, then I want the most powerful lessons and the most rapid results presented in a way where I can quickly test my results, make progress, get feedback, and change accordingly.
For others, they need a softer approach. They need their journey to be more inspirational, or more emotional. I take this into account when I give personal development gifts for the holidays. I also took this into consideration while putting together The Greatest Personal Development Gifts Ever. For example, if the person you are getting the gift for would prefer a âharderâ style of personal development, then Tony Robbins is a great choice. If, on the other hand, you know the person would prefer a âsofterâ style, then Brian Tracy or Jack Canfield would be great choices.Sometimes We Need to Dig a Little Deeper to Get Unstuck
I also included a collection of self-hypnosis programs in my collection of The Greatest Personal Development Gifts Ever. Hereâs why: Itâs easy for people to get stuck. Super easy. Itâs easy to fall into a trap of learned helplessness. Itâs easy to fall into a pit of despair when you are down and out. It can be hard to bounce back. You can think of self-hypnosis as a guided relaxation, but the reason I included it is because sometimes we are our own worst enemy. Whether itâs our negative self-talk, limiting beliefs, or subconscious habits, we work against ourselves. Self-hypnosis can help you get unstock by helping you refocus on who you want to be and what experiences you want to create, and get the power of your mind back on your side.
I hope my catalog of The Greatest Personal Development Gifts Ever helps you save a lot of time, avoid wasting money, and find the personal development programs that actually work, whether youâre looking to find gifts for someone else, or to add to your own personal development collection.
This is a guest post by Stephen Kell on Value Realization and how it can help IT organizations stay relevant through changing times, as well as become a strategic partner within the organization. For background, Stephen is a Microsoft Enterprise Architect with extensive experience in Telecoms, Manufacturing, Financial Services and government sectors. Over the course of his career, he has played various roles including CTO, IT Director, Enterprise Architect, and Principal Consultant.
Without further ado, hereâs Stephen on lessons learned in Value Realization âŠIT: Valued Partner or Costly Infrastructure Provider?
During my time working within IT, I have found that business value is something that project teams worry about at the beginning of the project in order to justify initial investment but then is often forgotten as the project goes into the build and implementation phases. During these phases the emphasis is placed on the budget and timescales of the project. Scope changes are made to fit in with the budget and timescales without any thought as to the effect on the business value delivered. âOn-time and on-budgetâ is the project managersâ mantra whereas it should be âon-time, on-budget and business value deliveredâ.A Lack of Business Value Results in Side-Lined IT
This lack of emphasis on business value delivered gives the business the view that IT is a cost center which provides an essential service rather than seeing IT as a valued business partner. This view is reflected in the position of IT departments under the CFO rather than as a valued member of the board reporting into the CEO or even as part of a business strategy group. The way technical people tend to communicate does not help. Often there is a long explanation of the technical merits of a solution followed by âit will save the user 2 hours per dayâ. This is where value models come in which allow the conversation to have some structure in order to attract and hold the attention of the business community.
IT is so important to the business but they often get frustrated with the IT departmentâs perceived inability to deliver and thus set up their own Business Unit IT departments, side-lining the IT department to acting as the provider of infrastructure only. This trend was highlighted in the recent MIT CISR 2013 Annual Research Forum in Boston.Know What the Business Values, Measures, and Reports to Stay Relevant
In order to be able to communicate the value of IT to the business, the CIO and his team need to know what the business values and how these are measured and reported:
How many people in the IT department know and understand the above value dimensions? Most of this information is readily available internally (and often externally). Taking time to understand what the organization values will mean that the IT department becomes much more relevant to the business and the business will start to listen and value the insights that the CIO and his team can bring, enabling them to be at the core of the decision making process and not side-lined.
By using value models the CIO can bring a level of maturity to the value discussion which might well be missing from the business. The CFO will have some financial models but these will not necessarily cover all of the dimensions of value. This can also be a challenge for the CIO; if there are not mature value models within the business then it is difficult to articulate the value of IT.Itâs Difficult to Model and Measure Value
Having said that, it is difficult to model and measure value. Other blog entries on this subject have covered the Observable, Measurable, Quantifiable and Financial categorization of value so I wonât go into detail here but would point out that financial models do not cover all the goals and drivers of certain organizations. Public sector organizations and charities are about delivering social value to the countries/communities that they serve and therefore the Social Impact has to be taken into account as well as the financial aspects and indeed the Social Impact can be much more important than the financial measures. Even commercial companies are now putting emphasis on value other than pure financial such as environmental impact, or helping the unemployed back into work.
Whereas there are some fairly mature models for modeling the financial side of a business, there are very few models for modeling the Social Impact of an organization. I have discussed this in more detail in the following blog post:
So in conclusion, business value to the organization is a very important concept for IT leadership teams to get their head around if they want to play a strategic role within the organization. Without a good understanding of business value there is the risk that they will be relegated to the side-lines as the provider of the infrastructure whilst the business units set up their own IT departments. Researching the different value models and frameworks should be a priority for IT leaders who have not already done so. Understanding what the business values and delivering to increase that business value keeps the IT department at the heart of the organization as a valued partner.You Might Also Like
The story of driving the golden spike to symbolize the completion of the transcontinental railroad is famous in the US. What is not so well known is the story of how it also foreshadowed changes to come as an early version of both the Internet and the Internet of Things. But that was 1869, how can that possibly be?Telegraph as Internet