Micro is a globally distributed technology company on a mission to become the simplest way to build microservices. We're doing this with a developer first focus.

The Challenge

Change is afoot. We're quickly moving towards a world driven entirely by technology. Every organisation at the heart of it's business must now become a technology company. Maintaining a competitive edge in this day and age is becoming increasingly difficult. An organisation's ability to execute can grind to a halt as they try to scale with inefficient platforms, processes and structure. Decade old technology companies have undergone these scaling pains and most have used the same methods to overcome those challenges.

Something has to change. We all need help adapting in this new world. It's time to bring the competitive advantages of the most successful technology companies to the rest of the world.

So let's talk about their secrets, their competitive edge. Microservices.

The Philosophy

Microservices is a software design pattern used to breakdown large monolithic applications into smaller manageable independent services which communicate over networks via language agnostic protocols, each focusing on doing one thing well.

The concept of microservices is not new, this is the reimagining of service orientied architecture but with an approach more holistically aligned with unix processes and pipes.

The philosophy of microservices:

  • Services are small - fine-grained as a singular business purpose similar to unix philosophy of "Do one thing and do it well"

  • The organization culture should embrace automation of deployment and testing. This eases the burden on management and operations

  • The culture and design principles should embrace failure and faults, similar to anti-fragile systems.

Industry definitions of microservices:

Loosely coupled service oriented architecture with a bounded context

Adrian Cockcroft

An approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms

Martin Fowler

The Strategy

As organisations scale both technology and head count it becomes much more difficult to manage monolithic code bases. We all became accustomed to the Twitter fail whale for a period of time as they attempted to scale their user base and product feature set with a monolithic system.

Microservices enabled Twitter to decompose their application into smaller services that could be managed separately by many different teams.

Each team being responsible for a business function composed of many microservices which can be deployed independently from other teams.

We've seen through first hand experience that microservice systems enable faster development cycles, improved productivity and superior scalable systems.

Let's talk about some of the benefits:

  • 1. Easier to scale development - teams organise around different business requirements and manage their own services.
  • 2. Easier to understand - microservices are much smaller, usually 1000 LOC or less.
  • 3. Easier to deploy new versions of services frequently - services can be deployed, scaled and managed independently.
  • 4. Improved fault tolerance and isolation - separation of concerns minimises the impact of issues in one service from another.
  • 5. Improved speed of execution - teams deliver on business requirements faster by developing, deploying and managing microservices independently.
  • 6. Reusable services and rapid prototyping - the unix philosophy ingrained in microservices allow you to reuse existing services and build entirely new functionality on top much quicker.

The Technology

Micro is the simplest way to build microservices. We provide a runtime and framework for microservices development. Enabling innovation in modern software driven enterprises. We plan to be the defacto standard for microservices and will look to empower companies to leverage this technology for their own businesses. From early stage prototyping all the way through to large scale production deployments.

We've seen a fundamental shift coming in the industry. Moore's law is in effect and we're gaining access to more and more compute power everyday. Yet we're not able to fully realise this new capacity. Existing tools and development practices do not scale in this new era.

Developers are not being provided the tools to move from monolithic code bases to more efficient design patterns. Most companies inevitably reach a point of diminishing returns with monolithic designs and have to undergo massive R&D reengineering efforts. Netfix, Twitter, Gilt and Hailo are all prime examples of this. All of them ended up building their own microservice platforms.

The Vision

Our vision is to provide the fundamental building blocks for microservices so anyone can develop and adopt them with ease. We want to empower not only the developers of the world today but also unlock the next billion by providing a vastly simpler experience for service development.

Software development is a largely exclusive demographic with only 24m of us in the world today. What if we could change this. What if we could make it so that anyone could build services as easily as they can write text messages, make phone calls or post to instagram.

Reach out if you want to learn more.

Asim Aslam