Static Web Page with Buckets in Cloud

In the old days, you will need to setup a web server in a physics server to host a static web site. You will also need an domain name or public IP for your website to be accessible via the public internet. Do you know that you can quickly setup a simple static web page using bucket storage in Cloud?

How to Setup Your Simple Web Page in Bucket

This architecture setup is common to most cloud platforms. Usually, we called the object storage buckets.

  1. You can upload your static web pages into the buckets.
  2. If you have css or JavaScript folders, you can create them under the folders in the same buckets.
  3. Remember to grant private access for all objects within the buckets.
  4. Get the private url link for your web page and your static website is ready for viewing.

If you face errors in this setup, you can check for these common mistakes below:

  • Missing or incorrect grants to object access within the same bucket.
  • JavaScript or css errors in the files. You can use console log to check the errors.
  • CORS (Cross-Origin Resource Sharing) if you are embedding your static web pages in another website.
  • Wrong relative linkage of css and JavaScript folders.

You can easily setup static website without having to go through domain or server setup. This is useful for quick deployment of web page or static website. End users without in depth technical knowledge can also set this up as well.

Cloud Agnostic

Cloud agnostic is one approach adopted for multicloud strategy. You will need to utilise open source technology and not dependent on cloud providers. This allows your technology stack to easily switch or migrate to other cloud providers. In a way, this means you are cloud independent and not locked to a particular cloud providers.

Journey to Cloud Agnostic

The ability to be cloud agnostic is a long journey. There are growing number products that allows you to deploy in different cloud platforms e.g. WordPress. These products have leverage on open source and they are interoperability for different cloud platforms. On the other hand, your proprietary applications will be challenged to be cloud agnostic.

A View To Be

If you are at opting for multicloud managment, it is time to factor your applications for cloud agnostic. Allowing your services to be cloud agnostic will take a lot of efforts. You will need to consider on the extend of conversion required before you can embark on this journey. However, you need to bear in mind that not all applications can be cloud agnostics.

Cloud agnostic is a challenging vision if you have different technology stack. You will realise that some applications cannot be cloud agnostic.

Freemarker Reserved Characters

Freemarker syntax has some reserved characters like other programming languages. This will cause unnecessary debugging when you find errors happening without reasons. So, one of the checks you need to do is to check for reserved characters in your variable naming.

Reserved Characters to Note

These are the reserved characters you must take note in your naming of variables.

How can I use variable names (macro name, parameter name) that contain minus sign (-), colon (:), dot (.), or or other special characters?

Source: Freemarker FAQ

Freemarker will not read the variable correctly if there is a special characters like “events-id”. You will be getting errors for Freemarker even if your syntax is correct.

How to Fix

These are some recommended solutions to fix them.

  • Remove the special characters.
  • Escape the characters with slash. “events\-id”.
  • Enclosed the variables with square brackets [“events-id”]
  • Assign the variables to your local variable name.

Freemarker is fussy with some of the reserved characters in variables naming. You need to take care not to include this when you name your variables. The easiest solution is to change the variable name. If the variable name cannot be changed, it is recommended to try other solutions to fix the name. My preferred solution will be assignment of the variable to my local variable name is the next best choice.

Application Customisation is Costly

The high customisation cost in turnkey project is driving many organisations to look to Cloud product. Another major factor is initial sunk cost for customised application. On the contrary, cloud costing model is “pay as you use”. Thus, there is little incentives to look for turnkey application.

Time to Change

In the past, applications are designed to conform to internal business processes. It is common to find different SOP (Standard Operating Procedures) within a business unit. Fast forward to present, best practices are built into product. Existing SOP will need to change to adapt the best practices.

Exponential Cost of Customisation

Customisation cost will grow exponentially because SOP have become unique and non-standardised. Software and skillset have become locked in and face the possibility of being outdated. You will either need a refresh of technology stack or removal of customisation to stay relevant.

It is time to consider a standard product stack on a cloud platform. You will need to house your customisations in a separate logical compartment. That way, you can minimise your customisation costs and leverage on the advantages of Cloud.

ORDS 101

ORDS (Oracle REST Data Services) is a cool feature to extend your Oracle database for integration via HTTPS. It will change and digital transform the way you interact and integrate to applications. This is why you need to enable ORDS for your database for future API.

Why Change to REST?

REST is changing the way applications can quickly communicate with each other. It is much simpler to setup than SOAP/XML. In a way, it can replace many of legacy integration with XML and flat file. ORDS helps to enable access via RESTful web services to data and stored procedures in your Oracle database.

Time to ORDS

Another key advantages of ORDS is security and real time performance with your Oracle database. The REST API endpoints are quick and simple to setup. The quick deployment reduces traditional integration method by eliminating the need of complex middleware setup. JSON format and paged results helps to support the ease of data responses.

If you are using Oracle database, it is time to ORDS and enable your REST capabilities. This will digital transform your integration method for other applications and agile your development.

A Useful Cloud Template

