James Varga is CEO of miiCard (My Internet Identity Card), a service that lets you prove your real identity purely online and in just a few minutes. James founded miiCard in 2011 and is now focused on bringing trust to the internet and giving us back control of our online identities. miiCard is a revolutionary "digital passport" service that enables users to prove they are who they say they are for the first time purely online with no offline processing to the same level of authority as a driving license or passport would do offline. James can be contacted on email@example.com and found on twitter @jamesvarga
The future of the Internet is here and it is made up of services hosted on services…and fuelled by services. The industry has been building for Service-Oriented Architecture (SOA) for years but only now are we seeing the concept come of age. Services are being weaved into everything we do and are changing the world we live in, providing a unique opportunity for the modern start-up.
It’s with the emergence of true web services that we are now seeing a new paradigm form. In this future Internet it is all about services, functionality, the internet of things and the data it produces. This movement is creating an opportunity unlike any experienced before – an opportunity to create unique global services that do one thing – but do it well.
miiCard is an Identity as a Service (IDaaS) provider that proves your real identity, that you are who you say you are, purely online and in just minutes. We are competing against everything from traditional offline processing, big data providers and public sector organisations – and we are winning. As a small team with a global proposition we knew that we had to do something different if we were going to be successful in an industry that was traditionally owned by large corporates. This is why we are using Windows Azure to power miiCard, increase our competitiveness and offer a unique service not only to consumers but in an industry that demands performance, scale and resilience.
Windows Azure can be described primarily as a Platform as a Service (PaaS) and therefore requires you to take a fresh approach to designing an application. It’s not just enough to copy your relational database and port it over to the 'cloud' - you have to design for the cloud.
In building a IDaaS offering in miiCard we knew we had to take a new approach to supporting the demands of the Internet. While platform agnostic it is Microsoft’s take on cloud computing that makes this possible and has changed the way we build software. Long gone are the headaches of system administrators, load balancing, failover, resource planning and scaling. We just build it and it works!
But it has meant changing our views on many of the traditional approaches to building software. Gone are the relational tables, large storage arrays, performance bottlenecks and load balancers. It is an internal mash up of services, processes, partitioned tables and distributed content.
miiCard utilises the purest elements of Windows Azure to deliver our service. We store our data in Azure Storage with a focus on large-scale partitioned tables. Traditional complex application structures have now been broken down into discrete web and worker roles – processing data and information requests from a range of internal and external service requests. All of this is connected through the Azure Service Bus and distributed regionally where required through the Content Delivery Network and cached as and when required. In essence it’s a ‘loosely-coupled’ set of services that are distributed globally to provide a new set of services based on the sum of its parts.
To answer this let me describe what we have. As an online identity service we currently support seven countries and expect to extend this to ten in the next year. This is a fantastic level of coverage in an industry that struggles to support a single country. By leveraging a range of external services and data sources we gain wide geographical coverage but more critically our chosen infrastructure, Windows Azure, provides miiCard with a unique set of core capabilities.
miiCard is a scalable, always-on, identity service for both consumers and businesses that scales linearly in capacity and cost in direct relation to market demand, take up and usage. As a service it’s distributed regionally when and where it is needed within a few minutes to support 10, 10k or 10m users as required. It is a service that provides the scale, resiliency and flexibility that means we can compete in an environment dominated by large system integrators and technology companies.
All of this with a small team of developers focusing on building great functionality, solving business problems and creating strong user experiences. As a start-up it’s all about focus, doing one thing and doing it well. Gone are the distractions and everything non-core or critical to our success. We have no system administrators, no servers, no maintenance or capital expenditure on infrastructure. Not only are we are free to do what we are good at, build a great service, but we get to leverage what Windows Azure is good at for low cost of entry, scaling and an extremely fast route to market.
For years we have been building applications based on Service-Oriented Architecture (SOA), a methodology for designing and developing software in the form of interoperable services with well-defined, reusable, business functionalities. It is this services-based approach that we are now seeing transcend into both infrastructure and computing solutions and that is creating a catalyst, a spark, that will ignite life into a new breed of start-up. miiCard is an example of this new breed of start-up, a pure service based approach to solving one of biggest challenges on the Internet – how to create trust online.
I would normally caveat that it may not be for everyone, and while I could have said this a couple years ago, I just don’t think it’s true anymore. This is the future of the Internet and regardless of what you are building the concepts and resources of Windows Azure, of Platform as a Service, still applies.
And it’s not just a platform for infrastructure – it’s a platform for innovation. Removing the traditional barriers to software development allows us to focus on what counts - great experiences, benefits and business gains.
Great post James.
I'm assuming that although you are obviously happy with your service you have built on Azure I'm assuming that the off boarding process will be also be simple, so that as cloud offerings mature you are not dependant on an Azure platform and can switch services?
It would be interesting to know what interoperability considerations you also made to ensure that you can build additional services on this or other cloud platforms as you expand the Miicard offering.
I'm not sure in a fairly modern approach whether onboarding and/or offboarding needs to be much of an issue. If an application is built with a distinct Data Abstraction Layer then portability should be fairly easy. In our case we made sure we had this in place from the beginning so that we had the portability we needed.
We have tried to maintain the same services based (SOA) approach that we have taken with the whole project (a service based on services, hosted on services, powered by services) even internally. This provides a huge amount of flexibility even within the architecture itself.
As with any environment however the more you optimise for it the more restricted you become. This doesn't make it impossible but does mean you may need to re-engineer for other specific capabilities.
Most of the time - with this sort of approach - I don't think you really need to worry about it these days.