Showing posts with label rest. Show all posts
Showing posts with label rest. Show all posts

2 March 2016

Intelligent Office Services

Setting up a business should not be a chore. However, there are a lot of different areas of an organization that are required for a smooth running of a business operation. Key elements can range from human resources, sales and marketing, administration and IT support, operations, public relations, security, finance, logistics, legal and compliance, and so on. Cloud computing has enabled businesses to outsource many of their core organizational functions to third-parties with less human capital requirements. Perhaps, in time businesses may become more agile making it more accessible to run profitable ventures. Intelligent agents can also add significant value towards automation of the daily processes of a business environment. Having an entire business run in the cloud is not yet a reality for small businesses. However, this is likely to take on even further with Internet of Things and especially with start-ups which may not have the initial capital outlay to manage their core business functions. Amazon Web Services and Salesforce are examples of cloud enabled services that provide some aspects of what businesses require. But, they do not offer a synergy for an entire business which may drive more cost savings. From Software as Service, to Data as a Service, to even Office as a Service could be possible. The cloud itself can drive sales, incorporate lead generation, and connect businesses as well as customers. Hence, an entire business could turn into a one person managed organization that can facilitate the flexibility for growth for the future and yet meet its financial obligations. Office as a Service could also be a potential area for the cloud. One stop cloud shop could include services ranging from essential office software like: document, diary, forms, design, presentations, reports, sheets, refining, email, and website all of which are available on Google Docs to some respects. This could then be extended to provide core business services like: auditing, logging, human resources, CRM, social marketing, collaboration, accounting, communication, metrics, business document templates, visualization, sms/paging, risk management, compliance, finance, analytics, feedback/survey, service management, internal corporate linked data, storage abstraction, amongst other functions in a service-oriented or microservices architecture. On top of this could include additional specialized add-on services. This could even incorporate disaster recovery and technical debt management. Public and Private cloud offerings could also be possible depending on business requirements. Why recruit staff and pay for an office space when one can have an entire business run by itself from the cloud.

16 October 2015

Startup Stacks

It is always interesting to see what types of technology stacks are being used by startups especially of the ones that have been successful. Compared to enterprises, startups can often times have nominal legacy code and are open to trying out new approaches with bleeding edge technology. The below link sheds some interesting view of what technology stacks are being used by various startups in the industry and to get an idea of the trends across the different tools and services.

3 October 2015

Microservices Monitoring

Breaking down a system into more granular services guided by the single responsibility principle does have multiple benefits of bounded context. However, it can also add a degree of complexity that requires more extensive monitoring. With multiple services interaction in a distributed systems context implies multiple log files and a need to aggregate them as well as multiple places for network latency issues to arise. One simple approach is to monitor everything in the entire workflow of the services as well as the system as whole but at same time try to get the bigger picture through an aggregation process. Also, add structure to the logs by utilizing correlation IDs which can then provide a guided trail. The need to be responsive can also be important so real time alerting may also be needed in order to avoid cascaded issues. One can abstract away the service from the system for a monitoring strategy.  The current trend towards monitoring is in a holistic way to get the full picture of the entire system including all its sub-systems as well as all the services interaction within it. A break down of the types of things that can be monitored and examples of tools is given below.

Service-Level Tracking:
  • check inbound response times, error rates, and application metrics
  • check downstream response health, response times of calls, error rates (Hystrix)
  • standardize metrics collection process and pipelines
  • standardize on logging formats so aggregation is easier
  • check system processes for the OS in order to plan for capacity

System-Level Tracking:
  • check host metrics like CPU
  • check system logs and aggregate them so it is possible to filter on individual hosts
  • standardize on single query option for searching through logs
  • standardize on correlation IDs
  • standardize on an action plan and alert levels
  • unify aggregation (Riemann or Suro)