If you are dabbling in cloud, you will find that there are a few key cloud design model. I find that these standard design cloud architecture are useful templates. These templates can help developers to set up this quickly without the help of infrastructure or security experts. One key cloud template is a pair of public and private subnet in a virtual network with a gateway.

Security Model

Developers want to deploy the infrastructure quickly without worry of security. The design model of private and public subnet protects the access of sensitive data and components. This model is now easily template like AWS Cloudformation. If you are reviewing cloud template, do look out template like this to address security requirements.

Standard is Good Maintenance

Standard design model makes good maintenance for all support. Thus, the template makes developers to conform design pattern. This makes it suited for support like DevOps or Agile approach. Therefore, creation of common template leads to a standardisation of application infrastructure.

One of the most useful cloud templates is the deployment of private and public subnet with a gateway. This simple model can cater to many applications and and conform to security concerns. It also helps in the standardisation of your application architecture and enable your DevOps capabilities.

Serverless 101

Serverless is a great concept for Cloud. It really abstracted the infrastructure and let the developers focus on application. It is also build on the model of on-demand or “pay as you use”. This really change the development approach to a focus on coding and simplify the deployment of backend services. Conceptually, the idea is great. However, organisations are not quick to embrace and digital transform to serverless. A key reason is understanding of serverless and how to make the switch.

What is Serverless?

Serverless literally means “no server”. Developers build applications on abstraction layers like containers or dockers. The focus is shifted to coding and cloud providers will handle the servers like maintenance, capacity, high availability or fault tolerance. Effectively, your codes only consumes resources when in usage. Some called this FaaS (Function as a Service).

Barriers to Serverless

Serverless concept is a major part of digital transformation. This is because it disrupted your legacy infrastructure and application development model. Most organisations do not have switch because of change required to transform existing legacy coding for serverless. In addition, there is a lack of understanding on how serverless can bring benefits. Of course, you will also need to understand which applications are suited to serverless approach.

Serverless is a part of digital transformation and it is not possible to avoid this step. You will need to understand and determine the advantages of serverless and what it could bring to your development team. A way you can do so is to start small and pilot simple functions on serverless.

Chatbot Team

After months of Chatbot review, I find that NLP (Natural Language Processing) development is a different ball game. These are some skillset that you may want to consider to build your Chatbot team.

A new Paradigm

Chatbot is a new paradigm. Thus, it will take experienced developers to change and gat used to this approach. You will need to find someone who is patience and willing to redesign from a user centric approach. An entrenched mindset will be difficult for development of Chatbot.

Right Fit not Right Skills

If you are building a Chatbot team, do look for aptitude instead of someone with good technical skills. Thus, a person who is interested to Chatbot development is a better fit. Technical skills can get obsolete but a person who have the right learning mindset will grow with Chatbot.

Chatooth development is a new paradigm and faces resources issues in filling these roles. You should aim to build a team who is dedicated to grow and champion the usage of Chatbot. If not, it will remain another white elephant as time goes by.

Cloud Security 101

Cloud security is a standard model for many cloud platform. This can be easily deployed with wizard in many cloud platform for the virtual cloud network. If you are new to Cloud, you may need to know some basic Cloud security first.

Cloud Segregation

The basic security for cloud is data segregation. Data are secured by limiting exposure and restricted by user roles and security policies. Standard wizard network will split between private and public subnet. Most components should be within private subnet and restricted to a single access point. The plus point of cloud is that many of infrastructure security will be handled by cloud providers if you are using PaaS or SaaS.

Identity Security

If you are not using IaaS, majority of cloud efforts will be spend to maintain and design identity security. Identity Management is usually a common product provided by major cloud providers. The ease of integration and availability of single sign on remains the preferred choice for developers.

The basic of Cloud security is divided to cloud segregation and identity security. These are the standard security model that you will encounter if you are new to Cloud. The configuration of security is still not user friendly and it still required some basic knowledge of security to appreciate these security approach.

Cloud Assessment Approach

One of the most common Cloud Challenges are customisation on premise application. Many assessment done to existing on premise will reveal these reasons why you should not move to Cloud. However, the assessment approach has been done incorrectly. Instead, it should be telling you on how you need to move to Cloud.

We find what we want to see

A good cloud assessment approach will not be one sided. It should have a balanced data and strategy to give the reader the right materials to make a decision. This is to prevent the bias of “finding what we want to see”. It is common to reason that heavily customised application to remain on premise instead of moving to Cloud. Vice versa, findings often point that Cloud should only handle lightly customised application.

Strategy to Cloud

As products move to SaaS, users will be forced to move customised applications to Cloud. It is important to provide strategy on how to migrate the customised applications. Many Cloud assessment will use Big Bang approach to review if the application can move to Cloud. You should also request for other strategy to be included in your Cloud assessment approach like phase transition or pilot migration.

Cloud assessment approach is often bias and skewed towards Big Bang migration approach. You should consider for other migration strategy when you are conducting your Cloud assessment. Thus, this will provide you a better picture to decide if you can migrate to Cloud.