Take a peek on what projects we've worked so far - here you can find extensive information
about several projects in which we described the objectives, the challenges and the results.
Business needs
The need to improve banking services and solutions was imperative for this organization, as traditional IT architecture was simply not enough anymore to keep up with the on-growing demands of an internal development team which was working in a very agile manner.
As the cloud-native application was intended for millions of users, it was clear that availability and performance were the main priorities and that necessary resources should be available at any given time.
1) Azure PaaS
Being cloud-native offered the application the chance of being developed on Platform Services inside Azure, as these bring more agility and flexibility when it comes to the cloud. Instead of traditionally hosting the application on servers/Virtual Machines, services like App Services, Functions, PaaS Databases, Event Hubs and API Management are leveraged.
App Services offers the perfect solution of managing the needs regarding availability and performance - setting up correctly calculated auto-scale setting ensures that the application will be up and running at any given point, no matter how many users will access it or how much traffic will it need to hold.
Azure Functions serves perfectly for situations where actions are event-driven. This serverless compute platform solves complex orchestration problems, being automated and being flexible scaled based on the workload volume.
API Management helped the organization to publish APIs to internal developers to unlock the potential of their data and services. Each API consists of one or more operations, and each API is added to one or more products. To use APIs, developers subscribe to a product that contains that API, and then they can call the API's operation.
2) Azure DevOps
In an agile environment, flexibility is also key. An Azure DevOps strategy was employed to automate the current build and deployment process. The team built a robust Azure DevOps governance program with measurable KPIs.
To reduce deployment time, continuous integration (CI) and continuous delivery (CD) was leveraged so that teams have more time for testing and quality control issues. Through CI, developers integrate code into a shared repository several times a day, enabling quick error detection and mitigation. With CD, teams produce software in short cycles, helping reduce time and risk of delivering changes.
Azure DevOps also allowed faster and flexible deployment to different environments (Dev/Test/Prod). Internal standard protocols regarding permissions and approval flows were implemented so that project managers will always be in control of new deployments or releases.
Tracking work proves now to be more efficient than ever by leveraging configurable Kanban boards, interactive backlogs, and powerful planning tools. Unparalleled traceability and reporting make now Boards the perfect home for all new and existing ideas.
Benefits
Developing the application in a cloud-native way using PaaS services proved to be the best solution, as the power of Azure with Platform services can easily ensure instant scalability and flexibility. The application can serve just a few hundred or up to millions of users, assuring that it will always be paid just for what is it used as infrastructure. No cost is spent for unnecessary infrastructure, thus assuring the perfect resources at any given time.
Azure DevOps increased the agility significantly, demonstrating faster software development and deployment at lower cost and higher quality, when comparing to other similar, but traditional solutions . The release cycle is now faster as compared to existing release cycles from other on-prem based projects. Application downtime for the releases is minimal. This solution significantly upgraded software delivery lifecycle, increasing delivery speed, improving quality and driving down costs.