Logstash and Graphite/Collectd/Statsd are also often used in conjunction for the collection and aggregation of logs. One can also apply the ELK stack. The Java Metrics Library can also be utilized to get insights of code during production. There are other tool options available like Skyline and Oculus for anomaly detection and correlation. 

22 October 2014

Readium

While ereaders all have proprietary and license restrictions in some ways, Readium, is one promising open source option for many. The solution comes in two modes. One option is via the cloud and the other through the SDK. Although, the project is still in its infancy it is rapidly taking shape for EPUB3. Building even flexible native applications for the mobile can be an option. The project even looks so far as to integrate DRM across all domain contexts not just for ebooks. Content in all its shapes and forms needs to be open for all. It serves no purpose having so much content closed for access as the more available content is the more digital marketing one can attain from building the brand as well as consumer demand. Premium content doesn't have to be so restricted from extension and access. Content and Web APIs can provide the key to unlocking much of the data that publishing companies hold dear with additional revenue streams for more productive and flexible products. Even using standard HTML5 and PDF options can provide much benefits yet untapped.

30 September 2014

Publisher Content APIs

While ereaders are taking of in market, it seems only natural that publishers start opening up their content. Content APIs should be an attractive option for many publishers.  And, yet many appear to not avail such an option as part of their revenue model. Almost anything can be turned into a Content API. Content APIs can take many forms and include premium mashups that could be made available over the Apple AppStore or Google Play. Even providing a flat subscription pricing model over access to all ebooks is an attractive option for many readers and potentially an option for publishers too. As publishing for physical books alone is gradually becoming a dwindling business, many look for opening up new avenues for opportunities within their business streams. It is inevitable that publishing companies will need to look for alternatives to explore and widen their reach to survive in the competitive marketplace. Amazon has also made it difficult for many publishing companies to survive. One area where publishing companies are still going strong is in the lucrative education and research market. Ereaders not only need to be able to support many file formats but also multiple platforms. Even types of content needs to be flexible from magazines, comics, maps, to ebooks. Ereaders also need to provide premium features on top of just standard such as touch sensitive interfaces, collaborations and sharing, semantic tagging and annotations, bookmarks, outlines, light viewer, API customizations, audio support, as well as several other options. The drawback to physical books is usually that they go out of date, readers can also lose interest after having read it a few times, and it can cost a lot more as well as require the use of paper. Ebooks are convenient, flexible and as a result have become a phenomenon. However, the area for such ereaders is likely to also evolve into more flexible and rich environments. Publishers need to embrace the change or risk losing valuable business to a competitor that grabs the digital opportunity. 

9 September 2014

API Design

API designs have emerged into formal data model approaches. They may formally define the APIs using markdown or JSON, allowing one to describe the interfaces and models. In this manner, it facilitates communication, provides a way to mock API designs, test a specification, as well as have a maintainable documentation. In a semantic web scenario, JSON-LD may even provide a more formal approach for understanding linked resources in a flexible manner. A few popular API design approaches are mentioned below.
  • API Blueprint - life cycle documentation of APIs with plenty of tooling
  • Swagger - A specification framework for producing, describing, consuming, and visualizing services with active documentation.
  • RAML - a modeling language for RESTful services for describing APIs in a formal way for reuse, discovery, sharing, as well as utilizing extensible best practices.
  • HAL - easy way to hyperlink between resources in APIs using hypermedia

16 August 2014

Rest.li

Rest.li is yet another Restful approach to development which provides a holistic view to an entire end-to-end architecture. It has been developed by the Linkedin engineering team. The features are so rich that even a directed link to their site can provide an entire informational spectrum of documentation.

RESTX

RESTX is a relatively new and interesting approach to Restful API. It up scales on performance by utilizing a custom built dependency injection container. It also provides a feature rich as well as modular approach to pluggable development for meeting the flexibility needs of any business domain requirements. There is even a useful API docs built in, as well as developer friendly testing and an admin console. There is also a very unique integration with MongoDB. Although, it does not limit one to a specific backend.