Codebase – One application one code base. Configuration should not be part of your application code. Dependencies – Application must supply its dependencies than relying on environment to provide. Configuration – Everything that changes should be declared outside code. User environment variable for configuration. Backing Services – Backing services are external resources and should be […]
Susheel Kumar
Blogs from this Author
How Restful Is Your API?
The Richardson’s Maturity Model (RMM) was developed by Leonard Richardson. It classifies REST-based Web services and REST principles they should depend on. Level 0 – Services under this category use http as a transport mechanism against single URI. Typically, HTTP POST is used to make service calls. For e.g. SOAP or old XML-RPC Level […]
API Security: Common Threats and Considerations
Common API Threats: spoofing, tampering, repudiation, denial of service, unauthorized access, confidentiality violation API Security Considerations: Identification – Know Your Consumer The common approach to implementing this is using API keys, which are nothing but randomly generated values that will vary for each consumer. Authentication – is Consumer Authentic User-Password over SSl/TSL: the API consumer will be providing a user […]
8 Benefits of Microservices
Microservices are small, independent services that work together. In other words, these services are small, highly decoupled and focus on doing a small task at a time. Follow the Single Responsibility Principle Resilient/Flexible – failure in one service does not impact other services. If you have monolithic or bulky service errors in one service/module it […]
How to do API Versioning
1- URL based versioning Easy and very common way to version api is to include version no in api url. For e.g. http://myapi/v1.0.0 , http://myapi/v1.0.1 Easy to use and identify different version by looking URL. Over time need to maintain various urls 2- Using query param Another easy to use startegy for api versioning For […]
What is Service Virtualization and Why Do We Need It?
Service Virtualization emulates the behavior and data of dependent systems such a way that represents the dependent system without any constraints, thus allowing software to be developed and delivered faster, with lower costs and higher reliability. Before Virtualization: After Virtualization: Constraints which affect development and testing at various SDLC phases: Dependent component/services still not completed Dependent […]
Private APIs Vs Public APIs
Private APIs : APIs which are used within organization to build apps. Apps built on private APIs can be used inside organization or released to public using various channels like company site, app store. Partners can use private APIs to build apps. Private APIs enable faster business integration with partners. Avoid dependency on external APIs […]
Top 10 Reasons Why You Need API
1. First things first: Not having an API today is like not having a website in the ’90s. 2. Spread your wings – reach more channels and devices that you can imagine. 3. You need it because your competitor has it. 4. Collaborate with you partners more closely than ever. 5. New revenue opportunity as you […]