Azure Development Services
We help teams design and build secure and scalable solutions with Microsoft Azure.
We advise on cloud architecture and Azure resource selection.
We architect and develop cloud applications.
Why we love Azure
The Microsoft Azure cloud offers flexibility that would have been difficult to imagine just a few years ago. Teams can deploy solutions in a fraction of the time it would take with an on-premises approach.
Azure supports the rapid deployment of simple, low-cost code and infrastructure. More advanced solutions allow massive amounts of data to be captured, analysed and shared reliably and efficiently.
The hardest (but most exciting) part of working with Azure is navigating the wealth of options.
How we help teams build Azure solutions
We design cost-effective Azure solutions that work with on-premises systems.
Legacy application migration
Advice and development services to help migrate legacy platforms to Azure. Deliver more reliable and better connected services.
Azure application development services
New application design and development. Rapid tactical projects and critical business systems.
Azure security review
Guidance and advice to help teams build secure applications and infrastructure once deployed to Azure.
What is the use of Microsoft Azure?
The Azure cloud is a collection of services that allow scalable, performant and reliable applications. Azure is a great choice for migrating legacy business applications and creating new solutions in the cloud. Deliver new features that are difficult or impossible to achieve with on-premises infrastructure.
Build modern web applications
Azure is a great choice for hosting websites and web applications. Azure App Service provides native .NET hosting and fully supports Java, PHP, Python and other languages.
Create rich user experiences with single-page applications. Azure can host sites built with React, Angular or Vue. Storage services can host the files for the user interface, with serverless compute hosting their backend API services. CDN services ensure the best possible user experience with a fast and reliable global edge network.
Reverse proxies allow for advanced scenarios. These support high-performance websites, additional layers of security, improved reliability and more.
Deliver innovative data services
A full range of data services is available, from structured relational databases to massively scaleable NoSQL platforms.
Azure SQL Database will be familiar to anyone that has worked with on-premises SQL Server. It is a great choice when migrating legacy on-premises applications to the cloud.
Near real-time data analytics is possible with platforms such as Cosmos DB. These NoSQL-style of databases support incredible scale and performance. These services can form the basis for enriching customer journeys, advanced analytics and machine learning.
Other tools allow data collection and analysis at scale. Azure Data Factory is an integration service with a workflow model. Stream Analytics processes data flows in real-time to uncover insights in the stream.
Migrate legacy applications to the cloud
Legacy business applications can be expensive to maintain and unreliable to use. It can be complex to add new features or integrate new platforms.
Migration is a chance to redesign the architecture and modernise systems. Migration can create a solid foundation for future development.
Many Azure services are similar to those already used by on-premises applications. These services allow a phased approach to migration. For example, Azure Relay connects applications in the cloud with on-premises services to create a hybrid architecture. Even decades-old on-prem WCF services can integrate with new code developed in the most recent .NET versions and hosted in Azure.
How to design and build a great Azure solution
The Microsoft Azure Well-Architected Framework has five pillars for delivering a high-quality solution.
Cloud workloads should maximise each of the five areas up to the level that delivers the required business value but not so far beyond that costs or timescales exceed requirements.
A key difference between cloud and on-premises development is to expect failure. Infrastructure and applications should anticipate problems. Architects should plan how to mitigate the impact of different points of failure. Monitoring helps detect issues and take action.
Getting started with Azure is possible with minimal cost. Some services are free. However, spending large amounts of money is definitely possible. Different methods of implementing very similar features can have widely varying charges.
Choose the right infrastructure and understand the implications of early design choices. Make informed trade-offs in design.
Monitor ongoing costs after going live.
Read more about managing Azure cloud costs.
Efficient and reliable processes are essential to successful projects. Changes to cloud resources must be reliable. Automate your code deployments. Good dev-ops processes help to deliver good governance.
Monitor application health to respond to issues and help resolve them quickly.
Cloud-based solutions can react to sudden and difficult to predict demand. On-premises solutions often require impossible planning choices. Cloud infrastructure can scale up to meet demand and scale back down when no longer needed.
Choosing good design patterns at an early stage will help keep options open. There are usually trade-offs to make between performance, cost and operational viability.
Building secure cloud solutions is critical. At an early design stage, consider different threats to help avoid projects hitting a roadblock towards the end of the development phase. Careful choices help to reduce the chance of attacks once the solution is live.
Often, the perception is that cloud solutions are more vulnerable to attack than on-premises deployments. Azure provides many options to protect the confidentiality, integrity and availability of solutions.
In addition to these five pillars, Microsoft has added sustainability guidance to the framework. Efficiency in the cloud is about minimising the resource costs, the carbon emissions and the energy used.
Microsoft provides an emissions impact dashboard built with Power BI. The dashboard estimates the energy efficiency and carbon emissions. It also gives estimated savings from migrating on-premises workloads to the Azure cloud.
Navigating Azure resources
The Azure cloud offers hundreds of services and resources, some with very similar functions. Some resources map closely with traditional on-premises options; others are unique to Azure.
Below is a list of some of the services and resources we find most useful.
Azure's compute services provide the foundation for applications to run. These applications might be API services, web applications or small processing elements of a complete system.
Selecting an appropriate type of compute service is often a compromise between responsibility and control. For example, virtual machines offer extensive control but require relatively high levels of admin. Azure Functions are more restrictive but can be easier to maintain and are often to scale. Azure App Service offers scaleable web apps and API endpoints, supports Windows and Linux hosts, and runs code developed in different languages (including C#, Java, Python and PHP).
Data storage options are extensive and flexible. Azure Blob Storage can store very high volumes of unstructured data.
Schema-less No-SQL style databases can store unstructured and semi-structured data. Services such as Cosmos DB provide massive scalability.
Fully managed, relational database platforms combine familiar features with high performance. Azure SQL Database has advantages that are difficult to achieve with on-premises SQL Server. Transparent encryption and reliable backups are the defaults. High performance and high availability are easy to set up.
Artificial intelligence and machine learning
Azure has a wide range of innovative services that allow advanced AI and ML solutions.
Cognitive services help us understand the world around us. Services include speech recognition, natural language analysis, knowledge base creation, anomaly detection and personalisation.
Machine learning services help prepare your data for AI, train models and deploy them into production. ML models can be used to uncover interesting insights from your data and react in real-time. Models can predict behaviour and suggest the most likely next events and ultimate outcomes.
Azure Applied AI helps teams improve productivity, detect quality issues and solve problems that humans find difficult to reason about.
User identity, authentication and authorisation
User authentication and identity solutions include Azure Active Directory. Azure AD allows restricting applications to known users (or by using AD groups, a set of users) within an organisation. User permissions can allow or deny access to different features within an application. For example, only users with a specific role might have access to certain types of records. Another set of users might have permission to modify the data.
Azure AD B2C allows end users to authenticate with their social media or work logins. Azure applications can also use third-party services for authentication. For example, AWS Cognito and Auth0.
Most Azure services include their own security features. In addition, there are dedicated security services. These services work at different layers, allowing the creation of an in-depth defence strategy. Some services act in response to events; others take a more proactive approach.
Secure cloud applications need a holistic approach that accounts for diverse threats. Security must be part of the complete software lifecycle, from early designs to going live. Security should be an integral part of the software development process. The build and deployment stages are also critical elements to secure.
Many Azure resources support Private Endpoints that can reduce the attack surface. Azure Firewall and Application Gateway offer active security and threat detection. These work at various layers of the solution. Key Vault protects confidential information and secrets. Defender actively monitors the solution components. Azure Policy helps to ensure governance and compliance with standards.
Read more about building secure Azure cloud applications.
Developing an Azure Application
Build and deploy business applications in less time, with more features and better reliability. Azure supports cloud-native and hybrid cloud app development. Close integration with Azure DevOps allows teams to automate the build process and quickly deliver new features.
Migrating legacy applications
Legacy code is often difficult to work with, expensive to maintain and unreliable. Migrating legacy apps to the cloud is an opportunity to address underlying issues. For example, rewriting the code with a modern language, or upgrading the application framework. Perhaps fixing architectural choices that are no longer fit for purpose.
In many cases, migration is possible with only minor changes. Some applications, or parts of a solution, can be migrated to Azure as they are.
Cloud migration can offer quick wins for applications that struggle with on-premises infrastructure. Azure services can deliver massive scalability and are able to support wide variations in traffic levels. On-premises infrastructure may need to be scaled for the worst-case scenario. Cloud infrastructure can scale up and down on demand.
Some Azure services are particularly well suited to legacy app migrations. Virtual Machines can often run code from on-premises applications and databases without change. A phased approach can be a step towards solution redesign and more flexibility for the future.
Building new cloud-native applications
Azure services are an opportunity to add new features that were impossible to imagine - or too complex to build on-premises.
Always-on, geographically distributed applications were, until recently, reserved for the largest of enterprises. Only those with the deepest pockets could consider solutions with near real-time analytics or deep learning. Azure can deliver innovative solutions in a fraction of the time. And at much lower up-front and ongoing costs.
Machine learning, predictive analytics, rich user experiences and artificial intelligence are within reach for all of us. We can all enhance our customer journeys, up-sell, and predicting fraud risks while the customer is active.
Create innovative AI solutions
Existing business systems can be enhanced with AI and ML services in Azure. Legacy on-premises applications and databases can connect to Azure-hosted cognitive services and ML models. New applications can be enhanced to include innovative new features that build on top of Azure services.
Everyday applications gain new powers from the massive scale that Azure services can offer.
Securing cloud applications
Protection of on-premises apps is often with "perimeter" defences such as firewalls and corporate VPNs. Or at least, that's the idea. Modern threats can occur from within the company network and exfiltrate data on behalf of an attacker. Data loss can cause loss of customer trust, reputation damage and large fines.
Cloud applications are vulnerable to a wide range of threats, some similar to on-premises attacks and some that are novel. As with all security, a defence-in-depth strategy with multiple layers has benefits. Data and services hosted in the cloud are naturally viewed as being more open, so network defences are essential. Equally important are code and platform security. Finally, threat detection and alerting play important roles.
Get a free quote from our Azure experts
We specialise in creating Azure solutions that deliver on time and on budget. We build new cloud-native software, migrate legacy business applications, and work with enterprise development teams to grow their Azure knowledge.
As a Microsoft Partner and ISV, we help teams understand the potential, identify the pitfalls and reach their goals.
To find out more, please contact us...
Viewpoint BI is powered by HR-Fundamentals ltd. © HR-Fundamentals ltd.
Registered in England and Wales, number 0561 5583.
20 Market Place, Kingston upon Thames KT1 1JP